SmallTV Hacking With Surprisingly Little Fuss

We’ve seen the GeekMagic SmallTV line of devices before — these cheap gadgets combine a microcontroller and a display in a little plastic case that can be used to show the time or weather. Powered by either an ESP8266 or an ESP32, the things could easily pass for a hobby build if it wasn’t for their professionally produced enclosures. In fact, we wouldn’t be surprised if GeekMagic lifted the idea from an existing DIY project.

As you might expect we’ve seen several hacks for these devices already, which usually involves replacing the stock firmware. But this latest approach is unique in that you don’t need to mess with the stock software, nor do you need to break out the soldering iron. By leveraging a built-in photo viewer function of the SmallTV [Yongha Kim] shows how you can get the gadget to display pretty much whatever you want.

The trick here is that the image is being generated by a machine on the network, say your desktop or server, and being pushed over to the SmallTV over HTTP. In this example the image is being generated in Python with the Pillow library, and [Yongha] has it showing Claude and Codex usage data, but you could really approach this however you wish.

All you need to do is create a 240×240 image and shoot it over to the device, so you’re free to come up with whatever sort of visuals you’d like. It even supports GIF if you’d like to work animation into it. The content can of course be whatever information you’re interested in showing, and it can be generated by whatever programming language or tool you’re most comfortable with. It’s a fascinating proof of concept, and now that the method has been demonstrated we’re interested to see where the community can take it.

If this all sounds a little too easy for your tastes, don’t worry. There’s a plenty deep rabbit hole you can dive into should you elect to replace the device’s firmware entirely.

AVR Laptop Pushes The Limits Of 8-Bit

If you saw a device that had a laptop form factor playing sound and video, alt-tabbing over to play a game or take some notes, then back to the video — well, that’s normal; that’s what laptops do. If you learned the heart of this machine was an Arduino-compatible AVR microcontroller board, you’d probably do the same spit-take we did. Well, put down your coffee, because [Vladimir]’s AVR Laptop project really is that impressive.

The micro at the heart of this amazing laptop is an ATmega2560. That’s a pretty powerful chip by 8-bit microcontroller standards, but it’s still an 8-bit microcontroller, so getting the FreeRTOS-based system and all of the functions he wants onboard took some careful coding. The ST7920 128×64 monochrome LCD isn’t being driven by any standard library, for example — [Vladimir] built his own driver that does only what he wants. Even in 1-bit color, getting 24 fps video playback was a challenge, especially with sound, and the write-up gets into how that was accomplished.

The code is pending review before release, but we do look forward to seeing how he pulled it all off. In the meantime, we can at least watch it in action in the demo video embedded below.

The vibe of making an 8-bit machine do things you don’t expect to fit in 8 bits reminds us of SymbOS for the Z80. For the sysadmins out there, we’ve also seen an AVR web server.

Continue reading “AVR Laptop Pushes The Limits Of 8-Bit” →

Motion Control Via Belt

[Tolko] wanted to encourage kids to have some physical activity, but noted that they only wanted to play games. That led to BlobJump, a Raspberry Pi-based game sort of like the famous dinosaur runner game. The difference? Your body — or more precisely, a belt worn on your body — is the controller. Your jumping and ducking make your on-screen avatar do the same thing. Watch the video below to see the game in action.

Each belt contains an ESP32-C3, an MPU-6050, and enough rechargeable battery to make it all work. Everything is wireless, of course. We didn’t see any video of the actual kids, so we don’t know how active they were or whether they figured out they could just have a seat and move the belts in their hands. Even so, it looks like a fun game.

We couldn’t help but think that, beyond encouraging activity, this might be a great project to get a kid excited about building hardware and software. You could certainly do worse in that department.

This isn’t a totally new idea, but we liked the execution. If you are truly lazy, you can skip playing the game completely.

Continue reading “Motion Control Via Belt” →

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.

Jet Megatextures Demo For ESP32-S3

Mipmapping is a good way to add a lot more detail to a 3D scene without overburdening the rendering hardware with detail that won’t be seen by the user. This level-of-detail rendering technique was demonstrated on the N64 console hardware a few years ago by [James Lambert] with [Michael Biggins], also known as [PhonicUK], now demonstrating it on the ESP32-S3 using his own Jet rendering engine.

Although level-of-detail rendering really speeds things up, it does also require far larger texture sizes, with [James]’s N64 demo taking up 40 MB of a 64 MB cartridge. To fit it on an ESP32-S3 with 16 MB of PSRAM and no SD card expansion or such the textures were further compressed to use 8-bit indexing, resulting in a mere 5.01 MB of textures.

There’s a demonstration video over on the associated Reddit thread, which shows the camera moving through the scene. Even if not as exciting as the Wipeout port by [Michael] that we previously covered, it does make clear that even without a proper 3D GPU the ESP32-S3 is already a pretty capable gaming machine that can go toe-to-toe with some 1990s consoles.

Continue reading “Jet Megatextures Demo For ESP32-S3” →

A grid of screenshots of various applications on the CYD PDA

Cheap Yellow Display Dreams Of PDA

Everybody loves the Cheap Yellow Display (CYD) ESP32 dev boards, so why not treat yours to a little PDA? That’s right: turn it into a Portable Digital Assistant and relive the glory days of Palm with this project from [sau412].

For those readers who are too young to remember, a PDA was basically a phoneless and cameraless smart-phone, and devices running Palm Corporation’s Palm OS ruled the roost for most of the 90s and early 2000s. [sau412] hasn’t written an emulator or port of Palm OS; rather he’s created his own firmware for the ESP32-based CYD that is inspired by the PDAs of yore, and has many features you’d have expected back in the day. That includes a Gopher browser, to let you check out the undying alternative to the World Wide Web. There isn’t a general-purpose web browser, but there are RSS and Wikipedia readers, and what else do you need? At least you won’t end up doomscrolling.

There are also a passel of games and a BASIC interpreter, and the usual practical things like a calendar, calculator and contact list. Everything from ebook readers to translators, all of it by [sau421]. If you’ve got a CYD kicking around, you could do worse than give it a little PDA. Using the web-based flasher, we had it up and running in five minutes or so, but without an SD card we couldn’t test all the apps.

This is hardly the first ESP32 PDA  that we’ve featured, but leaning into the CYD means it’s the simplest project to replicate.  If you’re jonesing for the original Palm OS experience on more modern hardware, Pumpkin OS can get you going on x86 or ARM.

 

Audio Spectrum Analyzer On An ESP32 Display Board

A slick spectrum analyzer used to be the kind of thing that would have been tricky to include in a DIY project, but as [Mirko “mircemk” Pavleski] demonstrates, a modern microcontroller like the ESP32 can handle the task with nothing more than a display panel and a few passives.

This particular example is built around the CrowPanel 3.5, which combines the powerful microcontroller with a 480×320 touch screen LCD. But there’s nothing inherently special about the CrowPanel, and you could get similar results with whatever display you might have kicking around the parts bin — albeit potentially with some code changes to account for the different hardware.

Beyond the microcontroller and the display, all you need to recreate what [mircemk] has done here is a handful of passives to tame the incoming analog audio signal so it can be piped into one of the analog-to-digital converter (ADC) pins on the MCU.

This project is fairly simple, but if you’re looking for something a little more advanced from [mircemk], don’t worry. The more daring home players can try their hand at recreating this high-voltage X-ray machine made from an old TV vacuum tube.

Continue reading “Audio Spectrum Analyzer On An ESP32 Display Board” →