DIy Arduino FM radio enclosure with the lid off, showing the electronics inside

DIY Arduino Due TEA5767 FM Radio

Older hackers will remember that a crystal set radio receiver was often one of the first projects attempted.  Times have changed, but there’s still something magical about gathering invisible signals from the air and listening to the radio on a homemade receiver. [mircemk] has brought the idea right up to date by building an FM radio with an OLED display, controlled with a rotary encoder.

The design is fairly straightforward, based as it is on another project that [mircemk] found on another site, but the build looks very slick and would take pride of place on any hacker’s workbench. An Arduino Due forms the heart of the project, controlling a TEA5767 module, an SH1106 128×64 pixel OLED display and a rotary encoder. The sound signal is passed through an LM4811 headphone amplifier for private listening, and a PAM8403 Class D audio amplifier for the built-in loudspeaker. The enclosure is made from PVC panels, and accented with colored adhesive tape for style.

It’s easier than ever before to quickly put together projects like this by connecting pre-built modules and downloading code from the Internet, but that doesn’t mean it’s not a worthwhile way to improve your skills and make some useful devices like this one. There are so many resources available to us these days and standing on the shoulders of giants has always been a great way to see farther.

We’ve shown some other radio projects using Arduinos and the TEA5767 IC in the past, such as this one on a tidy custom PCB, and this one built into an old radio case.

Continue reading “DIY Arduino Due TEA5767 FM Radio”

Programmable Resistance Box

For prototype electronics projects, most of us have a pile of resistors of various values stored somewhere on our tool bench. There are different methods of organizing them for easy access and identification, but for true efficiency a resistance substitution box can be used on the breadboard to quickly change resistance values at a single point in a circuit. Until now it seemed this would be the pinnacle of quickly selecting differently-sized resistors, but thanks to this programmable resistor bank there’s an even better option available now.

Unlike a traditional substitution box or decade box, which uses switches or dials to select different valued resistors across a set of terminals, this one is programmable and uses a series of sealed relays instead. That’s not where the features stop, though. It also comes equipped with internal calibration circuitry which take into account the resistance of the relay contacts and internal wiring to provide a very precise resistance value across its terminals. It’s also able to be calibrated manually to account for temperature or other factors.

For an often-overlooked piece of test equipment, this one surely fits the bill of something we didn’t know we needed until now. Even though digital resistor substitution boxes are things we have featured in the past, the connectivity and calibration capabilities of this one make it intriguing.

Pocket Radio Powered By Tiny Microcontroller

Before the days of MP3 players and smartphones, and even before portable CD players, those of us of a certain age remember that our cassette players were about the only way to take music on-the-go. If we were lucky, they also had a built-in radio for when the single tape exhausted both of its sides. Compared to then, it’s much easier to build a portable radio even though cassettes are largely forgotten, as [wagiminator] shows us with this radio design based on an ATtiny.

The build is about as compact as possible, with the aforementioned ATtiny 402/412 as its core, it also makes use of an integrated circuit FM tuner,  an integrated audio amplifier with its own single speaker, and a small OLED display. The unit also boasts its own lithium-polymer battery charger and its user interface consists of only three buttons, plenty for browsing radio stations and controlling volume.

The entire build fits easily in the palm of a hand and is quite capable for a mobile radio, plus all of the schematics and code is available on the project page. While it doesn’t include AM capability, just the fact that FM is this accessible nowadays when a few decades ago it was cutting-edge technology is quite remarkable. If you’re looking for an even smaller FM receiver without some of the bells and whistles of this one, take a look at this project too.

The blue LEGO brick described, with the OLED inside shining through the 3D-printed and subsequently cast brick body. The picture on the small OLED imitates the lines of text shown on the brick that this is an imitation of.

Computer-Shaped LEGO Brick Brought To Life

In childhood, many of us wondered — wouldn’t it be cool if our miniature toys had “real” functions? Say, that our toy cars actually were able to drive, or at least, that the headlights could light up. [James Brown] captures some of this childhood expectation of magic, recreating the 2×2 45°-sloped Lego bricks with computer screens and panels drawn on them by building a LEGO brick (thread, nitter) with an actual display inside of it.

This is possible thanks to an exceptionally small OLED display and a microcontroller board that’s not much larger. It’s designed to plug onto a LEGO platform that has an internal 9V battery, with power exposed on the brick’s studs. [James] has taken care building this — the brick was built with help of a tiny 3D-printed form, and then, further given shape by casting in what appears to be silicone or resin.

We’ve yet to hear more details like the microcontroller used — at least, the displays look similar to the ones used in a different project of [James]’, a keyboard where every keycap has a display in it (thread, nitter). Nevertheless, it is lovely to witness this feat of micro-engineering and fabrication. It reminds us of an another impressive build we covered recently — a 1/87 scale miniature Smart Car that’s as functional as you can get!

