ProtoCentral OpenOx Wireless Pulse Sensor Kit based on AFE4400/ESP32
ProtoCentral OpenOx is a standalone, wireless pulse oximetry development board that is powered by the ubiquitous ESP32 WROOM32 module and uses the AFE4400 IC to measure oxygen levels in the blood while also providing a PPG waveform, heart rate, and SpO2 values measured with high precision.
This development board is ideal for integration with a health monitoring system or any wearable application.
Getting started
If you just want to use the ProtoCentral OpenOx wireless pulse oximetry development board with the preloaded firmware, it comes ready to go. You do not have to do any programming to get it working. The pre-loaded firmware sends PPG plot, HR and spO2 values over BLE.
Materials Required
You will need the following items to follow along with this Quickstart guide:
- ProtoCentral OpenOx Wireless Pulse Sensor Kit – AFE4400 – ESP32
- Standard Nellcor compatible DB9 connector for probe
- USB-C Cable
- Lithium Ion Battery
Powering the OpenOx
Plugging Battery
The device’s portability is enhanced by using a Li-Po rechargeable battery. OpenOx can be used as a stand-alone device, without the need for external interfaces or power. The battery can be directly connected to OpenOx via the onboard 2-pin JST-PH connector. Check out the image below to see how the battery is connected to OpenOx.
Turning ON/OFF
The OpenOx has an on-board slide switch for turning the device on and off
Connecting the Pulse Oximetry Probe
To start measuring, simply plug-in the provided SPo2 finger-clip probe to the DB9 connector on the OpenOx board. If the probe is properly plugged in, you should see a Red glow inside the probe.
ProtoCentral OpenView
Output in OpenView
The GUI for visualizing the PPG as well as parameters like Heart rate and spO2 is written in Processing, based on Java and is cross-compilable across platforms.
Visit the GitHub openview release page to download the most recent version, or click the link below:
https://github.com/Protocentral/protocentral_openview/releases/latest
Once you have opened the OpenView GUI, make sure to select “AFE4490 breakout/shield” under the “Board” dropdown. Connect the probe to view output in real time.
OpenOx with BLE
Monitoring the Photoplethysmography (PPG) with day-to-day activities becomes much simpler with the HealthyPi app, which is available for both Android and iOS devices.
Downloading HealthyPi app
The HealthyPi app is used to communicate directly with OpenOx hardware, through the same BLE services and can display the vital signs on a single screen. The app can be downloaded by scanning the QR as below:
Connection with app
- Open the HealthyPi mobile app, the home page appears. Click on “Scan & Connect”.
- Once the permissions are given, the app will scan and connect to OpenOX.
Note: Make sure you have uploaded OpenOx BLE code for getting Output
- Click on “waveforms” to view the output in realtime.
- Enable only PPG checkbox to view PPG plot, HR and spO2 values.
Programming the OpenOx
Download and Install the IDE
The Arduino Software (IDE) allows you to write programs and upload them to your OpenOx. You can download the latest version for Windows, Linux and Mac OS using the link below.
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
Configure Arduino for ESP32 board support
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:
We created a library to get the ProtoCentral OpenOx to work in the Arduino IDE.
Download the Github repository
Visit the GitHub repository to download the most recent version of the library, or click the link below:
ProtoCentral OpenOx – Firmware
Install the supporting library
It can be found in the ‘Sketch’ menu under ‘Include Library’, ‘Manage Libraries’, and then enter the keyword ‘ProtoCentral AFE4490’ to see the library. When you click on the library, the ‘Install’ button will appear. When you click that button, the library should be installed automatically. When the installation is complete, close the Library Manager.
Uploading code to OpenOx
Open the source code in Arduino IDE, there are two examples(OpenOx BLE, OpenOx USB Output) provided. Compile the code and check for compilation without error and upload the code to OpenOx and see the output in the mode of your choice.
AFE4490 pin configurations with ESP32 as follows:
AFE4490 pin | ESP32 |
CS | 25 |
DRDY | 13 |
PWDN | 4 |
You’re now all set to modify and/or write your own code for OpenOx!!