STEP 1 / 6ESP + IOT

MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App

We are going to learn how to link a MAX30100 Pulse Oximeter with a NodeMCU ESP8266 throughout the course of this project. On the Blynk application, we will do online monitoring of the blo…

MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App - source illustration from page 1220
PROJECT#465
TRACKIoT
PARTS03
STAGES06
STEP 1 / 6 · Overview

Know the mission before touching a wire.

Understand what you are making, prepare the right tools, and make the workbench safe.

01

Project details

MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App is a iot project. We are going to learn how to link a MAX30100 Pulse Oximeter with a NodeMCU ESP8266 throughout the course of this project. On the Blynk application, we will do online monitoring of the blo…

Source pages
1219-1228
Named parts
3
Build goal
Working, tested prototype
02

Tools you need

  • Digital multimeter
  • Wire stripper and side cutters
  • Soldering iron with a fine tip
  • Current-limited bench supply
  • Computer with a data-capable USB cable

Use eye protection, good lighting, and a clean insulated surface throughout the build.

03

Safety precautions

  • Disconnect every power source before changing a connection.
  • Check component polarity, pinout, and supply voltage twice.
  • Use a current limit for the first power-up.
  • Keep liquids, loose metal, and uninsulated wires away from the bench.
Ready to continue?
STEP 2 / 6 · Parts library

Gather, identify, and understand every part.

Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.

NAMED PROJECT INVENTORY3 PART LINES
PARTTYPEQTYREADY
MNodeMCU ESP8266MODULE1
What's this?Image, role, pros, cons, handling & specifications
NodeMCU ESP8266 development boardMODULE LEARNING VIEW

NodeMCU ESP8266

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for NodeMCU ESP8266; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
MPulse Oximeter Sensor MAX30100 ModuleMODULE1
What's this?Image, role, pros, cons, handling & specifications
MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App - source illustration from page 1220MODULE LEARNING VIEW

Pulse Oximeter Sensor MAX30100 Module

A sensor converts a physical condition into an electrical signal the circuit can measure.

What it does here

It provides project input as an analogue, digital, resistive, frequency, or calibrated signal.

Buy / compare this part

Advantages

  • Adds real-world awareness
  • Can usually be tested independently
  • Often supports calibration

Limitations

  • Readings can drift
  • Placement affects results
  • Some sensors need warm-up or calibration

Handling

  • Protect the sensing surface
  • Observe supply voltage and polarity
  • Keep signal leads away from noisy power wiring

Specifications to verify

  • Use the exact model, value, package, and rating listed for Pulse Oximeter Sensor MAX30100 Module; similar-looking parts are not always interchangeable.
  • Confirm supply range, output type, measurement range, accuracy, response time, and pin order.
MOLED DisplayMODULE1
What's this?Image, role, pros, cons, handling & specifications
MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App - source illustration from page 1220MODULE LEARNING VIEW

OLED Display

An output component turns an electrical control signal into light, sound, motion, switching, or displayed information.

What it does here

It presents the circuit result or acts on the physical world.

Buy / compare this part

Advantages

  • Makes system state visible
  • Can be tested separately
  • Supports clear troubleshooting

Limitations

  • Loads may exceed controller current
  • Polarity or driver direction can matter
  • Inductive loads create voltage spikes

Handling

  • Use the documented driver stage
  • Check polarity and load current
  • Add flyback protection for inductive loads

Specifications to verify

  • Use the exact model, value, package, and rating listed for OLED Display; similar-looking parts are not always interchangeable.
  • Confirm voltage, current, polarity, interface, driver requirements, and duty cycle.
Ready to continue?
STEP 4 / 6 · Source code

Confirm the hardware-only control path.

This project does not include firmware in the source. The circuit itself provides the required behaviour.

01

How to connect

  1. Match every controller label to the circuit view and source pin map.
  2. Join grounds before signal wires when separate low-voltage supplies are used.
  3. Keep motors, relays, pumps, and other loads on a suitable driver and external supply.

Common mistakes

Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.

Troubleshoot

