38C3: Xobs On Hardware Debuggers

If you just want to use a debugger for your microcontroller project, you buy some hardware device, download the relevant driver software, and fire up GDB. But if you want to make a hardware debugger yourself, you need to understand the various target chips’ debugging protocols, and then you’re deep in the weeds. But never fear, Sean [Xobs] Cross has been working on a hardware debugger and is here to share his learnings about the ARM, RISC-V, and JTAG debugging protocols with us.

He starts off with a list of everything you need the debugger hardware to be able to do: peek and poke memory, read and write to the CPU registers, and control the CPU’s execution state. With that simple list of goals, he then goes through how to do it for each of the target chip families. We especially liked [Xobs]’s treatment of the JTAG state machine, which looks pretty complicated on paper, but in the end, you only need to get it in and out of the shift-dr and shift-ir states.

Continue reading “38C3: Xobs On Hardware Debuggers”

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”

An LCD, Touch Sensor, USB-C, And A Microcontroller For A Buck

[CNLohr] has been tinkering with some fun parts of late. He’d found out that ordinary LCD screens could be used as simple touch sensors, and he had to try it for himself. He ended up building a little doohickey that combined USB C, an LCD display, and a touch interface, all for under a buck. You can check out the video below.

The key to this build was the CH32V003 CPU. It’s a RISC-V microcontroller that runs at a healthy 48 MHz, and it costs just 10 cents in reasonable quantities. A PCB etched to mate with a USB C cable eliminates the need for a connector.

[CNLohr] then gave the board a three-digit 7-segment LCD display from Aliexpress, which can be had for around 21 cents if you buy 100 or more. He then figured out how to drive the LCDs with a nifty trick that let the microcontroller use the display as a crude touch sensor. All in all, the total bill of materials for one of these things comes out somewhere under a dollar in quantity.

It’s mostly a random assemblage of tech glued together for a demo, but it’s a fun project. It’s worth checking out even if it’s just to learn how to create an integral USB C port on your own PCBs. The way it’s achieved with the etched contacts and milled-out tabs is pure elegance. Files are on Github for the curious.

We’ve featured a ton of [CNLohr’s] work over the years; the clear keytar was a glowing highlight, as were his early discoveries in the depths of the ESP8266.

Continue reading “An LCD, Touch Sensor, USB-C, And A Microcontroller For A Buck”

pcb with santa sleigh racing circuit

Rudolph’s Sleigh On A North Pole PCB

Each Christmas, [Adam Anderson], [Daniel Quach], [Johan Wheeler], and [Gustav Abrahamsson] (going by ‘the Janky Jingle Crew’)—set themselves the challenge of outdoing their previous creations. Last year’s CH32 Fireplace brought an animated LED fire to life with CH32V003 microcontrollers.

This year, they’ve gone a step further with the North Pole Circuit, a holiday project that combines magnetic propulsion, festive decorations, and a bit of engineering flair. Inspired by a miniature speedway based on Friedrich Gauss’ findings, the North Pole Circuit includes sleighs and reindeer that glide along a custom PCB track, a glowing village with flickering lights, and a buzzer to play Christmas tunes.

The propulsion system works using the Lorentz force, where vertical magnets interact with PCB traces to produce motion. A two-phase design, similar to a stepper motor, ensures smooth operation, while guard rails maintain stability on curves. A separate CH32V003 handles lighting and synchronized jingles, creating a cohesive festive display. As we mentioned in the article on their last year’s creation, going from a one-off to a full batch will make one rethink the joy of repetitive production. Consider the recipients of these tiny Christmas cards quite the lucky ones. We deem this little gift a keeper to put on display when Christmas rolls around again.

This annual tradition highlights the Crew’s knack for combining fun and engineering. Curious about the details or feeling inspired to create your own? Explore the full details and files on their GitHub.

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”

ESP8266 Keeps Tabs On Wood Stove Temperature

Wood heat offers unique advantages compared to more modern heating systems, especially in remote areas. But it also comes with its own challenges, namely, keeping the fire going at the optimum temperature. If it’s too cold you risk buildup in the chimney, but if you’ve got it stoked up more than necessary, you’ll end up burning through your wood faster.

To keep the fire in that sweet spot, [Jay] decided to put an ESP8266 and a thermocouple to work. Now, this might seem like an easy enough job at first, but things are complicated by the fact that the flue temperature above the stove lags considerably behind the temperature inside the stove. There’s also the fact that the top of the chimney will end up being much colder than the bottom.

Mounting the thermocouple in the flue pipe.

In an effort to get a more complete view of what’s happening, [Jay] plans on putting at least two thermocouples in the chimney. But as getting on the roof in December isn’t his idea of fun, for now, he’s starting with the lower one that’s mounted right above the stove. He popped a hole in the pipe to screw in a standard K-type probe, and tapped it a few times with the welder to make sure it wasn’t going anywhere.

From there, the thermocople connects to a MAX6675 amplifier, and then to the WeMos D1 Mini development board that’s been flashed with ESPHome. [Jay] provides the configuration file that will get the flue temperature into Home Assistant, as well as set up notifications for various temperature events. The whole thing goes into a 3D printed box, and gets mounted behind the stove.

This project is a great example on how you can get some real-world data into Home Assistant quickly and easily. In the future, [Jay] not only wants to add that second thermocouple, but also look into manipulating the stove’s air controls with a linear actuator. Here’s hoping we get an update as his woodstove learns some new tricks.