Reference:
[1] https://en.wikipedia.org/wiki/Surge_protector
[2] https://new.abb.com/low-voltage/products/surge-protective-devices
[3] https://www.se.com/in/en/product-subcategory/1615-acti-9-surge-protection-devices-spds/
In our previous blog, we interfaced Pulse-Oximeter (Max30100) Module to NodeMCU. With a little bit of modification that can be upgraded to a full functioning Pulse-Oximeter. We have interfaced 0.96" I2C OLED display before. Today we made a Pulse-Oximeter using that knowledge.

Follow our previous blogs for a better understanding of the scenario.
Pulse Oximeter MAX30100 Interface with NodeMCU
OLED Display Interface with Arduino
Things we need:
Connection Diagram:
Now follow the diagram below to do the connections.

After the connection is done upload the code below.
Source Code:
Video:
Watch the video for a better understanding.
Reference:
[1] Sarkar, S., Ghosh, A., Chakraborty, M., & Mondal, A. (2024). Design, Hardware Implementation of a Domestic Pulse Oximeter Using IOT for COVID – 19 Patient. International Journal of Microsystems and Iot, 2(1), 469–475. https://doi.org/10.5281/zenodo.10629635
This LCD device is mainly used in Arduino but it can be connected with any 3.3V controller. These LCDs are used in Nokia 3110/5110 cell phones. It is a very cheap monochrome LCD module made of 84 x 48 pixels. It can be used to display graphics and text together. This display is based on the PCD8544 driver.
Pin configuration of this device is almost like the 16x2 LCD module only instead of 8 data pins one serial data in (Din) pin and one clock (Clk) are there. The list of the pins and their description are listed below.RST: Pin type active low, so 0V Resets the LCD
CE: Cheap Enable is used to enable the device before sending anything to the LCD
DC: Data/Command is used to select between Rata Register or Command Register
DIN: Data In is used to send information serially to the display. It could be Data or Command
CLK: Clock is used to synchronize the display with the controller
VCC: To power, the pin 5V or 3.3V is applied here
BL: This pin is used to power the Backlight of the display
GND: This is used to ground the device.
Things we need
Connection Diagram:
pin 7 - Clock (CLK)
pin 6 - Data In (DIN)
pin 5 - Data/Command select (D/C)
pin 4 - Chip Enable/select (CE/CS)
pin 3 - Reset (RST)
Before you upload the code library needs to be installed. Please follow the below mention instruction to install the library.
https://creativestudio1973.blogspot.com/2019/11/introduction-to-arduino-library-manager.html
In the code below we have displayed text, then we have displayed the same text in inverted mode, after that we have rotated the text finally we displayed the ASCII table.
Source Code 1:
Video 1:
Here in the second code, we tested display by displaying an image. To display the image we have to convert the image into code. To do that open the link image2cpp.
Link: http://javl.github.io/image2cpp/



Video 2:
The MAX30100 has integrated pulse oximetry and heart-rate monitor sensor integrated circuit with I2C interface. NodeMCU is mostly preferred as it is a 3.3V controller.




In our previous blog, we discussed interfacing of Dot Matrix Display with Arduino and found out that the process consumes lots of Arduino pins. To solve this issue we will use a driver IC. With help of this driver IC, we will control an 8x8 Dot Matrix Display using only 3 I/O pins.
Dot Matrix displays are categorized upon their number of rows and number of columns and size of pixels. Usually, dot matrix displays come in the square shape of 8x8 LEDs but here we are going to demonstrate a 7x5 LEDs Display. The benefit of a dot matrix display is that you will be able to display characters or images using this. The process shown here is very simple to understand but the drawback is that this process consumes lots of pins. If you look at the Arduino in the video below you will see that 12 digital I/O pins are used to control one display. For come controllers, we might not have 12 I/O pins at all. The process of overcoming this scenario we will discuss in our next blog.
Things we need:Connection Diagram:
Source Code:
Video: