Fun bare-metal and FreeRTOS-based Arduino projects using ESP32 microntrollers.
The projects were tested on the following ESP32 boards:
This board is more expensive than the official Espressif's DevKit, but it's equipped with camera and SD card socket.
This board is basically a clone from the official Espressif's DevKit.
- Task 1: Read sensor data and calculate heart beat.
- Task 2: Handle data transfer to OLED screen.
- Task 3: Send average heart rate to the serrial terminal
Both the sensor data reading, heart beat calculation, and display data on OLED screen are implemented in the "loop" function.
- Adafruit SSD1306 and Adafruit GFX Library for OLED display
- Adafruit BusIO for I2C and SPI interface
- SparkFun MAX3010x and Proximity Sensory Library for MAX3010x sensor
5V = 5V (3.3V works for the OLED but not the MAX3010x sensor breakout board),
GND = GND,
SDA = 19,
SCL = 20,
INT = Not connected
5V = 5V (3.3V works for the OLED but not the MAX3010x sensor breakout board),
GND = GND,
SDA = 10,
SCL = 11,
INT = Not connected
- Read ADC samples (millivolts) per 100ms period.
- Calculate average ADC voltage (millivolt) over 10 ADC samples.
- Handle the serial terminal to display user input characters
- If user types 'Avg', the firmware will print out the current average ADC voltage to serial terminal.
- Display average ADC voltage to the OLED display as well. This requires Monochrome 0.96" 128x64 OLED Graphic Display connected to the ESP32 board via I2C wires.