BP Classification & Announcing Results Over Voice Using Pi3

Hey, what’s up, Guys! Akarsh here from CETech.

This project that we have made this time is capable of Classification Of Blood Pressure, Spo2, Body Temperature Monitoring, and announcing sensor Results Over The Voice Using Raspberry Pi. In this Upgrade Project, I Have provided the following parameters

BP Classification & Announcing Results Over Voice Using Pi3

1. SpO2 Monitoring

2. IR Temperature Sensor

3. LCD Display

4. Voice Broadcasting

5. Data Saving For Future ML Training

I added the basic details of different Classifications of blood pressure for adults (18 years and older). I will utilize the same chart to create this Project.


Hardware components

  • Raspberry Pi 3 Model B
  • Maxim Integrated MAX30102 High-Sensitivity Pulse Oximeter and Heart-Rate Sensor for Wearable Health
  • SparkFun MLX90614
  • Texas Instruments LM386
  • Speaker: 3W, 4 ohms
  • Adafruit RGB Backlight LCD – 16×2
  • Linear Regulator (7805)
  • Bridge Rectifier Diode, Single Phase
  • BP Sensor

Software apps and online services

  • Raspberry Pi Raspbian

Hand tools and fabrication machines

  • Soldering iron (generic)
  • Solder Wire, Lead-Free
  • Drill / Driver, Cordless
  • Multitool, Screwdriver

Step 1: Get PCBs for Your Projects Manufactured

Get PCBs for Your Projects Manufactured

You must check out PCBWAY for ordering PCBs online for cheap!

You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop.

Step 2: Block Diagram of the Project

Block Diagram of the Project

I will Explain How To Interface The Sensor With the Raspberry and How to Process to Display the Output. By following this blog You can find what are the libraries and Software settings need to configure for the project.

By using This project you can measure Blood Pressure, Non-Contact IR Temperature Measurement, and SpO2. All these results are displayed on LCD and the Results are Broadcast through Voice. Based on the Accent you required you can change your Voice Broadcast Accent.

Step 3: Blood Pressure Sensor Interfacing With Raspberry Pi

I have used Python 3 for writing code for this project. I have used Python Idle3 to write and Run The code. By default, Raspberry Pi Will have Thonny IDE. If you want to use the same IDE as mine you need to download it by typing the following command in the Raspberry Pi terminal.

sudo apt-get install idle3

The BP Sensor Exchanges the Data Over the UART Terminal in Half Duplex Mode. This sensor Communicates the Raspberry Pi by 9600 Baud Rate. To receive the data In the Raspberry Pi We need to Configure UART Channel in the Raspberry Pi.

Step 4: Raspberry Pi UART

Raspberry Pi has two in-built UART which are as follows:

  • PL011 UART
  • mini UART

PL011 UART is an ARM-based UART. This UART has better throughput than mini UART. In Raspberry Pi 3, mini UART is used for Linux console output whereas PL011 is connected to the Onboard Bluetooth module. And in the other versions of Raspberry Pi, PL011 is used for Linux console output.

Mini UART uses the frequency which is linked to the core frequency of the GPU. So as the GPU core frequency changes, the frequency of UART will also change which in turn will change the baud rate for UART. This makes the mini UART unstable which may lead to data loss or corruption. To make mini UART stable, fix the core frequency. mini UART doesn’t have parity support.

The PL011 is a stable and high-performance UART. For better and more effective communication use PL011 UART instead of mini UART.

It is recommended to enable the UART of Raspberry Pi for serial communication. Otherwise, we cannot communicate serially as UART ports are used for Linux console output and Bluetooth module.

Raspberry Pi 3 UART Pins

Raspberry Pi 3 UART Pins

Step 5: Configure UART on Raspberry Pi

In Raspberry Pi, enter the following command in the Terminal window to enable UART,

sudo raspi-config

Select -> Interfacing Options

Interfacing Options

After selecting the Interfacing option, select the Serial option to enable UART

Serial option to enable UART

Then it will ask for the login shell to be accessible over Serial, select No shown as follows.

No shown

In the end, it will ask for enabling the Hardware Serial port, select Yes,

 Hardware Serial port

Finally, our UART is enabled for Serial Communication on the RX and TX pins of Raspberry Pi

RX and TX

Then, reboot the Raspberry Pi.

Step 6: Serial Port for UART Communication

By default, mini UART is mapped to UART pins (TX and RX) while PL011 is connected to the onboard Bluetooth module on Raspberry Pi 3.

In the previous versions of Raspberry Pi models, PL011 is used for Linux Console output (mapped to UART pins) and no onboard Bluetooth module exists.

After making the above configuration, UART can be used at UART pins (GPIO14 and GPIO15).

To access mini UART in Raspberry Pi 3, the ttyS0 port is assigned. And to access PL011 in Raspberry Pi 3 ttyAMA0 port is assigned. But in other models of Raspberry Pi, there is only the ttyAMA0 port is accessible.

Hardware UART port i.e. GPIO14(TXD) and GPIO15 (RXD) is also known as serial0 while other UART port connected to the Bluetooth module is known as serial1. These names are created as serial aliases for Raspberry Pi version portability.

We can check which UART i.e. mini UART (ttyS0) or PL011 UART (ttyAMA0) is mapped to UART pins (GPIO14 and GPIO15). To check UART mapping, enter the following commands.

Read more: BP Classification & Announcing Results Over Voice Using Pi3


About The Author

Scroll to Top
Read previous post:

A group of scientists at Columbia University and the University of Washington has found unique electronic states along with an uncommon kind of magnetism,...