How a CPR feedback system is created

What difference can a CPR feedback system make to cardiopulmonary resuscitation?

In the event of cardiac arrest, the transport of oxygen to the body's cells stops immediately, leading to irreversible damage. Cell death begins after just three minutes. This process can be slowed by restoring blood circulation through cardiopulmonary resuscitation (CPR). The so-called "golden minutes" are crucial until emergency services arrive. If high-quality cardiopulmonary resuscitation (CPR) is performed during this time, it can prevent the death of the affected person and potential long-term damage.

Current guidelines recommend a compression depth of at least 5 cm, but no more than 6 cm, during resuscitation, at a rate of 100 to 120 compressions or beats per minute (BPM). This narrow range, particularly regarding compression depth, is difficult to achieve even for well-trained professionals in nursing or emergency medical services.

For these reasons, I have developed a cost-effective and portable solution at MEDtech Ingenieur through my own research and development work. CPR feedback sensor Developed based on our "M-Track Board." The M-Track Board (Motion Track) is a sensor board we developed that can be programmed for a wide variety of motion analysis applications. The sensor supports first responders during cardiopulmonary resuscitation (CPR) by providing direct feedback on their compression depth and rate during CPR, thus improving the quality of the resuscitation.

How does a portable CPR feedback system work? 

Our M-Track board is housed in a small, lightweight, and portable device. It features an accelerometer, a gyroscope, and a magnetometer. The sensor records and processes the measurement data and transmits the results to a smartphone app. A smartphone, with its display and speakers, provides all the necessary components for displaying the results and entering information. The device can be attached to various positions on the body of the first responder or the person being resuscitated. Ideally, the sensor should move in the same direction as the sternum of the person being resuscitated. However, the most effective placements are on the chest at the level of the sternum or on the fingers/palm of the person being resuscitated.

Algorithms and software

The foundation for implementing the algorithm in C is the real-time operating system. zephyr. The operating system was specifically designed for resource-constrained devices that require reliable real-time performance. Zephyr supports a wide range of microcontrollers and various sensors. Therefore, Zephyr also allows me to quickly connect the sensors and implement the algorithm for the CPR sensor.

The algorithm analyzes the acceleration signals in the frequency domain and is therefore significantly more accurate and less sensitive to drift than algorithms that calculate the indentation depth through integration in the time domain. The algorithm is extremely precise and reliably delivers the exact indentation depth.

The microcontroller and sensors of the M-Track board are part of a set of components that, taken together, can be considered a modular system. This system allows me to build a modular platform, adaptable to specific requirements or customer specifications. By exchanging, adding, or removing individual components, the M-Track board can be programmed for specific applications. Because I am using a fully developed and mature circuit board, the development time for new products is significantly reduced.

What hardware is required for a CPR sensor? 

The diagram shows a simplified representation of the hardware. The central component is the Bluetooth Low Energy module (BLE module) with an integrated microcontroller, to which the sensors are connected via the I2C bus. The power supply provides energy to the other components.

A CR1220 coin cell battery serves as the power supply. When choosing a battery as the power source, its high charge retention capacity is a crucial factor. This is important because the sensor may remain switched off for years before being used. The assembled circuit board and the associated housing of the feedback system are shown in the following figures.

How does an app support first responders in performing CPR?

The app's primary function is to visualize measurement results. In addition to the current compression depth and rate, target values are also displayed. Another function is to guide the user through CPR. The app is designed to guide the user step-by-step through the entire CPR process. In an emergency situation, stress levels can be very high, which can impair the ability to make clear decisions and perform precise actions. The app is designed to relieve the user of as many decisions and tasks as possible. Flutter was used for the app's development. This language enables cross-platform development of apps for iOS, Android, web, and desktop with a single codebase.

The following image shows an overview of all pages of the app. On the start screen, shown in the upper left, clicking the "Open CPR Live Page" button allows direct navigation to the last page, shown in the lower right. This shortcut is intended for use in the development process, as it visualizes frequency and impression depth. The remaining pages show a possible usage flow and serve as a demonstration. The depicted flow is achieved with the following inputs:

Start CPR → Call rescue service → an Adult → Person is unconscious → Not breathing → Sensor is in place → Understood

How was the CPR feedback system tested and validated?

Especially for a sensor used in life-saving cardiopulmonary resuscitation (CPR), robust validation is essential. Therefore, a test rig was developed for validation purposes that precisely captures, records, and analyzes the movements of the feedback sensor. 

The development of the test setup and the graphical presentation of the validation results will be described in a further blog article, which will be published shortly.

If you would like to learn more about CPR feedback or discuss individual solutions for your company, please feel free to contact us.


Written by Stefan Höhe

Stefan holds a Bachelor's degree in Automotive Engineering from Ulm University of Applied Sciences and a Master's degree in Mechatronics from Konstanz University of Applied Sciences, specializing in embedded systems. At MEDtech Ingenieur, Stefan supported our team in software development in the field of sensor technology.


More articles

  • 20/01/2026
  • General, manufacturing, production, quality, testing, company

We are delighted to further strengthen our team at MEDtech Ingenieur: Since January 15, 2026, Lea Schöppach has been supporting us in the areas of quality management, testing, and production engineering. With her sound training in medical technology and ...

Read more
  • 18/12/2025
  • General, Embedded, Software, Testing, Tools, Usability

Usability is generally highly valued – yet it is still often neglected. Why is that? Because usability often only becomes noticeable when it's missing. It can be easily overlooked. ...

Read more
  • 01/12/2025
  • General, Hardware, Standards, Requirements Engineering

I frequently read articles that cite IEC 60601-1-2 as the sole EMC requirement for medical devices. However, anyone who believes that IEC 60601-1-2 covers all EMC requirements for medical devices is easily mistaken. ...

Read more