La104 Firmware Work -
Inside the repo, navigate to the main directory. Edit config.h to enable or disable features. For example:
#define ENABLE_UART_SNIFFER 1
#define ENABLE_PWM_GENERATOR 1
#define MAX_SAMPLE_RATE_HZ 100000000
Then compile:
make clean
make all
If successful, you will get a la104_firmware.bin file. This is your custom firmware.
The LA104 hardware is aging, but the community remains active. Here’s what’s next:
If you want to contribute, start by fixing open issues on GitHub repositories like la104-improved or LA104-sigrok.
If you flash a bad firmware that crashes instantly:
Worst case: If the bootloader is corrupted, you’ll need a PIC programmer. Connect to the ICSP header (pins on the PCB: MCLR, VDD, GND, PGD, PGC) and use MPLAB IPE to erase and reprogram.
LA104 firmware work is not just about fixing bugs or adding features—it’s about transforming a modest piece of hardware into a tool that punches far above its weight class. Whether you are an embedded engineer looking for a portable debugger, a student learning STM32 development, or a hobbyist building a custom signal analyzer, the LA104 deserves your attention.
Remember:
Now pick up your LA104, fire up your terminal, and start your firmware journey. The logic analyzer that never sleeps awaits your code.
Further Resources:
This article is regularly updated. Last major revision: March 2025.
LA104 Logic Analyzer uses firmware that functions as a lightweight operating system, allowing it to act as both a pocket laboratory tool and a versatile development board. While the stock firmware supports basic 4-channel digital signal analysis and protocol decoding (UART, SPI, I2C), community-driven custom firmware significantly expands its capabilities. How the Firmware Works The device is powered by an STM32F103VCT6 processor (ARM Cortex-M3) and an Operating System Structure la104 firmware work
: The firmware is often organized into a "BIOS" or system layer and separate "app" files ( ) stored on the internal 8MB flash drive. Signal Processing
: The FPGA handles high-speed digital sampling (up to 100Msa/s), while the STM32 manages the user interface, storage, and data decoding. Customization
: Because much of the firmware is open-source, users can run Arduino snippets or entirely new operating systems. Community & Custom Firmware Features The most popular replacement firmware is the LA104 project by gabonator
, which transforms the device into a "Swiss Army Knife" for electronics. Protocol Support : Extends beyond simple UART/SPI to include I2C scanning MIDI interfacing RF Capabilities : With an external CC1101 module, it can decode and re-transmit RF signals (300–900 MHz). Signal Generation : It can generate PWM signals and control WS2812 LED strips Web Integration : Some firmware versions support
, allowing you to control the device directly from a modern web browser. Firmware Installation Process Reflashing or updating the generally follows these steps : Press and hold the
button while powering on the device to enter firmware update mode. USB Connection : Connect to a PC; it will appear as a removable drive. File Transfer : Copy the system file to the drive. If successful, the file extension changes to If an error occurs, it may change to App Loading
: After updating the system, you typically copy application files ( , etc.) to the newly formatted FAT partition on the device. Known Limitations
: Some hardware revisions have a proprietary FPGA bitstream bug that can make it difficult to distinguish between clean and faulty signals. Memory Constraints
: Custom OS developers have noted that the device has limited RAM, requiring optimized buffer sizes for stable operation. step-by-step guide
on how to install a specific custom firmware, or are you looking for troubleshooting help with a bricked device? AI responses may include mistakes. Learn more
Problem with LA 104 firmware via USB · Issue #88 · gabonator/LA104
pontusbredin commented * Press and hold SMPL button and turn on the device. * Connect the device via USB to a Windows 11 computer. LA104 pocket logic analyser operating system - GitHub Inside the repo, navigate to the main directory
To get alternative firmware working on your MiniWare LA104 Go to product viewer dialog for this item.
logic analyzer, follow the standard procedure of using the device's built-in DFU (Device Firmware Upgrade) mode to copy over the firmware file. How to Install Alternative Firmware
The most common alternative firmware, such as Gabonator's LA104 OS, allows the device to act as a multitool for RF protocol decoding, MIDI control, and I2C scanning.
Enter DFU Mode: Power on the LA104 while holding the first button (typically the "SMPL" button).
Connect to PC: Connect the device to your computer via USB. It should appear as a new virtual disk drive. Upload the Firmware:
Copy the .hex firmware file (e.g., system.hex) directly onto the virtual drive.
The disk will likely disconnect and reconnect automatically once the transfer is complete. Verify the Status:
Look for a file named system.rdy on the drive, which indicates a successful upload. If you see system.err, the flash failed.
Finalize Apps: After flashing the core system, power cycle the device, reconnect it, and copy any remaining application files (usually from a .zip archive like la104apps.zip) to the newly formatted drive. Troubleshooting Common Issues
Operating System Issues: The standard DFU copy method is known to be unreliable on macOS. It is highly recommended to use a Windows machine for flashing.
Persistent Errors: If the .hex file continues to show an .err extension, try deleting all existing files on the virtual drive (ensure hidden files are visible) before copying the firmware again.
Hardware Variants: Some older LA104 versions or those with different internal memory (e.g., 8MB vs. 2MB) may require specific firmware builds to function correctly. Firmware upload issues #45 - gabonator LA104 - GitHub Then compile: make clean make all
Entry 37 – LA104 Firmware Work
The LA104 sits open on the bench, its debug LED blinking a slow amber rhythm — heartbeat of a brain mid-thought. Tonight's task: rewrite the interrupt handler. Again.
The old firmware handled sampling well enough at 1 MHz, but at 5 MHz it stutters like a worn cassette tape. Glitches appear in the captured waveforms — phantom spikes, dropped edges, timing drift. Somewhere in the assembly, a race condition hides like a bad ground.
I trace the logic analyzer’s own logic. The display routine steals cycles. The buffer swap misses its window by two clock ticks. And the trigger detection… fragile. One comparator glitch and the whole capture shifts left by a sample.
The fix means rewriting the state machine in bare metal C, maybe dropping into ARM Thumb for the critical path. No RTOS here — just the metal, the datasheet, and a JTAG cable that’s seen too many plug cycles.
Flash erase. Write. Reboot.
The screen flickers, then holds steady. A clean square wave on channel 2. No jitter.
I watch the trigger fire exactly at the rising edge — for the first time, exactly when I asked it to.
The LA104 breathes again. New firmware. Old scope. Better than new.
Would you like a more poetic, narrative, or purely technical version instead?
The original firmware limited capture depth to 4K samples per channel. By tweaking the SDRAM initialization (the LA104 has an external 8MB SDRAM), I reallocated a larger ring buffer. Suddenly, I could capture 64K samples at 100MHz. The trade-off? UI responsiveness dropped while the buffer filled—but that’s a problem for future me.
The LA104 (often referred to as the e-Design LA104 or the "Logic Analyzer 104") is a pocket-sized powerhouse beloved by embedded systems engineers, hardware hackers, and electronics hobbyists. At its core, it is a 100MHz 8-channel logic analyzer, but its true potential is unlocked not by its stock firmware—but by the firmware work you put into it.
In this article, we will explore the full landscape of LA104 firmware work: from understanding the original software, to compiling custom builds, flashing third-party firmware like DSLogic or Sigrok, and troubleshooting common brick scenarios. Whether you are debugging an I2C bus or turning the LA104 into a multi-tool, this guide is for you.
Before diving into source code or hex files, one must understand the device’s architecture.