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” →

The virtual pet showing a distressed face while a phone is in use

Anti-Doomscroll Tamagotchi Only Lives If You Do

The odds are, you have a device deliberately designed to be addictive in your pocket or on the table next to you if you aren’t staring at it right now– your smartphone. We’ve seen a number of projects that try and help people control or moderate their phone usage using a variety of techniques; this vitual pet by [brenpoly] does it by weaponizing human empathy, and our bizzare ability to pack-bond with literally anything.

The virtual pet itself is based on an ESP32 in a cutesy 3D-printed case, and we think it would probably work well enough if it just had hard-coded behaviors based on hooks in what you’re doing on your phone– the “my little buddy is sick because I’m doomscrolling” should be effective enough on its own, and that part is hardcoded on the ESP32 along with the regular virtual pet behaviour–but this is the year of our Llama 2026, so there has to be an LLM in there somewhere, right?

Some people would leave this part out, but we think [brenpoly]’s use of a local LLM on the phone does improve the project. The local agent doesn’t just have access to his screen time, but his notifications, too, and runs a whisper model linked to a microphone in the virtual pet via bluetooth. So you can get the contents or a summary of your notifications without looking at your phone, or just ask the little guy to tell you a joke. Giving the pet a voice with a the local piper model is also more effective at getting you to put your phone down when you hit the limits.

They’ve put the whole thing up on GitHub if you want to make your own– and if we can keep one person from strapping themselves to a shock collar, then this project is doing good in the world. If helps [brenpoly] or any of his fans do less scrolling and more hacking, that’s even better. Of course there’s a whole spectrum between “electrocute yourself” and “lovable virtual pet” when it comes to controlling your phone use, a spectrum that includes phone stands or even smart vaults for your device.

Thanks to [brenpoly] for the tip! Remember, all of your doomscrolling is justified if you find something to send to our tipsline. 

Continue reading “Anti-Doomscroll Tamagotchi Only Lives If You Do” →

An open-source, DIY, point-and-shoot digital camera.

PolyShot Camera Focuses On Nostalgia

Although we personally have yet to see anyone brandishing an old digital point-and-shoot camera, we hear they’re back in vogue. Why, though? People are nostalgic for that image quality. While he certainly could have simply picked up a vintage model somewhere for a likely inflated price, [Arnov Sharma] decided to build his own version and call it the PolyShot.

The core of this project is the Unihiker K10 dev board, which uses an ESP32-S3, a whopping 2 megapixel camera, and a micro SD card to capture photos and display them back on the screen. The tricky part, if you can call it that, is the custom PCB. It’s a simple board with just three buttons: shutter, gallery, and next image. We do like that the position of the battery compartment creates a nice grip.

The biggest difference here is that there is a few-second delay between pressing the shutter button and actually capturing the image, which you can see in the short videos below. So if you’re trying to get a shot of a skink or something equally speedy, we wish you good luck.

In a future iteration, [Arnov] wants to address the issue of image quality, because this project ended up evolving into a more traditional digital camera. He would also improve the battery life, for which the current expectancy is around three hours on a charge. Ultimately, [Arnov] wants to ditch the Unihiker and design everything from the ground up, using an ESP32-S3 module.

Continue reading “PolyShot Camera Focuses On Nostalgia” →

ESP32 Music Sequencer Is Clearly Nailing The Y2K Aesthetic

Do you remember back when electronics came in clear cases? Back around the turn of the millennium, when translucency was chic. [3DSage] sure does, which is why he went to great lengths to make a clear case for his Clear Retro Music Sequencer.

The sequencer itself is based around an ESP32-S3 module with a built-in display, and a rotary encoder that handles most of the input. Most, because there’s a second button and a stylophone-like array of brass rods on one edge of the custom PCB he made with his fiber laser that can also handle note input. Other notable features include a phono jack with built-in switching so the tunes come out automatically from headphones or the internal speaker, and a AAA battery-lookalike. It’s a small detail, but that 666 mWh 3.7 V lithium cell is the demon’s meow for this project, seeing as it gives the convenience of a modern battery without compromising that Y2K look — remember you can see the battery through the translucent case.

