Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use SparkFun MAX30105_Breakout: Examples, Pinouts, and Specs

Image of SparkFun MAX30105_Breakout
Cirkit Designer LogoDesign with SparkFun MAX30105_Breakout in Cirkit Designer

Introduction

The SparkFun MAX30105 Breakout is a sophisticated sensor module designed for non-invasive optical heart rate monitoring and pulse oximetry. It features the MAX30105 sensor from Maxim Integrated, which is capable of detecting the amount of oxygen in the blood, the volume of blood changes in the body, and even the heart rate through the process of photoplethysmography (PPG). This breakout board simplifies the use of the MAX30105 sensor by providing an easy-to-use I2C interface and onboard LEDs for indication, making it an ideal choice for wearable devices, fitness assistant devices, and medical monitoring applications.

Explore Projects Built with SparkFun MAX30105_Breakout

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing SparkFun MAX30105_Breakout in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
Image of Pulsefex: A project utilizing SparkFun MAX30105_Breakout in a practical application
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Environmental Monitoring System with ESP32, BNO055, and MS5803-14BA
Image of bencana banjir: A project utilizing SparkFun MAX30105_Breakout in a practical application
This circuit is a sensor network powered by a LiPo battery through a step-down buck converter, which supplies power to multiple ESP32 microcontrollers, a BNO055 IMU, an ultrasonic sensor, and a pressure sensor. The ESP32 microcontrollers handle data acquisition from the sensors and are programmed to process and transmit this data. The sensors are connected to the ESP32s via I2C and GPIO pins for communication and data collection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Health Monitoring System with Nano 33 BLE and Multiple Sensors
Image of project: A project utilizing SparkFun MAX30105_Breakout in a practical application
This circuit features a Nano 33 BLE microcontroller interfaced with an MPU6050 accelerometer/gyroscope, a MAX30102 heart rate and oxygen sensor, and a MAX30205 temperature sensor via I2C. It also includes four LEDs (red, blue, yellow, and green) controlled by the microcontroller, with power supplied by a 9V battery through a voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SparkFun MAX30105_Breakout

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of circuit diagram: A project utilizing SparkFun MAX30105_Breakout in a practical application
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Pulsefex: A project utilizing SparkFun MAX30105_Breakout in a practical application
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of bencana banjir: A project utilizing SparkFun MAX30105_Breakout in a practical application
Battery-Powered Environmental Monitoring System with ESP32, BNO055, and MS5803-14BA
This circuit is a sensor network powered by a LiPo battery through a step-down buck converter, which supplies power to multiple ESP32 microcontrollers, a BNO055 IMU, an ultrasonic sensor, and a pressure sensor. The ESP32 microcontrollers handle data acquisition from the sensors and are programmed to process and transmit this data. The sensors are connected to the ESP32s via I2C and GPIO pins for communication and data collection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of project: A project utilizing SparkFun MAX30105_Breakout in a practical application
Battery-Powered Health Monitoring System with Nano 33 BLE and Multiple Sensors
This circuit features a Nano 33 BLE microcontroller interfaced with an MPU6050 accelerometer/gyroscope, a MAX30102 heart rate and oxygen sensor, and a MAX30205 temperature sensor via I2C. It also includes four LEDs (red, blue, yellow, and green) controlled by the microcontroller, with power supplied by a 9V battery through a voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Operating Voltage: 1.8V-3.3V
  • Current Consumption: 4mA (typical)
  • Operating Temperature: -40°C to +85°C
  • LED Wavelengths: 660nm (Red), 880/905nm (IR)
  • Sampling Rate: Up to 3200 samples per second
  • Communication: I2C interface

Pin Configuration and Descriptions

Pin Number Name Description
1 VIN Power supply (1.8V-3.3V)
2 GND Ground connection
3 SCL I2C clock line
4 SDA I2C data line
5 INT Interrupt pin
6 RD Red LED control (optional)
7 IR IR LED control (optional)
8 G Green LED control (optional)

Usage Instructions

Integration with a Circuit

  1. Powering the Sensor: Connect the VIN pin to a 1.8V-3.3V power source and the GND pin to the ground.
  2. I2C Communication: Connect the SCL and SDA pins to the I2C clock and data lines on your microcontroller.
  3. Interrupts (Optional): The INT pin can be connected to an interrupt-capable GPIO pin on your microcontroller to handle events like a new data ready.
  4. LED Control (Optional): The RD, IR, and G pins can be used to control the onboard LEDs if additional functionality is required.

Best Practices

  • Ensure that the power supply is stable and within the specified voltage range.
  • Use pull-up resistors on the I2C lines if they are not already present on your microcontroller board.
  • Avoid placing the sensor under direct sunlight or strong artificial light sources to prevent inaccurate readings.
  • Keep the sensor close to the skin for heart rate and SpO2 measurements.

Example Code for Arduino UNO

#include <Wire.h>
#include "MAX30105.h" // Include the MAX30105 library

MAX30105 particleSensor;

void setup() {
  Serial.begin(115200);
  Wire.begin();

  if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) { // Initialize sensor
    Serial.println("MAX30105 was not found. Please check wiring/power.");
    while (1);
  }

  particleSensor.setup(); // Configure sensor with default settings
  particleSensor.setPulseAmplitudeRed(0x0A); // Set Red LED amplitude
  particleSensor.setPulseAmplitudeGreen(0x0A); // Set Green LED amplitude
}

void loop() {
  long irValue = particleSensor.getIR(); // Read IR value
  if (irValue > 50000) { // Check if the sensor is covered
    // Read the heart rate and SpO2 after a finger is placed on the sensor
    float heartRate, spO2;
    if (particleSensor.checkForBeat(irValue) == true) {
      // We sensed a beat!
      long delta = millis() - lastBeat;
      lastBeat = millis();

      heartRate = particleSensor.getRate();
      spO2 = particleSensor.getSpO2();

      Serial.print("Heart rate: ");
      Serial.print(heartRate);
      Serial.print(" bpm. SpO2: ");
      Serial.print(spO2);
      Serial.println("%");
    }
  } else {
    Serial.println("No finger?");
  }
  delay(1000);
}

Troubleshooting and FAQs

Common Issues

  • Sensor Not Detected: Ensure that the wiring is correct and the power supply is within the specified range. Check for proper soldering on the breakout board.
  • Inaccurate Readings: Make sure the sensor is properly placed on the finger and not exposed to external light sources. Adjust the LED pulse amplitude if necessary.
  • No Data on Serial Monitor: Confirm that the correct baud rate is set in the serial monitor and that the board is properly connected to the computer.

FAQs

Q: Can the MAX30105 be used to measure blood pressure? A: No, the MAX30105 is designed for heart rate and SpO2 measurements, not blood pressure.

Q: How can I improve the accuracy of the sensor? A: Ensure a snug fit against the skin, minimize motion, and avoid direct exposure to external light sources.

Q: Is the MAX30105 suitable for medical use? A: The MAX30105 is not FDA-approved for medical use and should not be used for diagnosis or treatment of any conditions.

For further assistance, consult the MAX30105 datasheet and the SparkFun MAX30105 Breakout board schematic available on the SparkFun website.