/Pacemaker

Implementing a pacemaker on the FRDM-K64 board, pacemaker shield, and a heart simulation software. Used safety critical software principles.

Primary LanguagePython

Pacemaker

A cardiac pacemaker is a real-time device used to monitor and stimulate the heart muscles of a patient. For this project our teams of four designed and implemented embedded pacemaker software, driver software and a user interface. The pacemaker contains 8 available modes, 15 programmable parameters, and a 27 byte serial packet protocol to change pacemaker operation during live execution.

The pacemaker development station consisted of the FRDM-K64 microcontroller and the HeartView testsuite. The HeartView testsuite was the software to used to the visualize electrical stimulus's of the microcontroller, and send mimicked heart signals of the pateint.

Rate Adaptivity

Similar to a real heart, physical motion can be detected by the accelerometer and the heart rate is increased appropiately.

Serial Communication

Serial Communication allows for the dynamic changing of pacemaker modes and programmable parameters. A UART 27 byte packet protocol was used to communicate between the UI and microcontroller.

Response to Natural Heart Signals

We have implemented modes that can respond to natural heart paces from the patient.

User Interface

The user interface contains multiple screens, login capability, and other features.

Technologies and Design

  • Simulink to develop the embbeded pacemaker software. Specifically simulink stateflows, the FRDM-K64 toolbox, subsystems, submodels and datstores.
  • Python for the user interface
  • FRDM-K64 microcontroller
  • HeartView testing suite

Model driven development was the process chosen for this project. Because this is a safety critical system particular importance was placed on software engineering principles such as modularization, information hiding, hardware hiding and formality.

Full picture Full picture Full picture