element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Summer of Sensors Design Challenge
  • Challenges & Projects
  • Design Challenges
  • Summer of Sensors Design Challenge
  • More
  • Cancel
Summer of Sensors Design Challenge
Blog Under Pressure BLOG# 3 - BPM Uno – System Design
  • Blog
  • Forum
  • Documents
  • Design Challenge
  • Leaderboard
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Summer of Sensors Design Challenge to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: skruglewicz
  • Date Created: 6 Oct 2022 4:52 PM Date Created
  • Views 516 views
  • Likes 11 likes
  • Comments 0 comments
  • BLOG# 4–System Implementation and Testing
  • BLOG# 2-Research & Experimentation
  • arduino uno
  • Under Pressure
  • mikroelektronika
  • Summer of Sensors Design Challenge
  • mikroe
  • max30100
  • MIKROE-2000 Heart Rate Click
  • SEEED Arduino UNO Base Shield V2
  • Patient Beats Per Minute Heart Rate Monitor
  • BPM Uno
Related
Recommended

Under Pressure BLOG# 3 - BPM Uno – System Design

skruglewicz
skruglewicz
6 Oct 2022
Under Pressure BLOG# 3 - BPM Uno – System Design

imageBLOG# 3 - BPM Uno – System Design. A Patient Beats Per Minute Heart Rate Monitor

This blog is part of a blog series for the Summer of Sensors -- Under Pressure Design Challenge. In this blog post, I will be presenting a design for my Idea. I will describe the functionality of my idea. I will show Block, Wiring and Software Sequence Diagrams to describe my idea. This blog I will, Describe the firmware used to implement a BPM monitor. The flow of the firmware will also be described, by using a Sequence Diagram, and How the components of the Challenge Kit interact with each other, using a Block and a Wiring diagram.

Table of Contents

  • Functional Specification
    • Block diagram
    • Wiring Diagram
    • Software Design
      • UML Sequence Diagram
      • Libraries
  • Summary & Conclusions
  • REFERENCES

Functional Specification

This section describes the functionality of prototype.

  • Basically the prototype will need to:
  • Calculate the Beats per minute of a patent, by taking a reading of the patients heart rate.
  • The interface is a touch sensor that when a finger is placed over the device a heart rate value can be detected.
  • This value is used along with other values read over a minute to calculate the Beats per Minute of the patent.
  • Once a BPM is calculated it will be displayed on a screen.

Block diagram

The following block diagram, shows the connections of this stacked prototype.

image

Wiring Diagram

  • The following diagram, Shows the components used to build my prototype.
    • Uno SMD MCU
    • Grove Uno Base Shield (stacked)
    • MIKROE Uno Shield, (stacked)
    • MIKROE-2000 Heart Rate Click (stacked onto mikroBUS 1)
    • SSD1306 OLED Display (wired to mikroBUS 2)
  • The two shields are stacked onto the UNO. With there pins matched up to the Header pins on the UNO,
  • The MIKROE-2000 Heart Rate Click is stacked onto the stacked onto mikroBUS 1, of the MIKROE Uno Shield. The connections used are depicted with a DOTTED line.
  • The SSD1306 OLED Display is wired to the mikroBUS 2 of the MIKROE Uno Shield. The wiring is depicted with a SOLID
  • There is only 4 wires used for this build. The rest of the Build involves stacking the components onto each other and assuring the pins are lined up on there headers.

image

Software Design

This section shows the Logic of the flow of the Firmware

UML Sequence Diagram

image

Libraries

This section list the Third Party Arduino supported libraries used in the firmware

Arduino-MAX30100 Library on GitHub

https://github.com/adafruit/Adafruit_SSD1306 (SSD1306 library)

https://github.com/adafruit/Adafruit-GFX-Library (GFX library)

I2C two wire library  “wire.h” 

Summary & Conclusions

I was able to find the Arduino-MAX30100 library on the internet. 

REFERENCES

Most of the images in the diagrams were taken off the internet

All the Diagrams were produced using LucidChart

OTHER BLOGS IN THE DESIGN CHALLENGE SERIES
Under Pressure - BLOG# 1 - BPM Uno – INTRODUCTION
Under Pressure - BLOG# 2 - BPM Uno – Research & Experimentation        
Under Pressure - BLOG# 3 - BPM Uno – System Design                          This BLOG
Under Pressure - BLOG# 4 - BPM Uno – System Implementation and Testing
Under Pressure - BLOG# 5 - BPM Uno – Conclusions and Future Enhancements
Under Pressure - BLOG# 6 - BPM Uno - Experimenting with the LSM6DSL CLICK
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube