Shopping Cart

Free shipping orders over Rs. 2000 (within INDIA) OR $200 (worldwide)

Need help? Call us at +91–99166-37700 or WhatsApp us at +91-80-4152-7072

Search Product Documentation...

Table of Contents
Categories

2. Getting Started

You are here:
< All Topics

Meet HealthyPi v4

Reliable health monitoring has traditionally required that we tether ourselves to machines capable of recording our vital signs around the clock. Outside of a clinical setting, however, this is rarely practical. We developed HealthyPi v4 in part to address this challenge. Building upon its predecessor, HealthyPi v4 is a fully open source, standalone vital signs monitor with wireless and wearable capabilities.

What’s in the box?

1. HealthyPi v4 main board

2. 1000mAH, 3.7V Li-Po Battery with JST

3. Sensor Cable- Electrode pads(3 connectors)

4. Finger-clip SpO2 probe

5. Qwiic based temperature Sensor with Cable

6. Micro USB Cable

7. Disposable ECG electrodes(20 nos)

HealthyPi v4 Complete Kit Contains:

This kit contains everything in HAT Kit, and additionally includes:

1. Raspberry Pi 4 Model B computer

2. Official 7″ Raspberry Pi touchscreen LCD display

3. SmartiPi Touch-2 Enclosure

4. 16GB microSD Card

5. Medical-grade power supply

Connecting sensors

Connecting the ECG/Respiration Electrodes

A 3-electrode cable along with a standard stereo jack is provided along with the shield to connect the electrodes to the board.
The other side of the electrode connector would connect to Snap-on electrodes attached to the body. For testing purposes, you can use an ECG simulator to provide inputs to the board.

Important Warning:
When connecting the electrodes to the body, it is safer to disconnect the mains power source to the Arduino. For example, if you are using the Arduino along with a laptop, disconnecting the battery charger from the laptop would be a safe option.

Place the electrodes on the body in the positions as shown in the image above to get the best signal. However, placing it in other positions on the chest would work as well with differing ECG signal patterns. For getting respiration using the Impedance Pneumography, it’s best to wear them on the chest as mentioned in above image.

Connecting the Pulse Oximetry Probe

Pulse oximetry is an optical method of non-invasively measuring the oxygen content in the blood. This is achieved with the help of a finger-clip probe that contains some LEDs on one side of the clip and a photo-detector on the other side.

The LEDs emit light in the red and IR wavelengths. Some of these are absorbed by the blood and the rest is transmitted through to the other side of the finger, which is picked up by the photo-detector. The Pulse Oximetry front-end measures this variance in the transmitted light intensity to display the Photoplethysmogram (PPG) signal. SPo2 is a computed value derived from the Red and IR PPG signal.

To start measuring, simply plug-in the provided SPo2 finger-clip probe to the DB9 connector on the HealthyPi v4 board. If the probe is properly plugged in, you should see a Red glow inside the probe.

Connecting the temperature sensor

A digital human body temperature sensor based on the MAX30205 from Maxim Integrated is provided. This sensor provides direct, calibrated temperature values over a digital I2C interface. The sensor comes as qwiic based connectors making the interface even more simpler than before and a cable for maximum flexibility.

No more colour coding confusion, Just Plug the qwiic based temperature sensor directly to read data. Refer the connection shown in the above image.

Powering the device

Plugging Battery

Powering the device with a Li-Po rechargeable battery improves its portability. HealthyPi v4 can be used as a standalone device, without external interfaces or power. The battery can be directly connected to HealthyPi v4 through the onboard 2-pin JST-PH connector. Check out the image above connecting the battery with HealthyPi v4.

Using a USB Port

You can plug cables into a USB port in HealthyPi v4 at any time regardless of whether the device is powered on or off. The USB port can be used for powering the device, uploading the code and charging the battery.

On-board Indication

HealthyPi v4Indication – LED
Power ONYellow LED glows for 2.5sec
HPi3 ModeBlue LED glows from low to high and high to low
Device RestartYellow LED glows for 2.5sec
BLE ModeYellow LED blinks until connected
Webserver modeYellow LED glows from low to high and high to low
Soft-APBlue LED blinks 6 times
OTA Upload Complete IndicationBoth(Yellow and Blue) LEDs blinks together
Charge IndicationRed LED glows until battery fully charged

