Firmware & embedded
Firmware is what turns an electronic board into a product that works. It has to run for years in the field without freezing, update remotely without bricking devices, and meet microsecond timing. We write the code next to the hardware we designed, so we know exactly what happens on every pin, timer and DMA channel. When something misbehaves, there is no argument about whether it is a hardware or a software problem: one engineer owns both.
What we do
- Bare-metal and FreeRTOS firmware
- Drivers for sensors and peripherals
- High-speed DMA- and interrupt-driven communication
- Protocols: UART, SPI, I2C, CAN, RS485, Modbus, USB, Ethernet
- Wireless: BLE, Wi-Fi, LoRa and cellular
- Bootloaders and remote firmware updates (OTA / FOTA)
- Real-time control, motor control and signal processing
When to call us
- You have hardware and need the code that runs it
- The product freezes, loses data or resets in the field
- You need to add remote firmware updates to devices already installed
- The existing code is undocumented and the original developer is gone
What you get
- Complete, documented source code with version history
- Build and flashing instructions
- Architecture and protocol documents
- A test report on the real hardware
FAQ
Can remote firmware updates be added to a product already in the field?
Usually yes. For example, we designed such a solution for a network of about 150 LoRa units already installed in the field, with no hardware changes.
Who owns the code at the end?
You do. The source code, its history and the documentation are handed over at the end of the project.
// Projects
Examples from the field
IoT · LoRa · FOTA
IoT · LoRa · FOTA
Remote firmware updates for a LoRa field network
- Challenge
- Update the firmware of about 150 units already in the field, over a slow LoRa channel with a 1% duty-cycle limit, without changing a single hardware pin and without bricking devices.
~150End units in the field
Medical · Real-time control
Medical · Real-time control
Ultrasonic medical nebulizer
- Challenge
- The piezo element's resonant frequency shifts with heat during treatment. If the controller doesn't follow it, the mist weakens or disappears.
±25HzTracking accuracy around 173.6 kHz
Sensors · Real time
Sensors · Real time
IMU sensor unit at 2 kHz
- Challenge
- Read an IMU sensor and transmit the data to the computer 2000 times a second, with less than 500 microseconds per cycle.
2kHzStreaming rate, zero lost messages
Have a project on the table?
A free 30-minute intro call, no obligation.