Oximeter is one of the most useful tools for doctors and individuals alike, aiding in daily health monitoring by measuring the percentage of oxygen in the blood, pulse, and heart rate. Using the compact IndusBoard, only 3cm in size, we can easily create a portable oximeter that provides quick readings of heart rate and blood oxygen percentage. While the same code can be adapted for other ESP chips and boards, the IndusBoard’s small size makes it particularly portable.
Bill Of Materials
The components required in project listed below
Components | Description | Quantity | Price |
IndusBaord | Dev Boord | 1 | 1000 |
USB Type C | Adapter | 1 | 100 |
MAX30100 | Sensor | 1 | 200 |
OLED Display | SSD1306 | 1 | 300 |
Coding
First of all, we need to install the required library to the Arduino IDE. Go to tools and open the library manager and search these libraries (“Addafurit GFX”, “Oak Oled”, “Max 30100”) and install these libraries.
Once we have installed the libraries, we can start coding. In the first part of the code, we have included the required libraries in code
After this, we will add a short bitmap code that has a heart symbol logo. In the next part, we have a function that displays the heart bitmap logo whenever your heart beats (Refer Fig 3). Now, we can create a setup function and set the baud rate of Bluetooth along with other settings. (Refer Fig. 2)
Then we will create a loop function that updates the readings of sensor and displays those readings on OLED screen.
Connection
The IndusBoard features two I2C ports, allowing the interfacing of multiple sensors, OLEDs, and I2C modules simultaneously. For the IndusBoard, I2C pins can be configured as hardware I2C or software I2C. GPIO pins 8 and 9 on the IndusBoard are configured for hardware I2C. Connect the SCL and SDA of the OLED and MAX30100 sensor to the SCL and SDA pins of the IndusBoard. Power the MAX30100 sensor with the 3V pin and GND pin of the IndusBoard, and power the OLED with the 5V pin of the IndusBoard.
Indus Board | MAX30100 | OLED |
8 | SDA | SDA |
9 | SCL | SCL |
3V | VIn | – |
GND | GND | GND |
5V | VCC |
Testing
Power the board using USB or a 5V battery connected to the GND and 5V pins. Place your finger on the MAX30100 sensor, and it will read the blood oxygen percentage and pulse rate. The OLED screen will display the readings, and a heart shape will blink with each heartbeat.
Make sure the code is uploaded correctly to the IndusBoard and that all connections are secure.