Firmware that works, and stays maintainable
Firmware is the invisible foundation of your smart product. It's essential that you can trust your firmware. This starts with a solid architecture, strong tooling, and deliberate technology choices.
We build firmware you can build on. Literally.
From scratch, on your hardware or on a platform we choose together. Clean architecture, built to grow with you.
We also design hardware. When we do both, they're aligned from the start.
You already have a PCB, your own or from a third party. We write the firmware that runs on it.
Together we define the requirements: what should the system do, under what conditions, and what are the boundaries? This guides all decisions that follow.
We start with a clear software architecture: which tasks does the system run, how do they communicate, and where are the boundaries? This prevents spaghetti code and makes your firmware extensible. For more complex projects, we use async Rust and the actor model to cleanly delineate functionality and responsibilities.
We set up a complete development environment: a working Blinky or Hello World! as a starting point, flashing tools, CI workflows with automated tests, and a clear project structure. So your team can be productive from day one.
Every change is tested and reviewed. This catches issues early and keeps quality high, even as the project grows.
Documentation makes or breaks the future of the project. We document the things that matter: how to build the firmware, which configuration is important, how to connect the debugger for flashing, how the architecture is structured, and how firmware updates work in the field.
That's possible too. We have extensive experience with C on embedded.
To be honest: a C project typically takes more time than the same project in Rust. Not because we know C less well, but because it requires more discipline and testing to achieve the same quality. That's reflected in the price.
Do you have an existing C codebase you want to extend or maintain? Then C is often the logical choice. For new projects we recommend Rust, but the choice is yours.
Jitter B.V. has been developing firmware for embedded systems for over ten years, five of those in Rust, primarily on STM32. Our embedded engineers have gone through the learning curve and know where the pitfalls are. We put that experience to work for your project.