Vayunandan Mishra
Electronics and Communication Engineering (ECE) Student
Interests: Embedded Systems | IoT | Electronics | Automation | Python | Artificial Intelligence
GitHub: https://github.com/Vayu-143
The Heartbeat Monitor with Alert System is an educational embedded-systems prototype developed to demonstrate real-time heartbeat monitoring concepts using a microcontroller, analog input, OLED display, LEDs, and a buzzer.
The system acquires a pulse-related analog input, processes the signal, determines the corresponding Beats Per Minute (BPM), displays the BPM and system status on an I2C OLED, and generates visual and audible alerts when the BPM crosses configured demonstration thresholds.
For virtual testing, Wokwi is used to simulate the embedded hardware. A potentiometer is used to emulate the analog pulse-sensor input, allowing different BPM conditions to be tested without physical hardware.
β οΈ Educational Disclaimer: This project is intended for embedded-systems learning and demonstration only. It is not a medical device and must not be used for diagnosis or medical decision-making.
- Acquire pulse or simulated analog sensor data.
- Process the input using an Arduino microcontroller.
- Calculate or derive BPM values.
- Display BPM and status on an I2C OLED.
- Classify readings as LOW, NORMAL, or HIGH.
- Generate LED and buzzer alerts.
- Validate the embedded control logic using Wokwi simulation.
- Practice embedded programming, sensor interfacing, debugging, testing, and Git-based project management.
- β€οΈ Heartbeat/BPM monitoring concept
- π Analog sensor input acquisition
- π’ BPM calculation and conversion
- π₯οΈ Real-time OLED display
- π’ Normal-condition indication
- π΄ Low/high-condition alert
- π Buzzer-based warning
- π Serial Monitor output
- π§ͺ Wokwi virtual hardware simulation
- π Python-based simulation support
- π Structured project documentation
- π§ Modular project structure
- π Test-case based validation
Pulse Sensor / Wokwi Analog Input β Arduino UNO β Analog Input / ADC β Signal Processing β BPM Calculation β Threshold Logic β LOW / NORMAL / HIGH β OLED + LEDs + Buzzer β Serial Monitor
Analog Input β Signal Sampling β Heartbeat / Simulated BPM β BPM Processing β Threshold Comparison β Status Classification β OLED Display β LED + Buzzer Alert β Serial Monitor
- The analog input is acquired through the Arduino ADC.
- The input is processed to obtain a BPM value.
- The calculated/simulated BPM is compared with predefined thresholds.
- The current BPM and status are displayed on the OLED.
- The appropriate LED is activated.
- The buzzer is activated during LOW or HIGH alert conditions.
- The result is printed to the Serial Monitor.
- The system can be tested repeatedly by changing the simulated input.
For a heartbeat interval-based implementation:
BPM = 60000 / Beat Interval (milliseconds)
| Beat Interval | Calculated BPM |
|---|---|
| 1000 ms | 60 BPM |
| 750 ms | 80 BPM |
| 600 ms | 100 BPM |
For the Wokwi demonstration, the potentiometer is mapped to a simulated BPM range to validate the control and alert logic.
The project uses the following educational demonstration thresholds:
| BPM Range | Status | Green LED | Red LED | Buzzer |
|---|---|---|---|---|
| Below 60 BPM | LOW | OFF | ON | ON |
| 60β100 BPM | NORMAL | ON | OFF | OFF |
| Above 100 BPM | HIGH | OFF | ON | ON |
BPM < 60 β STATUS = LOW β Red LED ON β Buzzer ON β Green LED OFF
60 β€ BPM β€ 100 β STATUS = NORMAL β Green LED ON β Buzzer OFF β Red LED OFF
BPM > 100 β STATUS = HIGH β Red LED ON β Buzzer ON β Green LED OFF
Note: These values are demonstration thresholds for this educational prototype and are not clinical heart-rate limits.
| Component | Purpose |
|---|---|
| Arduino UNO | Main microcontroller |
| Pulse Sensor | Real-world analog pulse input |
| Potentiometer | Wokwi analog-input emulator |
| I2C OLED | BPM and status display |
| Green LED | Normal-status indication |
| Red LED | Alert indication |
| Buzzer | Audible alert |
| 220Ξ© Resistors | LED current limiting |
| Breadboard | Circuit prototyping |
| Jumper Wires | Electrical connections |
| Arduino Pin | Function |
|---|---|
| A0 | Pulse Sensor / Wokwi analog input |
| A4 | OLED SDA |
| A5 | OLED SCL |
| D6 | Green LED |
| D7 | Red LED |
| D8 | Buzzer |
| 5V | Component power |
| GND | Common ground |
OLED VCC β Arduino 5V
OLED GND β Arduino GND
OLED SDA β Arduino A4
OLED SCL β Arduino A5
- Arduino UNO
- Analog sensor interface
- ADC
- GPIO
- I2C communication
- OLED display
- LED and buzzer control
- Embedded C/C++
- Python
- Wokwi
- Visual Studio Code
- Arduino IDE
- Git
- GitHub
- Adafruit GFX
- Adafruit SSD1306
- Wire / I2C
The embedded prototype is validated using Wokwi virtual hardware simulation.
The Wokwi implementation uses a potentiometer to emulate the analog pulse-sensor input. Changing the potentiometer changes the simulated BPM, allowing LOW, NORMAL, and HIGH operating conditions to be tested.
Potentiometer β Analog A0 β Arduino UNO β BPM Mapping β Threshold Logic β OLED + LEDs + Buzzer β Serial Monitor
Complete virtual hardware setup showing the Arduino UNO, analog input, OLED display, LEDs, and buzzer.
Demonstrates the HIGH BPM condition with visual and audible alert logic.
Demonstrates the LOW BPM condition with alert indication.
Demonstrates the NORMAL operating condition with the green LED indication.
| Test ID | Test Condition | Input | Expected Result | Status |
|---|---|---|---|---|
| T01 | Normal BPM | ~80 BPM | NORMAL | PASS |
| T02 | Low BPM | ~42 BPM | LOW + Alert | PASS |
| T03 | High BPM | ~120 BPM | HIGH + Alert | PASS |
| T04 | OLED Display | BPM input | BPM displayed | PASS |
| T05 | Normal LED | Normal BPM | Green LED ON | PASS |
| T06 | Alert LED | Low/High BPM | Red LED ON | PASS |
| T07 | Buzzer | Low/High BPM | Buzzer ON | PASS |
| T08 | Serial Monitor | Analog input | BPM + Status displayed | PASS |
NORMAL β ~80 BPM
LOW β ~42 BPM
HIGH β ~120 BPM
BPM: ~80
STATUS: NORMAL
Green LED: ON
Red LED: OFF
Buzzer: OFF
BPM: ~42
STATUS: LOW
Green LED: OFF
Red LED: ON
Buzzer: ON
BPM: ~120
STATUS: HIGH
Green LED: OFF
Red LED: ON
Buzzer: ON
Heartbeat-Monitor-Alert-Embedded-System/
βββ arduino_code/
β βββ heartbeat_monitor.ino
β
βββ circuit_diagram/
β βββ circuit_connections.txt
β
βββ data/
β βββ heartbeat_log.csv
β
βββ docs/
β βββ Alert_Logic.md
β βββ BPM_Calculation.md
β βββ Hardware_Connections.md
β βββ Simulation_Guide.md
β βββ Testing_Strategy.md
β βββ Architecture_Diagram.png
β βββ Block_Diagram.png
β βββ Circuit_Diagram.png
β
βββ outputs/
β βββ BPM_Test_Results.csv
β
βββ reports/
β βββ Heartbeat_Monitor_Project_Report.docx
β
βββ screenshots/
β βββ Wokwi_Circuit_Simulation.png
β βββ Wokwi_High_BPM_Alert.png
β βββ Wokwi_Low_BPM_Alert.png
β βββ Wokwi_Normal_BPM_Alert.png
β βββ Wokwi_Serial_Monitor.png
β
βββ simulation/
β βββ heartbeat_simulator.py
β
βββ diagram.json
βββ README.md
βββ .gitignore
Detailed technical documentation is available in the docs/ directory.
The complete project report covers:
- Abstract
- Introduction
- Problem Statement
- Objectives
- Industry Relevance
- Hardware and Software Requirements
- System Architecture
- Circuit Design
- Working Principle
- BPM Calculation
- Alert Logic
- Software Implementation
- Wokwi Simulation
- Testing and Results
- Limitations
- Future Enhancements
- Conclusion
- Learning Outcomes
- References
- Appendix
- The Wokwi implementation uses a potentiometer as an analog input emulator.
- The prototype uses a basic signal-processing approach.
- Demonstration thresholds are not medical standards.
- The system has not undergone clinical validation.
- Sensor noise and motion artifacts may affect real-world measurements.
- The prototype is intended for educational and engineering demonstration purposes.
This project is not a medical diagnostic device and should not be used for clinical decision-making.
- MAX30102 pulse and SpOβ sensor
- ESP32-based implementation
- Bluetooth connectivity
- Wi-Fi connectivity
- IoT cloud integration
- Mobile application
- Real-time web dashboard
- Advanced digital filtering
- Moving-average and adaptive signal processing
- Heartbeat data logging
- Remote monitoring
- Cloud-based historical analysis
- Battery-powered wearable implementation
This project strengthened practical understanding of:
- Embedded C/C++ programming
- Arduino microcontroller programming
- Analog-to-Digital Conversion
- GPIO interfacing
- I2C communication
- Sensor interfacing
- Basic signal processing
- BPM calculation
- OLED interfacing
- LED and buzzer control
- Threshold-based control systems
- Wokwi virtual hardware simulation
- Python-based simulation
- Debugging and testing
- Git version control
- GitHub project management
- Technical documentation
Embedded Systems | Arduino | Embedded C/C++ | ADC | GPIO | I2C | Sensor Interfacing | OLED | Signal Processing | BPM Calculation | Wokwi | Python | Debugging | Testing | Git | GitHub
The concepts demonstrated by this prototype are relevant to:
- Wearable electronics
- Fitness monitoring
- Smart watches
- Sports technology
- Rehabilitation systems
- IoT health-monitoring prototypes
- Remote monitoring systems
- Embedded healthcare research
Sensor Interface
- ADC
- Embedded Processing
- Signal Interpretation
- Decision Logic
- I2C Communication
- Display Interface
- GPIO Control
- Audible/Visual Alerts
- Simulation & Testing
Vayunandan Mishra is an Electronics and Communication Engineering (ECE) student interested in developing practical engineering projects in Embedded Systems, IoT, Electronics, Automation, Python, Artificial Intelligence, and Hardware-Software Integration.
This project demonstrates practical experience in embedded-system design, sensor interfacing, real-time processing, virtual simulation, testing, debugging, technical documentation, and GitHub-based project management.
Status: Completed Educational Prototype
- Hardware Concept β
- Arduino Implementation β
- BPM Processing β
- OLED Interface β
- LED Alert System β
- Buzzer Alert β
- Wokwi Simulation β
- Python Simulation β
- Testing β
- Documentation β
- GitHub Repository β
This project is intended for educational and learning purposes.
You may study, modify, and extend the project for academic and personal learning applications.
This project provided practical experience in converting an embedded-system concept into a structured prototype through hardware interfacing, software implementation, virtual simulation, testing, documentation, and GitHub-based version control.



