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

A vaguely perforated metal cylinder sits on a wooden box with a grey cylinder and LCD display atop it. There are holes in the top of the grey cylinder for air to flow through.

A Smarter DIY Air Filter

As predominantly indoor creatures, it’s important to maintain a healthy habitat for the hacker. [Kishan Pratap Singh] designed a clever solution in AirSense, an ESP32-powered air filter.

If you’re thinking of cleaning the air in your environment, you might also want to know some properties about the air coming out of the filter. AirSense measures PM2.5 dust concentration, Air Quality Index (AQI), temperature, humidity, and atmospheric pressure. The various sensors are mounted along the exhaust path of the filter, which lets your know what kind of air it’s pumping out.

The system drives a 150 mm exhaust fan mounted in a 3D printed cap that pulls air through a cylindrical Xiaomi HEPA filter inside a perforated metal trash can enclosure. The ESP32 and an LCD readout of the environmental data also live in the cap, giving the device a sleek look. While [Singh] chose to run the filter continuously, we wonder if it might be interesting to set it up to only filter the air if air quality drops below a certain level to conserve power, especially if you’re on a time-of-use power plan. That would require redesigning the sensor assembly (or running the unit in reverse), so maybe it’s over-complicating things?

We’ve seen the Xiaomi Air purifier filter mentioned before, but under the auspices of hacking it’s filter DRM, an open source air filter designed by [Naomi Wu], and even an ESP32 pressed into service to plug an air purifier into Home Assistant.

An EInk, ESP32-based Game Boy

This is one of those projects that was both inspired and made possible by the absolute embarrassment of dev boards available to the modern hacker. In this case, the dev board was the M5Stack PaperS3, which as the name implies combines an ESP32-S3 with an e-ink panel. [Wenting Zhang] picked one up and was immediately inspired to try and make an e-ink Game Boy.

The M5Stack PaperS3 made this project possible by exposing the display with row/column control — parallel, some would call it, as opposed to the usual serial interface of SPI. That allowed [Wenting] to work some of the same e-ink magic he perfected on his Modos monitors to allow partial refresh at up to 60 Hz. That the ESP32-S3 is capable of emulating a Game Boy while driving the screen should surprise no one, since it can emulate an MSX while outputting VGA or even Windows 95 on a 386. In this case, he’s basing the actual Game Boy emulation on Crank Boy.

Of course the e-ink screen on the M5Stack is far larger and has a much higher resolution than what the Game Boy shipped with, which lets him implement touch controls and scale the image up 3X so he can fake a couple of shades of grayscale while actually outputting black and white. Even better, if he was actually playing this thing on the regular, once the high-refresh portion of the screen starts to wear out, he can flip the orientation and keep gaming on the virtually-unrefreshed control portion of the screen — doubling the lifetime of the system, something many of you raised as a concern when we last looked at a his e-ink monitor project.

The only real shortcoming of this hack is the sound. With one-bit beeps coming out of the M5Stack buzzer, it’s got nothing on Nintendo’s hardware. Of course, that’s partially down to using the hardware as-is. With the addition of an I2S sound chip like the one used in the MOD player project we featured recently, you’d just need to squeeze out enough processor cycles to make this sound as good as it looks.

Continue reading “An EInk, ESP32-based Game Boy” →