Disconnect loads, continuity-test one path at a time, then test with a current limit.

02

Software preparation

No IDE, board package, library, or firmware upload is required for this project.

If you add a programmable controller as an extension, document its pin map separately.

03

How to upload code

The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.

Ready to continue?
STEP 5 / 6 · Build

Assemble, deploy, test, and troubleshoot.

Use the complete source notes in build order, then pass the final checks before calling the project finished.

ASSEMBLY

Build in functional stages

  • Power and regulation
  • Controller or processing stage
  • Inputs and sensors
  • Outputs and loads
  • Enclosure and strain relief
TEST

Power up safely

  • Inspect unpowered continuity first
  • Apply the lowest safe current limit
  • Measure supply rails before signals
  • Add one load at a time
  • Record expected and actual results
TROUBLESHOOT

Work from simple to complex

  • Confirm power, ground, polarity, and orientation
  • Compare each pin with the source
  • Test inputs separately from outputs
  • Replace only one variable at a time
  • Power off before every correction
PROJECT-SPECIFIC BUILD NOTES

Follow the documented instructions.

These notes come from this project's source and remain in their original order.

01

Project overview

Project build note

We are going to learn how to link a MAX30100 Pulse Oximeter with a NodeMCU ESP8266 throughout the course of this project. On the Blynk application, we will do online monitoring of the blood oxygen level and heart rate. As part of this do-it-yourself Internet of Things project, we are going to attempt to build a smart health monitoring device that is capable of measuring both the percentage of oxygen in the blood (SpO2) and the user's heart rate in beats per minute (BPM) (Beat Per Minute). During their training, athletes can utilize this wearable device to keep track of their blood oxygen levels as well as their heart rate. The most impressive aspect of this project is that it allows you to connect this gadget to an Android software called Blynk, which will record and frequently update the data for SPO2 and BPM that is available on the internet. Anyone, from anywhere in the globe, is able to see the data in real time as it is being posted to the server. Because there is data readily available online, it should be possible to use this initiative to keep an eye on a patient's health while doing so online. We

are able to create our own pulse oximeter using a module that is both straightforward and affordable, in contrast to the highly pricey pulse oximeters that are already on the market. Now that we have everything out of the way, let's get into making a MAX30100 Pulse Oximeter with ESP8266. MAX30100 Pulse Oximeter The sensor is a solution for monitoring both the heart rate and pulse oximetry simultaneously. The ability to detect pulse and heart-rate signals is achieved by the utilization of two LEDs, a photodetector, improved optics, and low-noise analog signal processing. It is able to be turned down by software with low standby current and operates from power sources of 1.8V and 3.3V. Because of this, the power supply can be attached at all times even though it is not being used. Features of MAX30100 Pulse Oximeter 1. Consumes very low power (operates from 1.8V and 3.3V) 2. An extremely low current during shutdown (typically 0.7 A).

3. Fast Data Output Capability Explanation of How the MAX30100 Pulse Oximeter and Heart-Rate Sensor Works The component consists of two LEDs, one of which emits red light and the other of which emits infrared light. Only the infrared light is required to determine the pulse rate. When determining the amount of oxygen present in the blood, both red light and infrared light are utilized as measuring tools. Because there is a greater volume of blood being pumped by the heart, there is a corresponding rise in the percentage of oxygen-rich blood. When the heart slows down and relaxes, the amount of blood that is oxygenated in the body also reduces. The length of time that elapses between the two changes in the amount of oxygenated blood in the body is used to calculate the pulse rate. It has been discovered that oxygenated blood absorbs more infrared light and transmits more red light, whereas deoxygenated blood absorbs more red light and transmits more infrared light. This is the primary task that the MAX30100 is designed to perform; it analyses the levels of absorption produced by both of the light sources and stores the results in a buffer from which they can be retrieved using I2C.

02

Component Required

Project build note

NodeMCU ESP8266 Pulse Oximeter Sensor MAX30100 Module OLED Display Connecting Wires Breadboard

03

Circuit Diagram

Project build note

