U2Embedded systems & firmware
Firmware that keeps running.
We write the software inside the device - from the drivers to over-the-air updates. ESP32 and STM32, FreeRTOS, low power, and code your team can maintain without us.
- ESP-IDF · FreeRTOS
- A/B updates
- Automated tests
What we solve
When people call us about firmware
01
The board is ready, the firmware is not
We write firmware for existing hardware: drivers for the sensors, the logic and the link, tested on your board.
02
Old code nobody dares to touch
We review it, document it and move it to current tools without losing the behaviour you rely on.
03
The battery runs out too soon
We measure the real current draw and rework sleep, the radio and the peripherals until the battery lasts as long as it should.
04
Updates are risky
Over-the-air updates in two slots, with an automatic rollback if the new version fails to start - as in RiNGY.
What you get
Code that can be maintained.
The firmware is yours: the repository, its history and everything someone else needs to build it.
| Document | Format | Note |
|---|---|---|
| Source code | Git repository | With the full history of changes |
| Build instructions | README | Tool versions and flashing the device |
| Over-the-air updates | Signed bundle | Two slots and an automatic rollback |
| Automated tests | CI configuration | A build and tests on every change |
| Interface description | Markdown / PDF | Protocols, registers and commands |
What we work with
- C
- C++
- ESP-IDF
- STM32Cube
- FreeRTOS
- Zephyr
- GitHub Actions
How it runs
From review to hand-over
- 01
Review
The hardware, the requirements and any existing code.
1 week
- 02
Architecture
Tasks, priorities, memory, power and an update plan.
1-2 weeks
- 03
Development
Short cycles with working firmware on your board every week or two.
3-10 weeks
- 04
Testing
The real environment, lost power and lost network, simultaneous actions.
1-3 weeks
- 05
Hand-over
Code, instructions and training for your team if you will maintain it.
1 week
Durations are typical guides. New firmware for a simple board is quicker; taking over a large legacy project starts with a separate review.
Proof
Firmware that rings every school day
RiNGY runs on an ESP32-S3 with FreeRTOS: the timetable, a touchscreen, a local HTTPS interface and two-slot updates with rollback.
Questions about firmware
Which microcontrollers do you work with?
Mainly ESP32 (ESP-IDF) and STM32. If a project needs another family, we will tell you honestly whether we have experience with it.
Can you take over existing firmware?
Yes. We start with a short code review and tell you what state it is in and what we propose before you commit.
How do over-the-air updates work?
The new version is written to the inactive slot and verified. If it fails to start, the device returns to the old one by itself - the working version stays available throughout.
Do you write the phone or cloud software too?
That's the job of our software partner CulSoft. We're responsible for everything that runs on the device itself, and for the link up to the app.