Setting Up the HealthyPi v4 Complete Kit

The HealthyPi v4 Complete Kit has all you need to quickly put together a standalone vital monitor. With the latest Raspberry Pi4 added with kit and microSD storage comes up with the HealthyPi v4 software pre-loaded and configured. Just Plug-in to stream live vital signs.

Everything is in the box

The SmartiPi Touch Display that comes included with the HealthyPi v4 Complete kit is already partly assembled. Now it’s time for you to take up the task by assembling the display enclosure and the display stand for the provided SmartiPi Touch Case. Check out the below video for instructions on how to assemble the kit.

Using HealthyPi v4 on Raspberry Pi

This section is for those who want to do a manual installation with HealthyPi v4, those who want to modify with the code and generally play with the hardware.

For the simple way to setup HealthyPi v4 on Raspberry Pi,
The following are the steps involved to get Raspberry Pi ready for a wireless remote patient monitor. The following video shows you how to connect the HealthyPi v4 as “HAT” to a Raspberry Pi.

Step 1 : Download HealthyPi Raspbian Image

The HealthyPi Raspbian image file can be downloaded from the Protocentral HealthyPi v4 github repository.

Step 2 : Writing an Image File

Format the 16GB SD card, use the Etcher or Win32 disc imager and open the downloaded and extracted image file. Write the image file to your SD card. Insert the SD card into the raspberryPi and it should work.

After the script reboots your Raspberry Pi, you should be able to see the GUI display the sensor outputs in real-time on the screen.

This completes the install!

Getting started with the HealthyPi GUI on Windows, MacOS and Linux

The HealthyPi v4 board now streams the same data on the on-board USB port. This allows you to get the same data that goes to the Raspberry Pi, now on your desktop PC as well.

Java 8 is required on all platforms for running the processing-based GUI application. You can download Java for your platform from the following link.

https://java.com/en/download/

Installing drivers (only for Windows)

HealthyPi v4 uses the same drivers as an ESP32. Once plugged in to the USB port, the device would be recognized as an “Unknown Device”. You can locate the device is the Windows Device Manager and manually install the drivers provided in the “drivers” folder in the Windows Executable ZIP archive provided.

MacOS and Linux do not need any drivers to be installed.

Processing GUI Installation

The HealthyPi visualization software has been developed using the Processing.
Processing is a Java-based open source framework. The following are the steps to get the visualization software ready for wireless remote patient monitor:

Step 1 : Download Processing IDE for your HOST COMPUTER operating system

a. Latest Version of the Processing IDE can be downloaded from the following link:

Download Processing

b. Unzip the file once downloaded.

c. Click for detailed Installation Instruction

Note:Verified with Processing v3.5.3

Step 2 : Getting the Processing code for the HealthyPi GUI

a. Download the HealthyPi v4 GUI Processing code from Protocentral Healthypi v4 Github repository.

b. Open the Processing and then File -> Open -> (downloaded path) -> protocentral_healthypi_v4 -> gui-software -> healthypi4_gui -> healthypi4_gui.pde opens the HealthyPi v4 processing code.

c. Intall its additional libraries from sketch-> import library-> add library like G4P, ControlP5, mqtt, Graphica.

Note: On MacOS, if you see an error saying “app is damaged”, please follow the steps given in https://support.apple.com/en-us/HT202491 .This is a known issue with Processing on MacOS.

Selecting modes

Now it’s easy to switch between two different modes in HealthyPi v4.  All you need to do is slide the mode selection switch to experience the features hidden under the two modes, the default BLE mode, or enter the Webserver mode using the on-board push button, and the other mode is HPi3.

Wearable Mode – Webserver

This image has an empty alt attribute; its file name is dashboard_webserver.png

In the Wi-Fi/web server mode, HealthyPi can stream live data over the Internet through any available WiFi connection. A push-button boots the device to the web server mode with the default HealthyPi Wi-Fi Access Point (AP). You can connect your from you WiFI-enabled device to the “HealthyPi ” Wi-Fi network and point your web browser to the “healthypi.local” site to access the home page of the application. The HealthyPi web server page displays the live calculated values as well as options to update firmware.