The MAX30100 Pulse Oximeter will be interfaced with NodeMCU ESP8266 and an I2C 0.96′′ OLED Display at this time. The connection as well as the circuit schematic are shown below. You can put together the device in the exact same way that is depicted in the diagram below. Both the MAX30100 and the OLED Display share I2C Pins between them. Therefore, connect their SDA pins to D2 of the NodeMCU ESP8266 Board and their SCL pins to D1 of the same board. 3.3V is the minimum voltage for the power supply that OLED Display and NodeMCU require. Therefore, connect the VCC terminal of their device to the 3.3V of the NodeMCU.

04

Setting up the Blynk Android App

Project build note

Blynk is an application that can operate any Internet of Things (IoT) based application using a smartphone. It is compatible with both Android and iOS smartphones. It gives you the ability to design your own graphical user interface for an internet of things application. Through the use of a NodeMCU ESP8266 and the Blynk application, we will configure the monitoring of BPM and SPO2 through Wi-Fi. Therefore, go to the Google Play store and get the Blynk application, then download and install it. Downloads are available in the App Store for users

of iOS. After the installation is finished, you may launch the application and register by entering your Email id and Password. Now, select "New Project" using the mouse. Set the parameters in the pop- up window, such as the Project name, the Board, and the connection type, as shown in the previous image. Choose the NodeMCU device and Wi-Fi as the connection type for this MAX30100 ESP8266 project. After that, select the Create option. To add the widgets, you will need to click on the plus symbol now. The values of both the BPM and the SpO2 need to be read. Therefore, select a pair of widgets that are called Value Display and Gauge. After dragging the widgets into place, set the widgets' parameters according to the image in the previous paragraph. To change the pin settings, go to the Value Display menu and select "V7" and "V8." In a similar manner, adjust the gauge settings so that the output pin is set to "V7" and "V8." Return to the settings after successfully creating the Project, and then select the option to Send Email from there. When you send something registered, you will be given an authenticate ID. Keep the Authenticate ID for your own reference in the future. Reading Value on Blynk from the MAX30100 ESP8266 Output, Observation.

After the code has been uploaded, you can open the serial monitor to view the following information, which will be displayed once the NodeMCU has connected to the wireless network.

You can see the same values shown on screen by looking at the OLED Display, which is another option.

MAX30100 Not Working Troubleshooting If you bought the MAX30100 Module that is displayed below, then it is possible that it will not function properly because of a significant design flaw. The MAX30100 IC requires 1.8V for VDD, and in order to attain this value, this particular module employs the use of two regulators. There's absolutely no problem with that. However, if you take a closer look, you'll notice that the SCL and SDA pins are being pulled up to 1.8V by the 4.7k ohm resistors! Because of this, it will not function properly with microcontrollers that have higher logic levels. 1st Method The answer is to remove the resistors from the board (which are circled in the image below), and then to attach external 4.7k ohm resistors to the INT

Pin, SDA Pin, and SCL Pin respectively. After taking off all of the 4.7K resistors, connect the INT, SDA, and SCL pins to the 4.7K Pull up resistor that is external to the circuit. 2nd Method If you don't like the first solution to this problem, you can always try the second one, which is exactly the same thing. It is sufficient to make a jumper in the manner depicted by the yellow line and to cut the path where it is marked with a red cross. A wire that is insulated is not required for the jumper. You are able to remove a strand of tinned wire from the stranded

wire. A protective mask is applied to the board, and there is no possibility of a short circuit leading to the copper pour.

Ready to continue?
PROJECT ACHIEVED

You built MAX30100 Pulse Oximeter with ESP8266 on Blynk IoT App.

You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.

IoT Based Air Pollution/Quality Monitoring with ESP8266 project thumbnail featuring BME280 Barometric Pressure Sensor Bosch's BME280 Humidity, easily measured with the assistance of this BME280 Atmospheric Sensor, Bosch and includes a temperature and barometric pressure sensor. This
NEXT IOT ADVENTURE

IoT Based Air Pollution/Quality Monitoring with ESP8266

Ready to reuse what you learned in another project from the same track?

Start this project
Browse all 500 projects