Embedded firmware development and control, written and verified on the real hardware
Micro Digital Engineering develops firmware that controls equipment: control loops, protection, measurement, diagnostics and communication with other systems. Our firmware work is based on STM32 microcontrollers, programmed in C and C++. The firmware is developed together with the hardware engineers and verified on real prototypes assembled in-house, including its behaviour in fault conditions.
Confidential task? We sign an NDA before you share technical files.
Can you develop firmware that controls our hardware and protection functions?
Yes. We define how the firmware must behave in normal operation and in fault conditions, which inputs it reads, which outputs it drives and how quickly it must react. These requirements become the basis for the design and for the tests on the hardware.
When you need this
- New hardware needs its control firmware.
- Existing electronics has to work with new firmware, sensors, actuators or a supervisory system.
- Equipment needs new protection, measurement or diagnostic functions.
- Existing firmware is unstable and has to be restructured or rewritten.
- Service staff need a tool to configure, test or diagnose the device.
What the work covers
Embedded firmware development
New firmware for the target hardware: peripheral drivers, timing, state machines, measurement and communication, structured so that it can be tested and maintained.
Firmware integration with existing electronics
Firmware that has to work with boards, sensors, actuators and systems that already exist: their signals, timing and protocols are defined first, then implemented and tested with the connected equipment.
Control and protection logic
Control loops, start-up and shutdown sequences, fault detection, protection reactions with defined response times, safe states, diagnostics and event records.
Firmware verification on the device
Tests on the hardware the firmware will run on: normal operation, limits and fault conditions, with response times measured on the real board rather than assumed from the code.
Service and test software
PC tools for configuration, diagnostics, data logging and automated tests: Python for test and data acquisition tools, Java for desktop service applications.
Firmware recovery and migration
When the source code of existing firmware is lost or the microcontroller has to change, the work is a separate service: firmware reverse engineering.
Firmware and hardware in one engineering team
Firmware is developed together with the engineers who design and assemble the hardware. Prototype boards are assembled and brought up in-house, so firmware is tested on real boards from the first bring-up, and a fault is investigated on the bench from both sides — circuit and code — instead of being passed between separate teams.
What’s included
Firmware requirements, architecture, hardware drivers, control and protection logic, measurement and diagnostics, communication with connected equipment, tests on the target hardware, service or test software when agreed, and documentation.
Not included: recovery or migration of existing firmware, which is firmware reverse engineering; FPGA logic, described on FPGA development; formal functional safety certification by an accredited body.
What you receive
| Deliverable | Format | How it is checked |
|---|---|---|
| Firmware requirements | Document: behaviour, interfaces, timing, fault reactions | Review and written approval |
| Source code | Repository or archive with build instructions | Code review, build check |
| Firmware image | Binary for programming, with version | Programming and tests on the hardware |
| Interface description | Document: inputs, outputs, protocols | Tests with connected equipment |
| Service or test software, when in scope | Application with instructions | Use on the device |
| Test report | Document | Results against the requirements, including fault conditions |
How the project runs
- Behaviour, interfaces, timing and fault reactions are defined.
- The firmware architecture is designed.
- Drivers and functions are implemented and reviewed.
- The firmware is tested on the prototype hardware, including fault conditions.
- Corrections are made and the firmware is verified again.
- The released version, source code and documentation are handed over.
See how we work.
What to send us
- A description of the equipment and what the firmware must control.
- Hardware documentation: schematics, microcontroller, interfaces.
- Required protection behaviour and response times.
- Communication requirements and connected systems.
- Existing firmware and its known problems, if any.
Common questions
Which microcontrollers do you work with?
Our firmware work is based on STM32 microcontrollers. Other families are assessed for each project from the hardware documentation.
Is the firmware tested on real hardware?
Yes. Tests run on the target hardware or on prototypes assembled in-house, including fault conditions and measured response times.
Do we receive the source code?
For newly developed firmware, the source code and build instructions are part of the deliverables defined in the project agreement.
Can you work on hardware we have already built?
Yes. We start from your hardware documentation and agree a way to test on your boards.
Our existing firmware cannot be modified because the source code is lost. What can be done?
That is the subject of firmware recovery and migration: extraction of the existing image or a new implementation of its functions.
Can you add monitoring or communication to an existing device?
Yes. See industrial equipment telemetry.
Do you certify firmware for functional safety?
We implement the protection behaviour defined in the requirements and test it on the hardware. Formal functional safety certification is carried out by an accredited body.
Related services
- Firmware reverse engineering — recovery and migration of existing firmware.
- Power electronics design — control of converters and inverters.
- PCB design — controller boards.
- Test benches — automated tests for equipment and boards.
Discuss your firmware
Describe the equipment, the hardware and what the firmware must do.
Confidential task? We sign an NDA before you share technical files.
