In this article we look at a bit of a niche product featuring an ESP32 it is a Heart development kit featuring an ESP32 and a Max30102.
The kit is already comes complete and you get a typical heart rate monitor that you can put a finger in.
You can see this in the image below
The MAX30102 is an integrated pulse oximetry and heart-rate monitor module. It includes internal LEDs, photodetectors, optical elements, and low-noise electronics with ambient light rejection. The MAX30102 provides a complete system solution to ease the design-in process for mobile and wearable devices.
The MAX30102 operates on a single 1.8V power supply and a separate 3.3V power supply for the internal LEDs. Communication is through a standard I2C-compatible interface. The module can be shut down through software with zero standby current, allowing the power rails to remain powered at all times.
The MPU-6050 devices combine a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die, together with an onboard Digital Motion Processor™ (DMP™), which processes complex 6-axis MotionFusion algorithms. The device can access external magnetometers or other sensors through an auxiliary master I²C bus, allowing the devices to gather a full set of sensor data without intervention from the system processor
For precision tracking of both fast and slow motions, the parts feature a user-programmable gyro full-scale range of ±250, ±500, ±1000, and ±2000 °/sec (dps), and a user-programmable accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g. Additional features include an embedded temperature sensor and an on-chip oscillator with ±1% variation over the operating temperature range
Specifications
- SoC – Espressif Systems ESP32 dual-core Tensilica SoC with WiFi 4 & Bluetooth connectivity
- Display – 0.96-inch IPS LCD using a ST7735 SPI controller
- Sensors
- MAX30102 heart rate blood oxygen I2C sensor
- MPU6050 6-axis accelerometer and gyroscope (I2C)
- Debug – Micro USB port via CP2104 USB to TTL bridge
- Misc -PCF8563 RTC, user button
- Battery – 200 mAh; charging voltage and current: 5V, 500mah via micro USB port
Development
You can develop using the Arduino IDE and/or PlatformIO. The github link at the bottom has more information
Use Arduino IDE
- Install the correct serial port driver CP210X Driver
- Change
src/main.cpp
tosrc.ino
- Copy the files in the lib directory to
~/Arduino/libraries
, Windows users copy toDocuments/Arduino/libraries
- Double-click to open
src/src.ino
- Change the port to the correct port and select upload
Use PlatformIO
- Install the correct serial port driver CP210X Driver
- Open directly to change your serial port in
platformio.ini
, click compile
- Note: To use
TFT_eSPI
, you need to select the correct model, you need to selectSetup26_TTGO_T_Wristband.h
, which has the same definition asT-Wristband
, If the copy is in the lib folder, you can ignore it
In the examples directory contains two sample programs, FactoryTest
is the factory test file, HeartRateMeter
is a simple heart rate meter.
Purchase
The kit costs about £27 – buy from aliexpress
Links
https://github.com/Xinyuan-LilyGO/LilyGo-HeartRate-Kit