A wall-powered IoT health station built on ESP32 that measures blood oxygen saturation, heart rate, and body temperature — displayed locally on an OLED and synchronized live to Arduino IoT Cloud.
| Component | Signal | ESP32 Pin | Note |
|---|---|---|---|
| MAX30102 | SDA | GPIO 21 | Shared I2C bus |
| MAX30102 | SCL | GPIO 22 | Shared I2C bus |
| MAX30102 | VIN | 3.3V | From AMS1117 |
| OLED SSD1306 | SDA | GPIO 21 | Shared I2C bus (addr 0x3C) |
| OLED SSD1306 | SCL | GPIO 22 | Shared I2C bus |
| OLED SSD1306 | VCC | 3.3V | From AMS1117 |
| DS18B20 | DATA | GPIO 4 | 4.7kΩ pull-up to 3.3V |
| DS18B20 | VCC | 3.3V | From AMS1117 |
| All GND | GND | GND | Common ground rail |
Define these four variables in your Thing on create.arduino.cc/iot before uploading.
git clone https://github.com/iprince10/VitalSync_HealthMonitoringSystem.git and open the .ino file in Arduino IDE.
In Arduino IDE → Board Manager → search esp32 by Espressif → Install.
Via Library Manager install: SparkFun MAX3010x, DallasTemperature, OneWire, Adafruit SSD1306, Adafruit GFX, ArduinoIoTCloud, Arduino_ConnectionHandler.
Go to create.arduino.cc/iot, create a Thing named HealthMonitor, add the 4 cloud variables above, register an ESP32 device, and save the Device ID + Secret Key.
Edit thingProperties.h — fill in your Device ID, Secret Key, WiFi SSID, and WiFi password. Never commit this file publicly.
Select board ESP32 Dev Module, select your COM port, upload. Open Serial Monitor at 115200 baud to observe connection logs and sensor values.