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

Images

Scroll to view