Starting with Web server

1. Push the on-board push button, to switch from BLE mode or V3 mode to Web server mode.

2. The board will restart with WiFi where the yellow LED stays ON for 2.5 seconds and then cycles ON and OFF as an indication for Web server mode and then enters Wi-Fi Access Point (AP) mode where the BLUE LED blinks 6 times. WI-FI Access Point means that you can connect to the ESP32 via any PC or smartphone with Wi-Fi capabilities without having to connect to your router.

3. Connect your PC or other Wi-Fi enabled smart device to the “HealthyPi” wifi network and type http://healthypi.local in the address bar of your browser, This will re-direct to the Healthypi v4 web-server dashboard where you can view the Heart Rate, SpO2, Respiration and Temperature by connecting the temperature sensor, the SpO2 probe and the 3 electrode cable to the healthypi v4 board.

4. If the web page is not loaded using http://healthypi.local, use the IP address of Healthypi v4 that will be shown on the serial monitor while using Soft AP mode. Make sure that the Healthypi v4 is in Webserver mode while checking for the IP address on the serial monitor.

5. You can also connect to a private network to view the Heart Rate, spO2, Respiration, Temperature in the webserver mode.

6. To connect to a private network, click the Change Wi-Fi Network button on the dashboard, redirect to the web page to enter the Network Credentials, SSID and Password. Click add, redirect to the “Successfully Modified Network Credentials” web page, and the device restarts and automatically connects to the user’s chosen network and shows the IP address of the private network on the Serial Monitor.

network credentials
Network Status

7. In the case that the Healthypi v4 does not connect to the private network, the device will restart and enter the Wi-Fi Access Point (AP) mode with a BLUE LED blinking 6 times.Repeat the 3rd or 4th step to re-connect.

Updating Firmware

OTA update feature in HealthyPi v4 is a more efficient and effective way to remotely update the software. It is convenient for end users to make changes and upload the software to the board without a USB cable. There is an OTA toolbar in HealthyPi v4 web server page, the user only needs to click the toolbar to update the latest software to the device. Updating the firmware can be done in a matter of seconds.https://player.vimeo.com/video/374130519

Flow of OTA in HealthyPi v4

1. Perquisite for OTA update is the binary file of the latest firmware. The binary file is generated by Arduino IDE -> Sketch -> Export Compiled binary. The generated binary file is stored in the same folder as the .ino file.

2. Ensure the Healthypi v4 is in web server mode. The Soft AP mode and STA mode are the two modes in the web server.

3. On connecting the board via USB to the PC, the IP address of Healthypi v4 will appear on the Serial monitor while using Soft AP mode. Typing the IP address / MDNS (i.e., healthypi.local) in the web browser will direct to the HealthyPi v4 web server dashboard.

4. In order to shift to the STA mode where the user can connect the Healthypi v4 to a private network, repeat the above step and click on the Change WiFi Network button on the dashboard, it redirects to the webpage for entering Network Credentials. The device restarts and automatically connects to the user’s desired network and displays the IP address of the private network in the Serial monitor.

5. On the right hand corner of the web server dashboard, an OTA button is present. On clicking the button, an OTA login page appears for OTA credentials. Enter the username and password as “admin” and “admin” and click on login.

ota login

6. Once logged-in, the user will be able to select the available binary files that can be used for software update of the device.

ota updated

7. Once the binary file has been changed, Healthypi v4 reboots with both Yellow and Blue LEDs will blink and the board will function as per the new binary file / software.

Wearable Mode – Webserver

wearable mode

Building upon its predecessor, HealthyPi v4 brings more flexibility to the user. Powered by the popular ESP32, it opens up wireless and wearable capabilities. Now it’s portable and standalone with in-built rechargeable battery. It can still be used as a HAT for Raspberry Pi or as a standalone wearable platform.

HealthyPi v4 is powered by the ESP32 SoC module, which supports pairing with smartphones through BLE. BLE is widely used in wearable devices because its low power requirements allow it to function for a long time without charging. HealthyPi v4 also supports pairing with other IoT devices for use in mesh networks. BLE 4.2 adds improved security capabilities.

