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.

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

DeliverableFormatHow it is checked
Firmware requirementsDocument: behaviour, interfaces, timing, fault reactionsReview and written approval
Source codeRepository or archive with build instructionsCode review, build check
Firmware imageBinary for programming, with versionProgramming and tests on the hardware
Interface descriptionDocument: inputs, outputs, protocolsTests with connected equipment
Service or test software, when in scopeApplication with instructionsUse on the device
Test reportDocumentResults against the requirements, including fault conditions

Discuss your firmware

How the project runs

  1. Behaviour, interfaces, timing and fault reactions are defined.
  2. The firmware architecture is designed.
  3. Drivers and functions are implemented and reviewed.
  4. The firmware is tested on the prototype hardware, including fault conditions.
  5. Corrections are made and the firmware is verified again.
  6. 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

Discuss your firmware

Describe the equipment, the hardware and what the firmware must do.

Discuss your firmware

Confidential task? We sign an NDA before you share technical files.