Dump, verify, and reprogram flash memory on an old Silicon Labs C8051 microcontroller over JTAG.
Diagnose a bricked embedded device by tracing a boot failure down to a hardware clock fault.
Reverse engineer a proprietary serial protocol into a Python driver and control it from a GUI.
Learn field techniques for recovering hardware after a failed firmware flash.
| lollokara/laserone | 0marildo/imago | 0xdfi/glm-5.2-1m-4x-dgx-spark | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | Python | Python | Python |
| Setup difficulty | hard | easy | hard |
| Complexity | 5/5 | 2/5 | 5/5 |
| Audience | developer | general | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires specific hardware like an Atmel-ICE JTAG programmer and involves a Class-4 laser, safety precautions are mandatory.
Laserone is a toolkit and set of field notes documenting how the author revived a broken IPG YLP pulsed fiber laser controller, a piece of industrial equipment used to mark and engrave materials with a laser. The laser stopped working one day with no schematics, no source code, and no vendor support available, so the author reverse engineered the control board's own microchip to figure out what had gone wrong and how to fix it. The investigation went through several stages. First, the firmware stored on the board's chip was dumped by building a custom flash reading and writing tool from scratch, since no modern debugging tool supported this older chip. During an early attempt to write new firmware, a bug in that custom tool corrupted the chip and left the board completely unresponsive. The author then improved the tool with page by page verification and retry logic so it could reliably reflash the board even over an unreliable connection. After firmware was safely restored, the board still would not boot, and further investigation traced the real problem to a failing clock crystal, a small hardware component that provides timing signals, rather than to the firmware itself. With that understood, the author patched the firmware to run on the chip's internal clock as a workaround and also reverse engineered the laser's own communication protocol into a Python driver and a graphical control panel. The repository includes the custom flashing tool, the laser communication driver, the graphical control application, a passive serial listener, a status monitoring script, and firmware image files representing different stages of the fix. Everything defaults to safe, read only operations, and features that could fire the laser are locked behind an explicit confirmation step in the software. Because this project can control a genuinely dangerous industrial laser capable of causing eye and skin injury, the README stresses using proper protective eyewear and safety interlocks before connecting any of this hardware. The project is released under the MIT license.
A reverse engineering toolkit that revived a bricked industrial fiber laser controller by fixing its firmware and clock hardware.
Mainly Python. The stack also includes Python, JTAG, Tkinter.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.