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”

ATtiny85 Snake Game Is A Circuit Sandwich

If there’s any looming, unwritten rule of learning a programming language, it states that one must break in the syntax by printing Hello, World! in some form or another. If any such rule exists for game programming on a new microcontroller, then it is certainly that thou shalt implement Snake.

This is [__cultsauce__]’s first foray away from Arduinoville, and although they did use one to program the ATtiny85, they learned a lot along the way.

It doesn’t take much to conjure Snake with an ’85 — mostly you need a screen to play it on (an OLED in this case), some buttons to direct the snake toward the food dot, a handful of passives, and a power source.

[__cultsauce__] started by programming the microcontroller and then tested everything on a breadboard, both of which are admirable actions. Then it was time to make this plywood and cork sandwich, which gives the point-to-point solder joints some breathing room and keeps them from getting crushed. Be sure to check it out in action after the break, and grab the files from GitHub if you want to charm your own ‘tiny Snake.

There’s a ton you can do with this miniature microcontroller, and that includes machine learning.

Continue reading “ATtiny85 Snake Game Is A Circuit Sandwich”

Backpack Board For OLEDs Boasts Fancy Features

Back when LCD character displays based on the HD44780 controller were the bee’s knees, a way to make them easier to work with came in the form of “backpack” PCBs, which provided an accessible serial interface and superior display handling at the same time. [Barbouri] has updated that idea with a backpack board that mounts to OLED displays using the US2066 display driver, and provides an I2C interface with powerful and convenient high-level functions that make the display simple to use.

On the software side, the backpack uses this I2cCharDisplay driver project which provides functions like cursor control, fading, display shifting, and of course writing characters or strings. While [Barbouri] designed the board specifically to accommodate Newhaven Slim Character OLED displays, it should in theory work with any US2066-based OLED character display. [Barbouri]’s design files for the Slim-OLED Display backpack board are available for download directly from the project page (link is near the bottom), or boards can be purchased directly from OSH Park.

OLED technology is nifty as heck; we’ve seen some neat tricks done by stacking transparent OLED displays, and even seen OLEDs made in the home lab.