from machine import Pin, I2C
from ssd1306 import SSD1306_I2C
from max30102 import MAX30102
import time
# --- I2C bus for MAX30102 ---
i2c_max = I2C(0, scl=Pin(21), sda=Pin(20), freq=400000)
oximeter = MAX30102(i2c_max)
# --- I2C bus for OLED ---
i2c_oled = I2C(1, scl=Pin(11), sda=Pin(10), freq=400000)
oled = SSD1306_I2C(128, 64, i2c_oled)
# --- Main loop ---
while True:
bpm = oximeter.read_heart_rate() # read heart rate from MAX30102
# clear display
oled.fill(0)
# display BPM
oled.text("Heart Rate:", 0, 0)
oled.text(f"{bpm} BPM", 0, 16)
oled.show()
print("Heart Rate:", bpm)
time.sleep(1)