IoT nodes
Sensor-to-cloud firmware handling connectivity, telemetry and OTA updates.
C/C++ firmware for ESP32, ESP32-S3, STM32 and Arduino-compatible hardware — the drivers, protocols and application logic that make a board actually do something.
Firmware sits alongside PCB design as one of the two core engineering disciplines behind every product we build — and it gets its own page here because it's often the harder half of the job. We write embedded C/C++ for ESP32, ESP32-S3, STM32 and Arduino-compatible targets: sensor drivers, communication protocols, power management and the application logic that ties them together, developed and debugged on real hardware rather than left as a simulation.
We build on the Espressif IDF and Arduino frameworks for ESP32/ESP32-S3, and STM32 HAL-based development for STM32 targets, with JTAG/SWD hardware debugging used to diagnose issues that only show up on the actual board.
Confirm what the firmware needs to do and which peripherals/protocols it touches.
Design the firmware structure and the drivers it depends on.
Write and unit-test the firmware against the target hardware.
Debug on real hardware and confirm behaviour under actual operating conditions.
Sensor-to-cloud firmware handling connectivity, telemetry and OTA updates.
Firmware for automation hardware talking RS-485/Modbus on a plant floor.
LoRa and UWB firmware for long-range telemetry and indoor positioning.
The board this firmware runs on.
ESP32-specific firmware, ranging and wireless connectivity.
Firmware as part of a complete connected product.
Send your hardware details and what the firmware needs to do.