Heartwave Pico is a portable Heart Rate Variability (HRV) analysis device based on Raspberry Pi Pico W. It uses Photoplethysmography (PPG) technology to measure and analyze users' heart rate and heart rate variability, providing real-time health monitoring.
Real-time heart rate monitoring
Heart Rate Variability (HRV) analysis
Integration with Kubios Cloud service for advanced HRV analysis
User-friendly interface with OLED display
Data transmission via MQTT protocol
Local data storage and history viewing
3D-printed case for enhanced portability and user experience, see case design
User Interface
User Interface in Action
Note: All components should be powered by 3.3V and connected to GND.
Install mpremote
if you don't have it installed.
pip install mpremote
Clone the repository
git clone --recurse-submodules https://github.com/shengt25/Heart-Wave-pico.git
[Optional] Configure settings:
config.json
to set up the WiFi: wifi_ssid
and wifi_password
, mqtt_broker_ip
kubios_apikey
kubios_client_id
and kubios_client_secret
.src/hardware.py
and modify the default parameters in __init__
functions for classes accordingly.Connect the Raspberry Pi Pico W to your computer via USB and run the script:
for Linux or MacOS:
cd Heart-Wave-pico && ./install.sh
for Windows:
cd Heart-Wave-pico && .\install.cmd
Restart the Raspberry Pi Pico W and it should be ready to use.
Note: To ensure a faster system booting, MQTT will not be connected by default, because if it will block the whole system for about 15 seconds if the broker is not available. You can connect it manually in the settings menu, if the Wi-Fi and MQTT broker is correctly set up.
Case Design in CAD
Case 3D Printed
Main Data Flow
Task Scheduling
Program Structure