Services

Firmware for your board.

Most of our work starts with a board that is already in the field or on your bench, and a change you need. We make the change, verify it, and hand back a record you keep.

Firmware fixes

A bug you can describe, fixed with a test that proves it.

We reproduce the fault first, in a test that fails before the fix and passes after it. Then we fix the cause, not the symptom, and keep the change as small as the fix allows. You receive the failing test, the fix and its record.

New features

Added to your code base, in its style.

We write the tests from your requirement before the code. Any change to an interface your other parts depend on is agreed with you first. The record reports what the feature costs in flash and RAM.

Design from a specification

From a written requirement to working firmware.

Before any code, we list every gap and contradiction in your specification as questions. Where the specification is silent, we ask; we do not guess. Each requirement is traced to the code and the test that meet it.

Verification and bench proof

Evidence on the host, and on the hardware when it matters.

  • Native tests that run on a computer, with address and undefined-behaviour sanitizers.
  • Mutation testing: small deliberate faults in the changed code, to check the tests catch them.
  • A separate review of every change against your request, before you see it.
  • When behaviour depends on hardware (radio, timing, a connected instrument), a written bench procedure and its results: bench runs on your hardware, or on ours for ESP32-class boards.

We can also add a first test suite to firmware that has none.

Your microcontroller, your toolchain

Any MCU with a C/C++ toolchain.

Microcontroller families and their SDKs
FamilySDK or framework
STM32HAL/LL, STM32CubeIDE
ESP32 familyESP-IDF and the Arduino core
nRF52nRF Connect SDK / Zephyr
RP2040Pico SDK
AVR and SAMD—
Bare metal or an RTOSFreeRTOS, Zephyr
Build systemsPlatformIO, CMake, Make and vendor IDEs

The full record runs through PlatformIO today; when your project builds another way, connecting that build to our verification is part of the first task, and its quote says so.

Board not on the list? Ask. If it has a datasheet and a debugger, it is in scope.

Next

AI on the board

The next step for embedded products is intelligence on the device itself. Available on request as a scoped first project:

  • On-device inference on ESP32-S3-class and Cortex-M parts (TensorFlow Lite Micro, vendor neural-network libraries).
  • Camera and audio pipelines feeding a model on the board.
  • Devices connected to large language models. Getting the device onto the network is the first half; our MQTT bridge case shows it.

Not offered yet

Circuit board design, manufacturing and safety certification. Electronics and robotics come later, once we can show the record for them.

Have a board that needs a fix or a feature?

Describe it in a free 30-minute call. You leave with a written scope, whether or not you hire us.