Dave Jones of EEVblog has spent years telling engineers to be sceptical of hype, so it says a lot that his latest video ends with the line "software engineering is so over". He pointed Claude Code at the compiled firmware of his own 121GW multimeter and asked it to turn the binary back into C source code. By the next morning it had rebuilt both the bootloader and the full meter application, and the rebuilt firmware runs on the real meter, Bluetooth included. The result is now public on GitHub under the MIT licence.
What the AI actually rebuilt
The 121GW is built around an STM32L152 microcontroller and an HY3131 multimeter front-end chip. Turning its machine code back into readable C is normally weeks of work in a disassembler. According to the repository, the AI agent reconstructed:
- The custom SD-card bootloader, which loads firmware updates from the card
- The meter application (v2.05): 691 functions, plus the FatFs file system and the C runtime
- Build files so the code compiles with GCC and CMake into a binary that installs like an official update
The interesting part is how the result was checked. The repository includes an emulator harness that runs the original and the rebuilt code on an emulated STM32L1 and compares them, function by function and as a whole image. Ghidra, the free reverse engineering suite, was used alongside GCC. Only after that did Dave flash it to the meter and test the ranges and the Bluetooth link by hand.
How it got there
This is the second episode. In the first video (EEVblog 1783), Dave tried Cursor with a "Reverse Engineer Anything" tool and Claude; the first attempt failed, and a later run produced a binary that worked until the meter suddenly stopped responding. For episode 1784 he switched to Claude Code with a single prompt, installed GCC and Ghidra, and left it running overnight. He also compares it with Zombu4's community rewrite of the firmware in assembler.
Our take
Two things stand out for embedded engineers. First, the verification loop matters more than the AI: an emulator that proves the rebuilt code behaves like the original is what makes this trustworthy, and it is a method anyone can borrow. Second, this opens old or abandoned products to repair and new features without the original source code. It is also a reminder that "the firmware is closed" is no longer much protection for a product.
Image credit: EEVblog / Dave Jones (YouTube thumbnail), cropped and resized.
About the author: Aswinth Raj is an electronics engineer and the editor of CircuitDigest, where he has published more than 150 hands-on projects and tutorials across Arduino, PIC, ESP32, Raspberry Pi and EV battery systems. He selects the stories on this page for what engineers and makers can actually learn or build from. Connect on LinkedIn
Add a comment
No account needed. Your comment appears once a moderator has reviewed it.