// embedded systems · firmware
I write the code that runs
closest to the metal.
Firmware engineer specializing in IoT and BLE audio — I build production-ready embedded systems on Zephyr RTOS and ship Linux images with Yocto, from board bring-up to OTA.
Selected work
AuraScope
An Auracast BLE-audio receiver that enumerates as a USB sound card on a Zynq-7000 (Arty Z7-20), running a custom Yocto image — with the audio pipeline made observable from inside the kernel (a char driver I wrote) and from outside (eBPF). Built and documented as a public series of small, shippable steps.
TrackSphere Hybrid
A hybrid tracking system that follows an asset across the gaps where GPS, Wi-Fi and indoor RTLS each fail — fusing UWB and BLE so a track survives from the assembly line, across the yard, onto a truck, to the customer.
Edge-AI Audio Analysis
On-device audio analysis at the edge: running a neural model directly on embedded hardware to classify or detect events in an audio stream, with no round-trip to the cloud.
More projects landing
over the next weeks
About
I'm a firmware / embedded engineer focused on making constrained hardware do reliable, useful things — from BLE audio on nRF53 to Yocto-based Linux on ARM.
In my current role I work on wireless firmware on Zephyr RTOS in C/C++ — across protocols including BLE (nRF53, nRF52, ESP32-C6/S3/WROOM), LoRa/LoRaWAN (STM32WLE5JC) and cellular (nRF9151) — alongside Yocto-based embedded Linux. I've worked intensively on real-time BLE audio (UART, USB, SPI, I²S), and earlier across the full IoT stack: bare-metal and FreeRTOS firmware for STM32F4/F7, customized embedded Linux images with Yocto, and the systems built around them — including a C++ access-control service on embedded Linux backed by MongoDB change streams, Kafka, and cloud deployment. I've also shipped FOTA over SMP with an MCUboot secure-boot chain, a custom mesh network on ESP32, and UWB ranging on DW3000-class modules. I hold an MSc from Instituto Superior Técnico and have a published paper on running multilabel anomaly detection on microcontrollers. I care about real-time guarantees, secure boot, clean board bring-up, and BSPs that the next engineer can actually maintain.
Stack
RTOS & OS
- Zephyr RTOS
- Yocto / OpenEmbedded
- Embedded Linux
- FreeRTOS
Languages
- C
- C++
- Python
- Bash / Make
Hardware & buses
- nRF53 · nRF52 · nRF9151 · STM32F4/F7 · ESP32 · Zynq-7000
- I²C · SPI · UART · I²S · USB
- BLE · LoRa · LoRaWAN · NB-IoT / LTE-M · UWB (DW3000)
- JTAG / SWD
Tooling
- West · CMake · Kconfig
- BitBake · devtool
- GDB · OpenOCD
- Git · CI/CD
Let's build something
Open to embedded firmware roles and contract work.