Data measured by Healthy Pi v4 is accessible through standard BLE services for Heart Rate, Pulse Oximeter, Health Thermometer and Battery Service, as well as custom services for ECG and respiration. Notifications are used to transmit data from HealthyPi to the app.

Change the Slide switch from PI mode to WL mode on the healthypi v4 board to switch from V3 mode to BLE mode. The device restarts with an indication, yellow led stays for 2.5sec and the healthypi v4 enter to ble mode with an indication of yellow led blinks until connected. Once it is connected the led will stops blinking and when disconnected the led will starts blinking until connected.

Service NameService UUIDCharacteristic UUID
Heart Rate Service0x180D0x2A37
Pulse Oximetry Service0x18220x2A5E
Health Thermometer Service0x18090x2a6e
Battery Service0x180F0x2a19
ECG Service0x11220x1424
Respiration and Heart Rate variability Service“cd5c7491-4448-7db8-ae4c-d1da8cba36d0”“01bfa86f-970f-8d96-d44d-9023c47faddc”
Histogram Service“01bf1525-970f-8d96-d44d-9023c47faddc”

In the heart rate variability service two Characteristics are included, one for heart rate variability and the other for histogram.

In the ECG service, the default plot is ECG and an option is given to switch from ECG to PPG by writing “spo2” text data.

Introducing the HealthyPi app

Monitoring the human physiological data associated with day-to-day activities becomes much simpler with the HealthyPi app, which is available in app stores, for both Android and iOS devices.

HealthyPi Mobile App
HealthyPi Mobile App

The HealthyPi app is used to communicate directly with HealthyPi v4 hardware, through the same BLE services mentioned above, and can display all vital signs on a single screen.

HealthyPi Mobile App

HealthyPi v4 is a powerful tool, and the HealthyPi app opens up new possibilities for using it to monitor vital signs outside of traditional settings. Among other features, it is capable of displaying respiration, Histogram, Heart rate variability and ECG data.

Programming HealthyPi v4

Programming with Arduino

This image has an empty alt attribute; its file name is Arduino_IDE.png

Step 1: Download and Install the IDE

The Arduino Software (IDE) allows you to write programs and upload them to your HealthyPi v4. You can download the latest version for Windows, Linux and Mac OS using the below link.
Download the Arduino IDE

Note: Once you have downloaded, install the IDE and ensure that you enable most (if not all) of the options, including the drivers. Click for installing instructions in windows, linux, Mac OS

Step 2: Get the HealthyPi v4 COM Port Number

Next, you will need to connect the HealthyPi v4 board to a system. This is done via a USB connection. When the HealthyPi v4 is connected, the operating system should recognize the board as a generic USB COM port. The easiest way to do this is to type Device manager into Windows Search and select Device Manager when it shows.

In the Device Manager window, look for a device under Ports (COM & LPT) and chances are the HealthyPi v4 or an Arduino will be the only device on the list.

Step 3: Configure Arduino for ESP32 board support

The Arduino IDE does not come with support for ESP32 out of the box. Please follow the following instructions to add ESP32 boards support to the Arduino IDE.

Installing ESP32 Platform in Boards Manager

You will also need to select the “ESP32 Dev Module” board using the “Board:” option menu as shown in the figure below:

This image has an empty alt attribute; its file name is board_selection.jpg

Also, select the following options for the selected board by

  • Partition Scheme -> Minimal SPIFFS (1.9MB App with OTA/190Kb SPIFFS)

Next, you must tell the IDE which COM port the HealthyPi v4 is on. To do this, navigate to Tools > Port > COMXX. Obviously, if your HealthyPi v4 is on a different port, select that port instead.

Step 4: Install the latest HealthyPi v4 Arduino libraries

Get the latest Arduino Library for HealthyPi v4 from Sketch -> Include Library -> Manage library -> Search[ProtoCentral HealthyPi] and then select the latest version to install.

This image has an empty alt attribute; its file name is Arduino_library.png