About that translucent case: it’s 3D printed out of PETG, with settings similar to those we’ve reported on before: hot, slow, and don’t cross the streams! Which is to say every layer must line up with the one above. Oh, use filament fresh out of the drier of you live somewhere as humid as [3DSage]. The result is not totally see-through, but an application of clear enamel fills in the surface well enough to read through, giving the vintage look [3DSage] was after. To complete that Y2K feel, he turns the device into a slap bracelet, because why not? For those of you who missed due to the aforementioned federal prison arc, slap-on wristbands were all the rage amongst the kids back in those days.

The wristband is a length of measuring tape at its core, the springy steel having been cold-worked to hold the radius of [3DSage]’s wrist in its relaxed state, encapsulated in clear gorilla tape for comfort. We probably don’t have to tell you that getting slapped with a raw tape measure isn’t the nicest. For the actual operation of the sequencer, check out the video embedded below — the first 9 minutes cover the build, while the rest shows off the product.

Of course you don’t need an ESP32 for this kind of music maker– you can do it with a C64, or even discrete parts and rope-core memory. 

Continue reading “ESP32 Music Sequencer Is Clearly Nailing The Y2K Aesthetic” →

Read A USB Logitech Racing Wheel On An ESP32‑S3

Now that MCUs like the ESP32-S3 are quite capable computer systems including USB host functionality, it only makes sense that you can connect USB peripherals like Logitech racing wheels to them. Of course, these aren’t basic HID USB devices, so they require a bit of setup to make them start spitting out the data updates which we’re interested in. Making this process easy is the goal of the LogiWheelHost project for ESP32-S3 by [Joel Kometz].

This single-header library supports the G29, G923, G920, G27, G25, DFGT, Driving Force Pro wheels, building on top of the EspUsbHost project. As explained in the README, these racing wheels do not start streaming all updates to their controls once powered on, but boot into a restricted mode in which only neutral or combined-axis data is sent.

To change this you need to trigger the so-called native mode switch in which far more detailed information as well as updates on extended features like separate pedals, all buttons and the gear shifter become available. This is done by sending a HID output report to the USB device, which is easy enough.

In addition to handling this detail the library also provides an API using which obtaining and using these controller states in your own code should be quite easy. Presumably the library will work on or can be ported to other ESP32 MCUs that support host USB mode, so this might be good news for anyone who is looking to do more with that old Logitech racing wheel.

Titanic-esqe Telegraph Keeps Relationship Afloat

When people say the key to a happy, long-lasting marriage is communication, they generally mean the verbal kind: talking things out with your spouse, sharing your feelings, and all that lot. [Rich] AKA [Thumblegudget] took it another way, and built a engine-room telegraph for intramarital communication.

Now, this is less crazy than it sounds. Like the ship’s telegraph, which matched the position of an indicator on the bridge and in the engine room, [Rich]’ telegraph pairs an indicator in his office with one in the living areas of the house. He sets himself to “busy” and the arrow on the matching unit in the basement moves to that position. This naturally goes both ways, which allows his wife to point the needle to remind [Rich] that it may be time for hugs, dinner, or — most essentially for a brit — tea.

In operation each unit has a gimbal motor paired to a rotation sensor and an ESP32-S3 driving it. Thanks to that rotation sensor, the gimbal motor is programmed to lock itself into the positions on the wheel when you poke it, and the ESP32 wirelessly synchronizes the two units. A moving arrow might not be enough to get [Rich] to come down to dinner, so just like the ship’s telegraph you may remember from Titanic, [Rich]’s comes equipped with a bell to draw attention to itself.

Given [Rich]’s wife participated in the video and isn’t filing for divorce, it seems he may be onto something. Perhaps good communication doesn’t need to involve cumbersome human speech at all; maybe all a marriage needs is a telegraph like this and some paddles to send more complicated messages via Morse code.

Continue reading “Titanic-esqe Telegraph Keeps Relationship Afloat” →