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.
If you just want to use the ProtoCentral OpenOx 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.
You will need the following items to follow along with this ProtoConnect 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
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.
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.
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:
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.
Configure Arduino for ESP32 board support
Please follow the following instructions to add ESP32 boards support to the Arduino IDE.
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:
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:
You’re now all set to modify and/or write your own code for OpenOx!!