40-node BLE mesh home system
We built a BLE Mesh network of around 40 nodes for a connected home product (client anonymized). The firmware handles reliable provisioning and control across the whole mesh, so lights and devices respond as one system.
Firmware that ships and survives the field. We bring up boards, write drivers, and build the wireless, OTA, and on-device intelligence on top, on ESP32, STM32, and nRF52. From first bring-up to a fleet updating itself over the air.
Firmware starts at the board. We do bring-up on ESP32, STM32, and nRF52, write the drivers for the sensors and peripherals on the schematic, and pick the RTOS that fits the silicon. ESP-IDF and FreeRTOS, Zephyr, or bare-metal, chosen for the job rather than out of habit.
The value shows up after the bench. We build the wireless stacks (BLE, BLE Mesh, LoRaWAN, cellular), the OTA path that keeps a shipped fleet current, and the on-device ML that lets a product decide for itself. That is what keeps a product working long after it leaves the lab.
We built a BLE Mesh network of around 40 nodes for a connected home product (client anonymized). The firmware handles reliable provisioning and control across the whole mesh, so lights and devices respond as one system.
We scaled the same approach to around 60 rooms of BLE Mesh controllers for a resort deployment (client anonymized). The stack was tuned for range and stability so a large building stays reliable end to end.
We wrote the firmware for the PhotoRedOx Box lab photoreactor (hepatochem.com), controlling light, sensing, and safety. It is a shipped scientific instrument, so the firmware has to be precise and dependable every run.
Firmware never stands alone. It runs on the board our PCB design team lays out, and it speaks the same BLE protocol our companion app development team builds against. One team owns the whole path, so the hardware, the firmware, and the app agree from the first commit.
Mainly ESP-IDF (FreeRTOS) on ESP32, Zephyr on nRF52 and other targets, and bare-metal or FreeRTOS on STM32. We pick based on your silicon, your wireless stack, and your long-term maintenance, not habit.
Yes. We are comfortable inheriting partial or messy firmware, reading the schematics, and getting it stable. We start with a short review so you know what you have before we change it.
Yes. We implement device-side OTA (ESP-IDF OTA, BLE DFU, A/B partitions with rollback) and wire it to the update backend or app so a shipped fleet can be updated safely.