La104 Firmware Work -
The Go to product viewer dialog for this item. is a portable 4-channel logic analyzer. While the stock firmware provides basic functionality, many users find it limited and choose to install custom "app" firmware to expand its capabilities. 🛠️ How LA104 Firmware Works
The device operates on an STM32 microcontroller. It uses a virtual USB drive system to manage firmware files.
Virtual Disk: Connecting the LA104 to a PC in "DFU mode" opens a folder.
Hex/Bin Files: Firmware is usually provided as .hex or .bin files.
Slot System: The device can hold multiple "Apps" in different slots (typically 4 slots).
Bootloader: A built-in program that handles the installation of new code. 📥 How to Install/Update Firmware To change or update the firmware, follow these steps:
Enter DFU Mode: Hold the ">|" (Play/Pause) button while switching the power on.
Connect to PC: Use a USB cable; a drive named "DFU V3_XX_X" will appear.
Copy File: Drag and drop your firmware file into this drive.
Wait for Extension: The file extension will change (e.g., .hex becomes .rdy if successful or .err if it failed). Restart: Toggle the power switch off and on. 🚀 Popular Custom Firmware la104 firmware work
Standard firmware is often replaced with community-driven projects that add features like: I2C/SPI/UART Decoding: Real-time protocol analysis. Oscilloscope Mode: Basic analog wave viewing. Signal Generator: Outputting PWM or clock signals. Common Sources: Official Minidso Forum: For factory updates.
GitHub (e.g., "LA104 Custom App"): For community versions with advanced decoders. ⚠️ Important Considerations
Calibration: Some firmware updates may require you to recalibrate the input thresholds.
Version Compatibility: Ensure the firmware matches your hardware version (found on the boot screen).
File Naming: Some versions require files to be named specifically (e.g., app1.hex, app2.hex) to target specific slots.
If you're having trouble, I can help further if you tell me: Are you getting a specific error (like an .err file)?
Are you trying to fix a bug or add a new feature (like SPI decoding)?
What is your current hardware version shown on the splash screen?
I can look for the specific download links or user manuals for the version you need. The Go to product viewer dialog for this item
The LA104 firmware architecture is designed for portability and versatility, featuring a dual-mode system that allows it to operate as a logic analyzer, an oscilloscope, or a programmable platform for custom applications. 1. Core Firmware Architecture
The LA104 utilizes an STM32F103 microcontroller and an onboard FPGA for high-speed signal capture. The firmware is typically split into two main components:
System Firmware (.HEX): The base operating system that manages the display, inputs (A and B dials), and the file system.
Applications (.ELF / .ZIP): Separate modular applications, like the logic analyzer or shell, which are loaded from the internal storage. 2. Firmware Update Procedure
Updating the device involves using its built-in Device Firmware Upgrade (DFU) mode.
Enter DFU Mode: Power on the LA104 while holding the first button (sometimes marked as SMPL).
Connect to PC: A removable disk named "DFU V1_xx" will appear on your computer.
Upload System File: Copy the .hex firmware file into the root of this disk. The extension will automatically change to .rdy (ready) or .err (error) upon completion.
Application Installation: After the system file is updated, you typically need to copy additional application files (from a .zip archive) into the device's internal storage. 3. Notable Alternative & Community Firmwares To enable these, you modify main
Custom firmwares are popular for the LA104 to fix RAM issues or add features like UART/I2C decoding.
Gabonator LA104 OS: A highly popular open-source alternative that converts the device into a more flexible platform with support for a remote-controlled oscilloscope via WebUSB.
Ralim's Fork: Focuses on performance improvements, such as faster boot times and enhanced dial controls for adjusting timebases and positions. 4. Troubleshooting Common Issues
Firmware upload issues · gabonator LA104 · Discussion #45 - GitHub
3.3. Building a Multi-Tool OS
Many developers have turned the LA104 into a Swiss Army knife. Their firmware versions include:
- Signal generator: 10Hz to 10MHz square/sine/triangle using PWM + external LPF.
- Voltage monitor: 0-30V with an external voltage divider.
- Component tester: Resistor/capacitor/diode identifier using two GPIO pins.
- Pocket logic monitor: Real-time display of 4 channels as virtual LEDs.
To enable these, you modify main.c to check a button combination at boot (e.g., hold UP + SELECT) to enter “tool mode.”
2.1. Sigrok / PulseView Integration
By flashing a compatible firmware (like the DSLogic firmware or the open-source la104-fw project), you can use the LA104 with PulseView on your PC. This gives you:
- Advanced protocol decoders (CAN, LIN, DMX512, JTAG, etc.)
- Infinite capture depth (stream to PC RAM)
- Powerful search and filtering
Part 2: Why Modify the LA104 Firmware? Key Benefits
Investing time in LA104 firmware work yields several powerful advantages:
1. Doubling the Sample Buffer
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.
Part 10: Future of LA104 Firmware Development
The LA104 hardware is aging, but the community remains active. Here’s what’s next:
- RISC-V ports: Some developers are porting the firmware to run on a soft-core RISC-V inside an FPGA (connected to LA104’s expansion header).
- WebUSB firmware: A newer firmware exposes the device as a WebUSB device, allowing logic analysis directly in Chrome/Edge without drivers.
- Machine learning edge: TinyML firmware can identify protocol frames (e.g., “is this UART 9600 or 115200?”) onboard.
If you want to contribute, start by fixing open issues on GitHub repositories like la104-improved or LA104-sigrok.
