Tiny E-Paper Display Delivers 30 FPS Of Game Boy Fun

Slow refresh, ghosting and low-contrast — wait, are we talking about passive matrix LCDs, or e-paper displays? That might be why e-paper Game Boy emulators are a thing: the limitations of the black-on-grey e-paper screens remind us of the grey-on-green LCDs Nintendo used in the 80s. In this case [Bo Made It] made it out of a Waveshare ESP32-S3-ePaper-1.54, and got 30 FPS from it. 

Now, regular readers might be thinking, “So, we’ve seen the 60 FPS e-paper monitor, how is this special?” It’s a fair question. The answer is that [Bo] is doing this on a randomly chosen dev board with a built in wavetable e-paper controller, rather than the bare inputs that allowed the [Wenting Zhang]’s project to work. On the other hand, [Bo] does credit [Wenting], particularly his e-ink PaperBoy project, with directly inspiring both the project and his implementation.

Again, the big difference is going through the blob of the controller, but it turns out you can still address individual pixels through it. [Bo] gave each pixel a ‘budget’ for up to 8 pulses it depending on how much it needs to change, speeding things up immensely. Our favorite part is how he achieves the Game Boy’s 4-bit greyscale by, in effect, deliberately ghosting the display. Pixels aren’t driven long enough to fully flip them if they’re going only one shade lighter or darker. This complicated matters, since going from black to ‘white’ now takes longer than ‘white’ to the next darker grey, and the exact timing needs to be worked out for each color transition. Getting that timing right took a lot of calibration, and we like how he used video to help automate the process.

That process is still ongoing, so there’s no GitHub link yet. [Bo] will open source everything when it’s ready, and we look forward to it. We also look forward to the PDA-like device he’s going to be using this display driver for. If this all sounds similar to a recent 20 FPS e-paper hack, that’s because it’s the same underlying technology.

Continue reading “Tiny E-Paper Display Delivers 30 FPS Of Game Boy Fun” →

The World’s Smallest TV Console Plays DOOM

We’ve seen plenty of game console projects here, many of them that seek to produce a miniature game console. But this one from [RayTriangle] may break a new barrier entirely — it fits an entire TV game console that plays DOOM, including the battery, into a TV antenna plug.

There’s a type of antenna plug with screw terminals, originally intended for matching 300 ohm balanced feeder to 75 ohm co-ax. It provides a tiny project box if you look at it that way, and it’s in here that the console sits. It’s an ESP32-S3 that talks to a controller via Bluetooth, and he’s gone into some detail on how the RF for the TV is made. Some clever tricks such as a look-up table for the phase shifted chroma waveforms for each color allow the creation of a good quality composite signal through a resistor-ladder DAC, and this is modulated in a surprisingly old-fashioned way onto a carrier provided by the ESP’s clock generator.

The result as can be seen in the video below is a bit noisy, but we think that might be fixable with a little filter magic. It’s designed for PAL TVs with a VHF tuner, but we’re guessing some ingenuity could be brought into play to make it happen for UHF or NTSC. The hardware meanwhile is put on two boards either side of the battery, with a flexible PCB joining the two.

It’s true that gaming though an analogue RF input to a TV is probably less common in 2026, but we applaud the ingenuity in getting this into such a small space. For some reason it reminds us of the world’s smallest MIDI synthesizer.

Continue reading “The World’s Smallest TV Console Plays DOOM“ →

Keep That Old Radio Alive With An ESP32

As the legacy AM broadcast bands fade away, what happens to the millions of devices built to receive them? Many of them will go into e-waste, but with a century of radios to choose from, some of them are collector’s items. Vintage tube radios like the ones [GarethDaviesLondon] has would go silent, so he’s made a small AM transmitter to keep them alive.

At its heart is an ESP32-S3, which takes an online radio stream and transmits it through RF generated with a pulse chain on a GPIO. Generating analogue signals from radio to video with a microcontroller is nothing new, but perhaps the more interesting part of this one comes in how he radiates enough from that pin. There’s a 3D printed box with stand-offs designed to take a widely spaced wire coil, which is enough for the vintage electronics to pick up. He makes the point that it may not be legal, but at that power we doubt anyone will notice.

The output on this one is 200kHz for the European long wave band, but we’re guessing a higher medium wave frequency could also be generated. Meanwhile if you are curious about AM, we’ve featured someone having a closer look at it.

DIY Game Console Does It With Optical Discs

Optical media may be dead for video games on the big corporate consoles, but not in [Emmet]’s heart– or on his DIY game console, that he built specifically to use optical media. Not fancy blu-ray or newfangled DVDs, either, but good old fashioned CDs from the Orange Book.

Yeah, he’s not fitting modern AAA flagship games on those disks, but the Intel N150 on the single board computer he’s using isn’t going to power through them, either. That’s fine, though, because there are literally decades of content this machine can handle. That’s why the board is running Batocera, which is a Linux distro tailor-made for retrogaming on x86– and also ARM, but that’s not important here.