Continue reading “Computer-Shaped LEGO Brick Brought To Life”

A Breath Of Fresh Air For Some Arcade Classics

It’s said that good things come in small packages, which is hard to deny when we look at all the nifty projects out there that were built into an Altoids tin. Now, if that’s already true for the regular sized box, we can be doubly excited for anything crammed into their Smalls variety ones, which is what [Kayden Kehe] decided to use as housing for his mintyPico, a tiny gaming console running homebrew versions of Snake, Breakout, Pong, and a few more.

As the “Pico” might have already given away, the project is built around a Raspberry Pi Pico board, and being intended as portable device, [Kayden] went with a version that also houses LiPo battery charging circuitry. A set of 3d-printed parts pack the board along with a matching battery and a button panel neatly into the tin itself, while a size-appropriate SSH1106 OLED goes into the lid. All design files along with the MicroPython code of the games can be found on the project’s GitHub page.

You may have felt this strange sense of familiarity when you read the project’s name, and indeed, the mintyPi gaming console was a major inspiration for [Kayden] here, as was the Pico Snake project. Considering this was his junior year high school project, this is certainly an impressive and nice mash-up of those two projects.

Continue reading “A Breath Of Fresh Air For Some Arcade Classics”

Console Macropad Uses SD Cards For Stylin’ And Profilin’

Macropads are great to have around for hotkey input, but things can get out of hand pretty quickly when you realize just how many shortcuts are in your life. To avoid ending up with another keyboard-sized keyboard, some hackers will use a handful of switches and a lot of layers to turn a few keys into many. And instead of worrying about legends, they use blank keys and leave the labels to be displayed on some kind of screen.

Among them is [QCJ3], who built this nifty little console-style macropad. Uninterested in managing microcontroller memory, [QCJ3] went the tangible route and loaded various profiles onto a micro SD card. Each text file on a given card holds a label, a color for the keyswitch LED, and of course, the keystrokes that make up the macro itself.

There are myriad ways to build a macro pad, from designing with bare chips (if you can get them) to programming a pre-built key matrix.  Grab the files if you like the console look and call it a day, or build a completely new enclosure that fits your hand exactly. Whatever you build, consider entering it in our brand spankin’ new Odd Inputs and Peculiar Peripherals Contest, which runs now through July 4th. If you need more inspiration, just peep the projects under macropad tag, or peruse the much heftier keyboard tag.

Via KBD

An 128x64 OLED display with a weird image on it, showing a mouse cursor, date and time in the bottom right corner, and a whole lot of presumably dithered dots

Making Your Own Technically-HDMI OLED Monitor

One day, [mitxela] got bored and decided to build his own HDMI monitor – the unconventional way. HDMI has a few high-speed differential pairs, but it also has an I2C interface used for detecting the monitor’s resolution and issuing commands like brightness control. In fact, I2C is the backbone for a lot of side channels like these – it’s also one of our preferred interfaces for connecting to cool sensors, and in this case, an OLED display!

[mitxela] describes his journey from start to end, with all the pitfalls and detours. Going through the pinout with a broken hence sacrificial HDMI cable in hand, he figured out how to probe the I2C lines with Linux command-line tools and used those to verify that the display was recognized on the HDMI-exposed I2C bus. Then, he turned to Python and wrote a short library for the display using the smbus bindings – and, after stumbling upon an FPS limitation caused by SMBus standard restrictions, rewrote his code to directly talk to the I2C device node, raising FPS from 2 to 5-10.

From there, question arose – what’s the best software route to take? He tried making a custom X modeline on the HDMI port the display was technically attached to, but that didn’t work out. In the end, he successfully employed the Linux capability called “virtual monitors”, and found out about an interesting peculiarity – there was no mouse cursor to be seen. Turns out, they’re typically hardware-accelerated and overlaid by our GPUs, but in [mitxela]’s case, the GPU was not involved, so he added cursor support to the picture forwarding code, too.

With partial refresh, the display could be redrawn even faster, but that’s where [mitxela] decided he’s reached a satisfactory conclusion to this journey. The write-up is a great read, and if videos are more your forte, he also made a video about it all – embedded below.

We first covered the ability to get I2C from display ports 14 years ago, and every now and then, this fun under-explored opportunity has been popping up in hackers’ projects. We’ve even seen ready-to-go breakouts for getting I2C out of VGA ports quickly. And if you go a bit further, with your I2C hacking skills, you can even strip HDCP!

We thank [sellicott] and [leo60228] for sharing this with us!

Continue reading “Making Your Own Technically-HDMI OLED Monitor”