Sunday, June 16, 2024

Smart Touch Display Multi-Door Doorbell System

Technology is advancing daily and everything is turning smarter. A number of traditional devices that we used at our homes are becoming smarter now, including the doorbells which are also evolving with new features and styles. Today you will find many fancy doorbells in the market with touch switch system, but they are very costly to set up and everybody can’t afford to have it.

Fig 1.Prototype touch screen

So, we have decided to help you make your own DIY touch display doorbell system. This doorbell system has a lot of unique systems, which will give you a new experience altogether. Another interesting feature of this doorbell system is that it has separate ringing bells for each of the room in your house or office. It also has a special notification system to let the visitors know whether the office is closed or not, or if any of the family members is available or not.

So, let’s start the project.

Bill of Material

Setting Arduino Library

First, we will to install the required library to Arduino IDE. For this, Go to Sketch menu and click on manage library. Then search the library name and click on install. The library we need in this project are Addafruit GFX library and Touch screen library.

- Advertisement -

NOTE: Every touch screen has their own library. So, find a library according to your TFT screen model and install it. Here we have used MCUFriend 2.4 TFT LCD Library St7789v and installed it in our Arduino IDE. Refer to (Fig 1,2,3,4) .

Fig 3. Opening Library manager.
Fig 4. Installing Adafurit GFX library
Fig 5. Installing touch screen library


First, we will initialise the libraries in code and then declare the required variables (home1, home 2, home 3, home 4) that we are going to use for separate rooms. After that we will add fonts and colour code for TFT Display (Refer Fig 6).

Fig 6. Arduino code

Next, we need to create a function to get the touch points. And in this function, we have to set the range of pressure to enable the touch screen display to read the touch points. After that we will map the values with the TFT Display’s width and height to identify the touch points. (Refer fig 7)

- Advertisement -
Fig 7. Arduino code getting touch points
Fig 8. Arduino Code Displaying Buttons

In the next step, we will create a setup function to declare the pin modes of Arduino and then create buttons that we want to display on the screen of Touch Display module. In the below code snippet we have created four buttons for four rooms. Along with buttons, we have also created a few notification dots that show the working status of the bell. The colour of these notification dots will change according to the status (for example, it will turn red when the room is close and maroon when it is open). (Refer fig 8)

Now, we will create a function to check and return the status of the buttons, that is weather the touch buttons are pressed or not. (Refer fig 9).

Fig 9. Checking Button status

Then in loop function, we will create several ‘if conditions’ that will check the status of the buttons and perform the tasks according to code. (Refer fig 10.)

Fig 10. Setting the if condition
Fig 11. Code for setting status


Now, connect the components as illustrated in Pic

Arduino BUZZER
GND (BUZZER 1,2,3,4) -VE


Arduino Bluetooth
Fig 12.connection


After connecting the components, crosscheck the wirings and connections. If all the connections are ok, then power the Arduino with 5-12 volt DC (You can use AC to DC adapter like cell phone charger or any 9 volt battery). When you power the Arduino, you will get a menu with several names on your TFT screen. Touch the name where you want to ring the bell. If you want to change the status of the office and house like office is closed or out of home, you can simply connect the Bluetooth to any Bluetooth terminal app available at play store and send the commands as you have set previously in code.

Download source folder

We have one another smart doorbell….It works only if hands are sanitized. Build using Arduino and touchless enabled.

Ashwini Sinha
Ashwini Sinha
A tech journalist at EFY, with hands-on expertise in electronics DIY. He has an extraordinary passion for AI, IoT, and electronics. Holder of two design records and two times winner of US-China Makers Award.


Unique DIY Projects

Electronics News

Truly Innovative Tech

MOst Popular Videos

Electronics Components