The PPG EduKit is an evaluation platform aiming to acquire the PPG signal from the finger(s) for research and educational purposes. The PPG EduKit gives the user full control and understanding over the different steps needed to acquire, condition, visualize and process the raw PPG signals which are then used to extract meaning-ful physiological information. The modular approach of the platform facilitates the support of different embedded devices such as Arduino and PSoC 6 platform, to perform digital signal processing operations needed for the multiple PPG applications. The components of the PPG EduKit are grouped in two main blocks: the analog front-end and the digital back-end.
The PPG EduKit platform can be used as a shield for any Arduino board as long as the microcontroller runs with a logic level voltage of 3V3. Do not use the PPG EduKit with microcontrollers that have a logic level voltage of 5V, like the Arduino UNO. The platform can be also used with CY8CPROTO-063-BLE Prototyping Kit (Cypress/Infineon) using the bridge adaptor.
Angel Solé Morillo, Joan Lambert Cause, Vlad-Eusebiu Baciu, Bruno da Silva, Juan Carlos Garcia-Naranjo and Johan Stiens, PPGEduKit: An Adjustable Photoplethysmography Evaluation System for Educational Activities, In Sensors MDPI, 2022
If you find any of the ideas/codes useful for your research, please cite our paper:
@article{morillo2022ppgedukit,
title={PPG EduKit: An Adjustable Photoplethysmography Evaluation System for Educational Activities},
author={Sole Morillo, Angel, Lambert Cause, Joan, Baciu, Vlad-Eusebiu, da Silva, Bruno, Garcia-Naranjo, Juan Carlos and Stiens, Johan },
journal={Sensors MDPI},
year={2022}
}
Arduino directory : includes the PPG EduKit Arduino library and a number of guiding labs using the library package.
PSoC directory : includes the PSoC libraries and a number of guiding labs using the library package.
GUI_Application directory : contains the PPG EduKit GUI application. There are a number of two applications implemented that allows the user to visualize the PPG signals.
Others directory : contains platform related documents and datasheets.
For the GUI Application you need any Python IDE, but we suggest using Anaconda . Anaconda is a distribution of the Python that aims to simplify package management and deployment.
Using Anaconda, install Spyder version 4.1.5 , a free integrated development environment (IDE) that is included with Anaconda.
In order to use the GUI Application, please install the following packages:
pip install pyqtgraph==0.12.3 --user
pip install numpy==1.19.5 --user
pip install PyQt5==5.15.6 --user
pip install pyserial==3.5 --user
How to use neural networks with PPG-EduKit: https://github.com/vladBaciu/ML-PPG-EduKit
- OLED display seems to not work for all the USB ports. Works only when the board is connected to an USB 3.0 port. It has been seen that on USB 2.0, during init function call, in debug mode there is a warning about a dip(brownout) in the supply voltage of the board.
- I2C communication produces some noise on the PPG signal. With careful sampling this can be avoided.
- TIA amplifier does not have compensation. Might oscillate.
- NeoPixel might light up during serial communication.