I. Introduction
The inspiration for this project came from hospital doctors requiring patients to rent pulse oximeter wristbands, which cost over 500 yuan a week (a typical wristband costs around 1000 yuan, and I didn't want to be ripped off). Using my acquired knowledge and hands-on experience, I created this real-time pulse oximeter. This project is based on the ESP32C3Mini module, using the MAX30102 module as the sensor to detect blood oxygen concentration and heart rate. Information is collected through the sensor and stored and uploaded using the main controller's wireless functionality.
II. Functional Highlights
- Blood oxygen and heart rate data acquisition and display to the host computer wirelessly
- Battery-powered and rechargeable, screen-free for reduced power consumption
- Miniaturized size, approximately 3cm x 3cm
III. Project Progress
2024-08-09 Project created
2024-09-06 Design completed and PCB fabricated
2024-09-11 First PCB fabrication verification failed
2024-09-12 Second design error resulted in wasted PCB fabrication
2024-09-15 Third PCB fabrication successful
2024-09-24 ESP32C3Mini main controller and charging verification successful
2024-09-25 Sensor verification successful
2024-09-26 Software modifications and verification completed and open-sourced
; casing to be added...
V. Hardware Design
The MCU uses the ESP32C3MINI module, and the sensor uses the MAX30102 module. Structural size and wiring optimization were considered during the design process. The ESP32C3MINI has bottom pins; note that soldering requires a soldering station.
The power supply interface uses a 2-pin Type-C connector from Litai. Note that this device comes in two versions with different pin configurations; please test before use.
The charging section uses a WST4054 chip, which is quite simple and has no additional functions: an LED illuminates during charging and turns off when finished. Since the lithium battery has its own protection board, the protection circuitry is omitted.
No automatic download circuit is designed on the board; for size considerations, only download contacts are provided. (Advertisement: Welcome to use my ESP automatic download board for downloading, https://oshwhub.com/891101a/esp-shao-lu-qi).
VI. Software Design
The software design references https://oshwhub.com/createskyblue/esp32-web-oximeter
. Note that SCL and SDA must be modified to 2 and 3, respectively, as I am using IO2 and IO3.
Other parts can be modified as needed; they are not mandatory.
The program is not included in the attachments; please refer to the original author's code for modification.
VII. Physical Demonstration:
See attached video.
VIII. Soldering Notes:
1. Since the ESP32C3MINI has no exposed solder pads, please use a soldering station to solder first.
2. The transistors are relatively small, so you may need to use a soldering iron .
IX. Postscript:
This ESP32 project was my first time working with it. The difference between what I imagined and the problems I encountered was quite large. First, I drew the wrong diagram and the components overlapped. Then, during the second board fabrication, I found that the programming port was incorrect, so I scrapped it. On the third board fabrication, I found that I hadn't drawn the automatic download circuit, so I started making an automatic programming board (this board is open source and works quite well). When the board finally came back, I could program it, but then I encountered a program problem. After debugging, I found that the battery power would restart, seemingly due to insufficient current. During this time, I also encountered the problem of the 2-pin Type-C USB and the package pins being reversed. One pitfall after another, one problem after another, the road to practice is full of challenges.
Through this practice, I gained a deeper understanding of the use of the ESP32 module, and I will expand the selection of components for future projects to include ESP32. Thank you LCSC for providing the opportunity. I apologize for not being able to finish the project. I will try harder next time.