Once installed, restart the Arduino IDE to load these libraries. You can now load the main HealthyPi Arduino sketch as shown below from File -> Examples -> “ProtoCentral HealthyPi v4 Library” -> “Healthypiv4_default_BLE_and_Pi”

This image has an empty alt attribute; its file name is Arduino_example.png

Step 5: Install the Arduino ESP32 Filesystem(SPIFFS)

The HealthyPi v4 code requires an Arduino tool plugin called the “ESP32 File system uploader” to upload the SPIFFS filesystem. Check this site for direction to download and install the ESP32FS plugin.

Restart the Arduino IDE for the this tool to show in the Tools menu or Copy the extracted ESP32FS Plugin in “C:\Users\XXX\arduino-vX\tools\ESP32FS\tool\esp32fs.jar”

Navigate to Tools->ESP32 Sketch Data Upload and it will upload the SPIFFS File.

Note: Ensure that the data folder containing all of the SPIFFS file is in the same folder as the location of the sketch file that is currently open.

Step 6: Uploading code to HealthyPi v4

Compile the code and check for compilation without error and upload the code to HealthyPi v4 and see the output in the mode of your choice.

You’re now all set to modify and/or write your own code for the HealthyPi v4 !!

Some Example code:

Initializing the functionalities in HealthyPi v4
void setup()
{
Serial.begin(115200);

if(Healthypi_Mode == WEBSERVER_MODE){
Serial.println("Starts in webserver mode");
HealthyPiV4_Webserver_Init();
}

else if(Healthypi_Mode == V3_MODE){
Serial.println("Starts in v3 mode");
}

else{
Serial.println("Starts in BLE mode");
HealthyPiV4_BLE_Init();
}

}
In the loop function below we read the vitals data from HealthyPi v4 .
void loop()
{

Heart Rate = (uint8_t) global_HeartRate;
Respiration Rate = (uint8_t) global_RespirationRate;
spo2 = (uint8_t)afe44xx_raw_data.spo2;
temperature = (uint16_t) tempSensor.getTemperature();

}

Programming with ESP IDF

This image has an empty alt attribute; its file name is ESPidf.jpg

In some cases where you need maximum performance, improved compatibility, and low overhead, you might want to use the native SDK. ESP-IDF is Espressif’s official development SDK for the on-board ESP32-WROOM32 module. ESP-IDF also helps you understand what is happening under the hood. Through a simple step-by-step process to illustrate how to use ESP-IDF(Espressif IoT Development Framework).

What You Need?

To develop applications for ESP32 you need:

  • PC loaded with either Windows, Linux or Mac operating system
  • Toolchain to build the Application for ESP32
  • ESP-IDF that essentially contains API for ESP32 and scripts to operate the Toolchain
  • A text editor to write programs (Projects) in C

Preparation for development

There are three simple steps in the process of development:

  • Setup of Toolchain
  • Getting of ESP-IDF from GitHub
  • Installation and configuration

Step 1: Setting up the toolchain

Windows don’t have a built-in “make” environment, so as well as installing the toolchain you will need a GNU-compatible environment. We can use the MSYS2 environment to provide this environment. The quick setup is to download the Windows all-in-one toolchain & MSYS2 zip file from dl.espressif.com: Toolchain Setup- Windows

The quick setup is to download the linux all-in-one toolchain from Espressif website:Toolchain Setup 64-bit Linux and Toolchain Setup 32-bit Linux

The quick setup is to download the ESP32 toolchain for macOS all-in-one toolchain from Espressif website:Toolchain Setup macOS

Step 2: Getting ESP-IDF

Besides the toolchain (that contains programs to compile and build the application), you also need ESP32 specific API / libraries. They are provided by Espressif in ESP-IDF repository. To get it, open terminal, navigate to the directory you want to put ESP-IDF and clone it from espressif repository in github.

Step 3: Setting up

To set up the software environment and get esp-idf follow the instructions by clicking Windows, Linux, Mac OS.

Previous 1. Introduction to HealthyPi 4
Next 3. Connecting Qwiic Sensors
Free Worldwide shipping

On all orders above $200

Easy returns

7 days money back guarantee

100% Secure Checkout

MasterCard/Visa/Amex/Netbanking

GST compliant invoices

Save on business purchases within India

EUREuro