Firmware & software
From first power-on to the application layer
We write the layer that most teams underestimate — the board support package, the drivers, and the real-time behaviour that determines whether the product feels solid or merely functional.

Stack
Every layer between silicon and application
Written by engineers who can read the schematic, because in most cases they drew it.
01
Board support and bring-up
First power-on, clock and memory configuration, boot chain and the board support package. The unglamorous layer that decides whether the rest of the schedule holds.
02
Device drivers
Drivers for Ethernet, RS-232 and RS-485, SPI, I²C, FPGA interfaces, microSD, Flash and custom peripherals — written against the datasheet and validated on the hardware, not assumed from a reference port.
03
Operating systems
Embedded Linux, VxWorks, Nucleus Plus, FreeRTOS and proprietary kernels, plus OS-less designs where the timing budget will not tolerate a scheduler. Kernel and BSP customisation included.
04
Middleware and connectivity
Networking and IoT stacks, BLE, Zigbee and GPS integration, file systems and storage layers — the plumbing between a driver and something a product manager can demonstrate.
Platforms
What we work in
Operating systems
- Zephyr RTOS
- Embedded Linux
- VxWorks
- Nucleus Plus
- FreeRTOS
- Proprietary RTOS
- OS-less / bare metal
Device drivers
- Ethernet
- RS-232 / RS-485
- SPI / I²C
- FPGA
- microSD
- Flash
- Custom devices
Connectivity
- BLE
- LoRa
- LTE-M / NB-IoT
- Zigbee
- GPS
- IP networking
- IoT solutions
Evidence
Firmware we have delivered
Projects that exercised most of the above.
Turn-key IoT platform for trackside monitoring and data logging
Eight-channel analog acquisition, optically isolated safety monitoring and a custom LoRa-to-Linux bridge on a single 110V AC board.
Connected LED signal marker board for railway applications
Redundant LED strings that degrade rather than go dark, with carrier-independent LTE-M/NB-IoT, GNSS tracking and over-the-air updates on a battery budget.
Turn-key design of a precision 56 kHz loop signal generator
Three signalling frequencies held to ±0.01% with sub-5ms switching, dual waveform output, and a 50Ω output stage driven from 24V DC.
Application development
Software above the platform
Once the platform is stable, the product is a software problem. We stay through that half too.
Multimedia
Capture, encode and streaming pipelines on constrained hardware, tuned against real throughput and latency budgets rather than desktop assumptions.
Application layer
Device applications, configuration and provisioning flows, and the host-side tooling your production line and field engineers actually need.
Integration
Bringing hardware and software together, characterising behaviour under load and temperature, and closing the gap between "works" and "ships".
Tell us what you are building
Send us a specification, a block diagram, or a rough idea. We will come back with an honest assessment of scope, risk and the fastest route to a working prototype.