Repository navigation
v0.1.0 — First external flash
First tagged release. Marks the state at which the firmware was successfully flashed and run by someone other than me — the onboarding path end-to-end works, even if the rough edges are still being sanded down.
This is a pre-1.0 snapshot of a firmware that's still missing its headline feature. See "Not yet working" below before you flash.
What works in this version
- Full UI running on real 2C53T hardware (AT32F403A @ 240MHz, battery-powered)
- 4 navigable modes: oscilloscope, multimeter, signal generator, settings
- 4 color themes (Dark Blue, Classic Green, High Contrast, Night Red)
- 14/15 buttons scanning at 500 Hz (PRM button pending bench verification)
- Multimeter reading pipeline — live data from the FPGA meter IC
- DCV 0–9 V accurate within a few percent
- Full resistance range (low-Ω through MΩ) with per-band override fix
- USB HID bootloader for closed-case firmware updates (
make flash) - Battery monitor with percentage, USB charge detection, low-voltage auto-off
- Power management: PC9 hold, PB8 backlight, 3-2-1 countdown shutdown
- Boot safety system: 3-strike crash recovery auto-enters SAFE MODE
- Watchdog, health monitoring, task stack checking
- Fuse current tester UI (4th meter layout)
- Emulator support (Renode + SDL3 native LCD viewer)
Not yet working
- FPGA SPI3 ADC data acquisition — the oscilloscope doesn't actually scope yet. Root cause is identified (PB11 HIGH for active mode, full USART boot command sequence, queue-driven triggering). This is the critical path and will land before v1.0.
- Multimeter DCV > 10 V — known limitation, readings rotate through auto-range states without stable factory cal. Tracked for a future session.
- Display flicker on scope and signal-gen screens — #7. Fixed in the next release.
Upgrade notes
First-time setup still requires opening the case once for the ROM DFU + option-byte write (AT32 ships with EOPB0 set to 96 KB SRAM; we need 224 KB). After that, all updates are closed-case via USB-C.
Known issues
- #7 — display flicker on scope and siggen screens (fix coming in next release)
- #4 — Linux
dfu-utilpath required docs hardening; a Windows Artery ISP alternative is now documented based on community workarounds
Versioning
0.x releases are pre-oscilloscope-working. v1.0.0 will be reserved for the milestone where live FPGA ADC data reaches the scope UI.
Thanks to everyone who's filed issues and tested flashes this week — every bug report on a pre-1.0 project is a gift.