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.
Similar to a real heart, physical motion can be detected by the accelerometer and the heart rate is increased appropiately.
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.
We have implemented modes that can respond to natural heart paces from the patient.
The user interface contains multiple screens, login capability, and other features.
- 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.