He’s using ESP32-S3s to run custom wireless gamepads with BLE, which means he’s got more power in each of them than some of the retro consoles this machine is emulating, but it gets the job done. Unlike some cartridge projects we’ve seen that merely queue up the games, the CDs on this one actually do seem to store the ROM file, along with a shell script to put it in the correct emulator’s library. We might have gone with autorun, but it’s [Emmet]’s console and he’s got it working how he likes.

What really makes this project stand out, in our opinion, is the effort [Emmet] put into custom CD labels and art for the jewel cases. It really makes this feel like an actual game console and not just a PC hooked to a the TV. The 3D printed case doesn’t hurt in that respect, either.

Be it from a nostalgia, as in this project, a need for cheap storage, or the perverse desire to hook it to an NES, optical media seems to be having a bit of a moment. Speaking of moment, we’re going to have to take a moment to come to grips with the fact that CDs have become nostalgic. Didn’t they just replace vinyl?

Continue reading “DIY Game Console Does It With Optical Discs” →

The many polygons of Solid Snake on an ESP-driven LCD

Metal Gear Solid Moves From PlayStation To ESP32

If you haven’t heard of Metal Gear, you probably haven’t played video games these last few decades. The original Metal Gear dates back to 1987 and launched on the MSX, but the real rise to fame probably started with Metal Gear Solid on the original PlayStation in 1998. What needed a hefty console in 1998 can comfortably fit on a microcontroller in 2026, though, as [David Montero Crespo] demonstrates with his port of MGS to the ESP32-S3.

[David] is — as we always are — standing on the shoulders of giants with this hack. Most specifically, the project relies entirely on the [FoxdieTeam] MGS Reversing decompliation project. Of course what one team decompiles, another can recompile, and in this case [David] chose to recompile the game for Expressif’s exceptional ESP32. It wasn’t quite as easy as just forking the repo and compiling with the ESP32 as a target though, as the blog post explains.

We won’t spoil it, but [David] did have to make some changes to account for the different quirks the MIPS processor in the PlayStation has compared to the Xtensa cores on the microcontroller. Then to make it playable, he put the ESP32-S3 module onto some perfboard with an analog stick from a drone controller, an ILI9341 LCD panel, and a resistor ladder to run the buttons for a barebones handheld.

Fans of MSG and its many sequels may appreciate this replica of the codex communicator. Fans of the ESP32 may remember the Wipeout clone we featured earlier, which already proved the popular microcontroller could handle PlayStation-level graphics. If you were hoping for actual solid metal gears, you can cut your own at home.

Running Linux 6.11 On The ESP32-S3 With A Few Tweaks

With the Xtensa Lx7 twin CPU cores in the ESP32-S3 running at a relatively zippy 240 MHz and accompanying PSRAM of up to 16 MB, you might find yourself wondering whether it could run Linux. As [Paulneja] demonstrates with Linux kernel 6.11, the answer is a ‘yes’, though with the usual caveats.

What complicates matters with the ESP32-S3 is that it lacks certain amenities that spoiled OSes like Linux have come to take for granted, such as a Memory Management Unit (MMU). To deal with this, the NOMMU Linux configuration was used, along with a custom fork() implementation. Although the previous 0.7 version sort-of worked, the current 0.8 release is the first that manages to actually boot reliably and has a usable amount of RAM available after boot.

You can see the comparison between the two versions in the header image, with v0.8 having a blistering 3.7 MB available after booting and with overall resource usage and performance having improved massively. Note that only one core is available to Linux, with the other used by the typical FreeRTOS ESP-IDF stack to provide WiFi and Bluetooth.

This was all run on an ESP32-S3 with the N16R8 configuration, meaning 16 MB Flash that’s also used for writable storage and 8 MB of octal PSRAM. As for practical applications, it’s noted by [Paulneja] that this is a research project, though one could imagine this being an embedded Linux project along the lines of a network router running something like BusyBox.

This Circuit Sculpture Is An ESP32-Powered Console

Expressif might not have intended the ESP32-S3 to become an emulation powerhouse, but that’s certainly what has happened. The little microcontroller seems perfect for recreating the Game Boys or Game Gears of years past, and there are a lot of software options to that end. Having grabbed firmware off a github repo, you still need a physical build to hold, and that’s where this one by [HVT Lab and Huy Vector] stands out.

As you can see, they’re letting everything hang out — not even in a 90s-inspired clear case, but with an open frame of soldered brass, with just a small strip of 2 mm clear acrylic to help stabilize the buttons. That appears to be held with cyanoacrylate glue, but it’s brass and solder doing the majority of the structural work here. We might be a little more confident tossing this lovely device in a bag or pocket if the whole device was boxed in with that acrylic — shorting the exposed power bus on your keys sounds like a bummer — but we can’t argue with the aesthetic vision here. It’s a lovely build on the physical end.

From the video it looks like the software is based on Retro-Go, which we’ve seen in use before. In any case, there are plenty of open source projects you could load onto the ESP32-S3 powering this circuit sculpture, though, from NES to IBM PC.

Continue reading “This Circuit Sculpture Is An ESP32-Powered Console” →