// projects

Things I've built

Browser-based tools

WebSerial Firmware Updater

in progress

Browser-based OTA firmware update tool for Nordic nRF54 devices. Uses the WebSerial API to communicate with the device over UART, sending firmware images using the MCUMGR SMP protocol to the MCUBoot bootloader — no native app or driver installation required.

WebSerial API SMP Protocol MCUBoot JavaScript

WebBluetooth DFU

planned

Extension of the firmware updater using the WebBluetooth API instead of serial. Communicates with Nordic's BLE DFU service (or a custom SMP-over-BLE GATT service) to deliver firmware images wirelessly from the browser.

WebBluetooth API BLE GATT nRF54 JavaScript

Embedded projects

nRF54 BLE Sensor Node

shipped

Custom hardware + firmware sensor node based on the Nordic nRF54L15. Runs Zephyr RTOS with BLE advertising, low-power sleep modes, and MCUBoot OTA support. PCB designed in KiCad.

nRF54L15 Zephyr MCUBoot KiCad BLE

MCUMGR Python CLI

shipped

Python command-line tool for automating firmware image uploads over UART using the MCUMGR SMP protocol. Used internally for CI/CD pipelines and production flashing.

Python SMP Protocol UART CI/CD