38C3: Towards An Open WiFi MAC Stack On ESP32

At the 38th Chaos Communications Congress, [Frostie314159] and [Jasper Devreker] gave us a nice update on their project to write an open-source WiFi stack for the ESP32. If you’re interested in the ESP32 or WiFi in general, they’ve also got a nice deep dive into how that all works.

On the ESP32, there’s a radio, demodulator, and a media access controller (MAC) that takes care of the lowest-level, timing-critical bits of the WiFi protocol. The firmware that drives the MAC hardware is a licensed blob, and while the API or this blob is well documented — that’s how we all write software that uses WiFi after all — it’s limited in what it lets us do. If the MAC driver firmware were more flexible, we could do a lot more with the WiFi, from AirDrop clones to custom mesh modes.

The talk starts with [Jasper] detailing how he reverse engineered a lot of Espressif’s MAC firmware. It involved Ghidra, a Faraday cage, and a lucky find of the function names in the blob. [Frostie] then got to work writing the MAC driver that he calls Ferris-on-Air. Right now, it’s limited to normal old station mode, but it’s definite proof that this line of work can bear fruit.

This is clearly work in progress — they’ve only been at this for about a year now — but we’ll be keeping our eyes on it. The promise of the ESP32, and its related family of chips, being useful as a more general purpose WiFi hacking tool is huge.

Holiday Jukebox Gets ESP32, Home Assistant Support

If we’ve learned anything over the years, it’s that the only thing hardware hackers love more than a device festooned with buttons is one that’s covered in LEDs — so it’s no surprise that this “Mr Christmas” jukebox caught the eye of [Roberts Retro]. But while the holiday gadget might have been mildly entertaining in its stock configuration, he quickly realized that what it really needed was an ESP32 retrofit. After all, what good are all those buttons and LEDs if you can’t bend them to your will?

For the first half of the video, [Robert] treats us to a detailed teardown of the device, which as you might imagine, is largely hollow inside. This gave him plenty of room to graft in new hardware, which is really the best gift any of us could hope to find under the tree. In addition to the ESP32 development board, the jukebox also received a number of WS2812B addressable RGB LEDs, and a DFPlayer module to handle music playback.

With all the buttons wired up to inputs on the ESP32, [Robert] can reconfigure the jukebox to do pretty much whatever he wants with just changes to the software. In the video, he demonstrates how the buttons can be used to trigger the playback of individual songs stored on the DFPlayer’s SD card, which essentially replicates it’s stock functionality. A few lines of changed code later, those same buttons can be used to control devices via Home Assistant.

To get into the holiday spirit, [Roberts Retro] shows off the completed jukebox controlling his ESP-enabled LEGO train set — another of his festive upgrades that we covered back in 2022.

Continue reading “Holiday Jukebox Gets ESP32, Home Assistant Support”

E-Paper Anniversary Counter Is A Charming Gift With Minimal Power Draw

[Lonyelon] wanted to build an anniversary gift for his girlfriend. He decided to say it with e-Paper, a wise choice given its persistence and longevity.

The project is an anniversary calendar. It displays a counter of the total time the couple has been together, measured in years, months, days, and hours—so it’s remarkably precise. [Lonyelon] also programmed it to display additional counters to create plenty of additional fun anniversaries—the couple can celebrate milestones like their 1000th day together, for example. It also cycles through a range of cute messages and displays photos of the couple together.

Continue reading “E-Paper Anniversary Counter Is A Charming Gift With Minimal Power Draw”

3D Printed Forklift Is A Cute Desk Toy

Many of us grew up with dreams of piloting a forklift one day. Sadly, most warehouses take a dim view of horseplay with these machines, so few of us get to live out those fantasies. Playing with this desk-sized RC model from [ProfessorBoots] is probably a safer way to get those kicks instead. You can check it out in the video below.

The 3D-printed body of the forklift is the first thing you see. It’s great quality, and it instantly puts you in mind of the real thing. The build is true to the dynamics of a real forklift, too, with proper rear steering. Inside, there’s a custom circuit board hosting an ESP32 that serves as the brain of the operation. Its onboard wireless hardware allows remote control of the forklift via a smartphone app, PS4 controller, or many other options. It controls the drive motors and steering servo, along with another motor driving a threaded rod to move the forks up and down. The whole thing is powered by two Fenix 16340 batteries—small lithium-ion cells that can be recharged with an integral micro USB port.

