Back to projects
Prototype
OTA Firmware Tool
BLE DFU, desktop tooling, Zephyr firmware workflow
Desktop app that updates a board wirelessly without a USB cable.
Built a Windows desktop app that updates MCU boards (e.g., nRF52840 DK) using Zephyr's SMP (mcumgr) over BLE for OTA updates. The app scans for nearby devices and lets you select a signed MCUboot image to upload.
The firmware uses MCUboot's dual-slot layout to stage updates safely. The app uploads the image to the secondary slot, marks it for a test boot, triggers a reset, and then confirms the new image once it is running. This keeps the workflow simple while preserving rollback if the new build fails to start.
Highlights
- One-click OTA flow that uploads, tests, resets, and confirms
- Safe flash mode to improve stability on Windows BLE stacks
- Log filtering and progress tracking for clear demonstrations
What Matters
- Zephyr RTOS
- nRF Connect SDK
- MCUboot
- mcumgr SMP over BLE
- Qt 6
- Python smpclient