With custom firmware leveraging the PIC32’s GPIO bit-banging, you can implement a simple CMSIS-DAP v1 adapter. This allows you to debug ARM Cortex-M microcontrollers using OpenOCD.
In the rapidly evolving world of portable test equipment, the LA104 (often referred to as the e-Design / Miniware LA104 Logic Analyzer) holds a unique position. Unlike many closed-source devices, the LA104 is built around a flexible hardware platform—featuring a 320x240 color LCD, a Microchip PIC32MX processor, an SD card slot, and a user-friendly keypad. However, the true power of this device is unlocked not by its stock operating system, but by LA104 firmware work.
For hobbyists, embedded engineers, and reverse engineers, modifying, compiling, or even writing custom firmware for the LA104 transforms it from a simple 100Msps logic analyzer into a multi-tool: a signal generator, a UART/SPI/I2C sniffer, a voltmeter, or even a retro-gaming emulator. This article explores every aspect of LA104 firmware work, from basic updates to deep kernel-level hacking. la104 firmware work
Likely cause: Wrong linker script or vector table offset.
Check: Ensure FLASH_APP_OFFSET is 0x08000000 (unless using bootloader).
Fix: Compare with stock firmware hex dump:
arm-none-eabi-objdump -D la104_firmware.elf | less
The most significant value-add from the firmware work is robust protocol decoding. The custom firmware introduces native support for: The most significant value-add from the firmware work
One underappreciated aspect of LA104 firmware work is power optimization. The stock firmware drains the battery in ~4 hours. With custom firmware, you can achieve 10+ hours.
Getting custom firmware onto the LA104 is trivial (thank you, DFU bootloader). Hold the JOY_DOWN button while plugging in USB, then run: Seeing my compiled code run on the actual device
dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D build/la104.bin
Seeing my compiled code run on the actual device? That’s the moment the obsession started.