The project video is very thorough about the design and build. It’s worth watching just to understand the specifics of how forklifts actually raise their forks up and down. It’s good stuff.

This forklift is just the latest RC build from [ProfessorBoots]. He’s done great work in this space before, like this charming skid steer and incredibly complex crane.

Continue reading “3D Printed Forklift Is A Cute Desk Toy”

Dog Plays Chess On ESP32

The ESP32 is s remarkably powerful microcontroller, where its dual-core processor and relatively high clock speed can do some impressive work. But getting this microcontroller designed for embedded systems to do tasks that would generally be given to a much more powerful PC-type computer takes a little bit more willpower. Inspired by his dog, [Folkert] decided to program an ESP32 to play chess, a famously challenging task for computer scientists in the past. He calls this ESP32 chess system Dog.

One of the other major limitations of this platform for a task like this is memory. The ESP32 [Folkert] is using only has 320 kB of RAM, so things like the transposition table have to fit in even less space than that. With modern desktop computers often having 32 or 64 GB, this is a fairly significant challenge, especially for a memory-intensive task like a chess engine. But with the engine running on the microcontroller it’s ready to play, either in text mode or with something that can use the Universal Chess Interface (UCI). A set of LEDs on the board lets the user know what’s going on while gameplay is taking place.

Continue reading “Dog Plays Chess On ESP32”

Building A Diet Coke Button

[mars91] had an interesting problem to solve—his girlfriend often requested Diet Coke, but yelling for one across the apartment was frustrating and impractical. A dedicated Diet Coke button seemed like the perfect solution, so that’s precisely what he built.

The Diet Coke Button is a relatively simple device. A small silver push-button activates an Adafruit Feather M0 to send out a signal via its RFM95 LoRa radio. That signal is picked up by the receiver device, which runs on an ESP32. It’s got an RFM95 LoRa module, which receives signals from the button and sounds an alarm to indicate the request for a Diet Coke. The ESP32 also hosts a basic website which allows Diet Coke requests to be submitted via the web, as well as general submissions of a textual nature. The latter are displayed on a small OLED display. If you’re feeling bold, you can even set up the ESP32 to be accessible from the outside Internet, with [mars91] explaining how to do so using a Cloudflare tunnel for your own protection.

The only problem is that delivering the Diet Coke is still something you have to do by hand. Perhaps a future upgrade would involve some kind of small apartment-spanning railway for the delivery of ice-cold cans to designated stations.

It’s a unique project, and one that recalls us of an interesting talk about a different type of call button.

Continue reading “Building A Diet Coke Button”

Close up of a typewriter annex SMS-receiver

Back To The Future Of Texting: SMS On A Panasonic Typewriter

Among us Hackaday writers, there are quite a few enthusiasts for retro artifacts – and it gets even better when they’re combined in an unusual way. So, when we get a tip about a build like this by [Sam Christy], our hands sure start itching.

The story of this texting typewriter is one that beautifully blends nostalgia and modern technology. [Sam], an engineering teacher, transformed a Panasonic T36 typewriter into a device that can receive SMS messages, print them out, and even display the sender’s name and timestamp. For enthusiasts of retro gadgets, this creation bridges the gap between analog charm and digital convenience.

What makes [Sam]’s hack particularly exciting is its adaptability. By effectively replacing the original keyboard with an ESP32 microcontroller, he designed the setup to work with almost any electric typewriter. The project involves I2C communication, multiplexer circuits, and SMS management via Twilio. The paper feed uses an “infinite” roll of typing paper—something [Sam] humorously notes as outlasting magnetic tape for storage longevity.

Beyond receiving messages, [Sam] is working on features like replying to texts directly from the typewriter. For those still familiar with the art form of typing on a typewriter: how would you elegantly combine these old machines with modern technology? While you’re thinking, don’t overlook part two, which gives a deeper insight in the software behind this marvel!

Continue reading “Back To The Future Of Texting: SMS On A Panasonic Typewriter”