Firmware development for production-grade devices
Stable, secure and energy-efficient software for microcontrollers and processors. We write firmware that is tested on real hardware before it reaches thousands of devices in the field.
What we build
Firmware for the whole device lifecycle - from the first board bring-up to updates for units already installed.
Bare-metal and RTOS firmware
Application logic, state machines and power management on microcontrollers.
Embedded Linux
BSPs, custom layers and update mechanisms on application processors.
Device drivers
Peripheral drivers and Linux kernel drivers for sensors, displays and motors.
Bootloaders and updates
Bootloaders, secure boot chains and field updates, designed with cybersecurity in mind.
Connectivity stacks
BLE, Wi-Fi, cellular and wired protocols integrated into the firmware. See IoT & connectivity.
Firmware for existing products
Taking over, refactoring and porting legacy code. See legacy modernization.
Platforms and tools we work with
The platform is chosen for the product, not the other way round.
Operating systems
- FreeRTOS
- Windows
- Android
- FreeBSD
- Linux
- Embedded Linux
- macOS
- iOS
- QNX
Languages
- C
- C++
- Rust
- Python
- Verilog
- VHDL
Microcontrollers and processors
- Arm Cortex-M / Cortex-A
- RISC-V
- STM32
- STM8
- NXP i.MX / i.MX RT
- NXP LPC
- NXP Kinetis
- Microchip PIC
- Microchip AVR
- Microchip SAM
- TI MSP430
- TI SimpleLink
- TI Sitara
- Renesas RA
- Renesas RX
- Infineon PSoC
- Infineon AURIX
- Infineon XMC
- Silicon Labs EFR32
- Nordic nRF52 / nRF53 / nRF91
- Espressif ESP32
- GigaDevice GD32
- WCH CH32
- Raspberry Pi RP2040 / RP2350
- Intel
- AMD Zynq
- NVIDIA Jetson
How we work
- 01
Discovery
Requirements, hardware constraints, power budget and update strategy.
- 02
Architecture
Module boundaries, RTOS or Linux decision, memory map and interfaces.
- 03
Iterations
Short iterations with builds you can flash and test on your hardware.
- 04
Release
Versioned releases, change log, SBOM and handover documentation.
Quality and testing
Code is tested before it is flashed onto thousands of devices.
- Unit tests for hardware-independent logic, run in CI on every change.
- Integration tests on real target hardware in our lab.
- Hardware-in-the-loop tests where the project requires them.
- Code review by a second engineer and static analysis in the pipeline.
- Power and timing measurements for battery-powered devices.
FAQ
Discuss your project
Describe your project and goal. An engineer replies within one business day.


