Skip to content

Embedded Systems & Firmware

Firmware that is testable, updatable and safe to ship.

Debug probe attached to a microcontroller development board

What you receive

  • Firmware architecture and module decomposition
  • Board support package and peripheral drivers
  • Application firmware with unit and integration tests
  • Bootloader with signed over-the-air update
  • Power profile and duty-cycle measurements
  • Source, build system and CI pipeline

Capabilities

How we approach it.

  • Bare metal, RTOS or Zephyr — chosen deliberately

    A sensor node that sleeps 99 % of the time does not need a scheduler. A gateway juggling a radio, a filesystem and a display does. We pick against your real concurrency and power requirements and say why.

  • Secure boot and signed OTA update

    Chain of trust from ROM, ECDSA-signed images, A/B partitions with automatic rollback on a failed health check, and an update path that survives a power cut mid-write. Shipping without this is shipping a product you cannot fix.

  • Connectivity that works outside the lab

    BLE 5.x including mesh, Wi-Fi, LoRaWAN, NB-IoT and LTE-M, plus Modbus RTU/TCP, CAN and CANopen, Ethernet/IP and MQTT with TLS. Reconnection, backoff and offline buffering designed as features rather than bolted on.

  • Low-power design measured, not estimated

    Duty cycles profiled on real hardware with a current analyser. We report average consumption and projected battery life against your usage model, and we show you the traces.

  • Testable by construction

    Hardware access sits behind interfaces so logic runs on the host under unit test. CI builds every commit, runs the test suite, checks static analysis and produces a flashable artefact — no more 'it built on my machine'.

  • Bring-up and debug on your bench or ours

    First power-on, peripheral validation, protocol analysis and the fault-finding that follows. Logic analysers, oscilloscopes and JTAG/SWD traces — with a written record of what was found and how it was fixed.

Firmware is the part of a product that keeps changing after launch. That single fact drives every architectural decision we make: if it cannot be tested, updated and diagnosed in the field, it is not finished.

Architecture before code

We separate hardware access, protocol handling and application logic so that the interesting behaviour can be exercised on a development machine at commit speed. Peripheral drivers sit behind narrow interfaces; the application above them is portable and testable.

Updates are a first-class requirement

Every connected product we ship carries a bootloader with image signing, dual-bank storage and automatic rollback. An update that bricks a fielded fleet is the most expensive possible failure, so the recovery path is designed and tested before the first feature is written.

Power is a measurement, not a promise

Battery life claims are validated on hardware with a current analyser across the full duty cycle — advertising interval, sensor wake, radio transmit and deep sleep. You receive the traces and the arithmetic, not a figure from a datasheet.

Hardware and firmware developed together

Because the same team designs the board, test points land where the debug actually needs them, pin assignments respect both the routing and the peripheral matrix, and bring-up starts the day boards arrive rather than a fortnight later.

Tooling & standards

What we work with.

Silicon
  • STM32 (F/G/H/L/U)
  • Nordic nRF52 / nRF53
  • ESP32-S3 / C6
  • NXP i.MX RT
  • TI MSP430 / CC13xx
  • Raspberry Pi RP2350
Stacks
  • Zephyr RTOS
  • FreeRTOS
  • Bare metal C11
  • Embedded Rust
  • MCUboot
  • lwIP
  • littlefs
Tooling
  • CMake + GCC ARM
  • Segger J-Link / Ozone
  • Saleae Logic
  • Unity + Ceedling
  • GitHub Actions

Common questions

  • Do you provide firmware for hardware you did not design?

    Yes, including bring-up and debugging of boards from other suppliers. We start with a review of the schematic and layout, because roughly a third of 'firmware' problems we are handed turn out to be hardware.

Have a board that needs designing?

Send us the constraints — schematic, mechanical envelope, volume, timeline. You will get a considered response from an engineer within one business day, not a brochure.

We reply within one business day, from an engineer.