Skip to content

Oximeter monitor project using the ESP32 microcontroller and the MAX30100 sensor

License

Notifications You must be signed in to change notification settings

LaBatata101/oximeter-monitor

Repository files navigation

Oximeter Monitor

Project made for my Microcontrollers class, the goal of this project is to collect the heartrate and oxygen saturation data using the ESP32 microcontroller and the MAX30100 sensor. The whole project is divided into 3 parts/repositories: the microcontroller firmware, the REST Api for the data management and the Telegram bot for real time data visualization.

An overview of how all the parts works together. When the user puts the finger in the MAX30100 sensor the ESP32 starts reading the data coming from the sensor every second and then sends the data to the REST Api, for later consumption by clients of the Api. There is two ways to visualize this data in real time, the first one, the ESP32 hosts a web page that can be accessed with the http://oximetro.local URL (the mDNS protocol which is used here for the oximetro.local domain name doesn't work on android devices). The second way is through the Telegram Bot, after starting a conversation with the bot you can type the command /monitorar to start monitoring the data from the sensor every second or so (the ESP32 can take up to 5 seconds to send the data to REST Api so some of the data shown by the bot may be repeated), this data is fetched from the REST Api by the bot, to stop monitoring just type the command /parar.

The REST Api is a basic CRUD, offering 5 routes to manipulate the data, more information can be found in the REST Api repository.

The installation and running instructions can be found on the repositories mentioned above.

Circuit Diagram

image

Visualization of the collected data with the web page hosted in the ESP32:

image

Releases

No releases published

Packages

No packages published