Skip to content
Free Delivery on Orders Above Rs 999/- Pan-India
Cash on Delivery Available for Orders above Rs.500/- and Upto Rs 3000/-
SAVE more when you BUY more. Upto 30% Off on BULK PURCHASE
GST Invoices for Your Business
Dedicated Technical Support Team
Safely Delivering Genuine Products PAN INDIA

Build a Smart Doorbell Using Arduino

Build a Smart Doorbell Using Arduino
-
Written By - Robocraze -
📅 Updated on 14 Aug 2026
Summarize with AI
✅ Prompt copied

Summary

A doorbell is one of the most common electronic devices found in homes, but with a microcontroller like Arduino, it can become much more than a simple push-button circuit. By integrating sensors, buzzers, and programmable logic, you can build a smart doorbell that not only alerts occupants when someone is at the door but can also be expanded with features such as visitor detection, wireless notifications, cameras, and IoT connectivity.

This project is an excellent introduction to Arduino because it combines digital input handling, output control, debouncing techniques, and simple embedded programming into a practical home automation project. It also serves as the foundation for more advanced smart home systems.

In this tutorial, we'll build a Smart Doorbell using an Arduino Uno, a push button, an active buzzer, and an LED status indicator. The design can later be upgraded with PIR sensors, cameras, Wi-Fi modules, or mobile notifications.

Build a Smart Doorbell Using Arduino - Cover image

How Does a Smart Doorbell Work?

The system continuously monitors the state of a push button installed near the entrance.

When the button is pressed:

  • The Arduino detects the button press.
  • The buzzer produces a doorbell sound.
  • An LED lights up to indicate that the doorbell has been activated.

Once the button is released, the buzzer stops and the LED turns OFF.

Smart Doorbell using Arduino

Although this project uses a simple push button, the same logic can later be extended to include:

  • Motion detection
  • Face recognition
  • Smartphone alerts
  • Visitor logging
  • Smart locks

Components and Supplies

Original Arduino Uno R3 microcontroller board with ATmega328P and USB port - Arduino Uno Board -RobocrazeOriginal Arduino Uno R3 microcontroller board with ATmega328P and USB port - Arduino Uno Board -Robocraze

Arduino Uno R3 Original

Arduino UNO R3 Original The Arduino Uno R3 is a microcontroller board based on the ATmega328P chip and is widely recognized as the best original Arduino Uno board for beginners and projects. This board has 14 digital I/O pins (6 support PWM), 6 analog...
Rs 2,619/-
Rs 2,619/-
Rs 2,999/-
Save Rs 380/-
HCSR501 PIR Motion Sensor (Passive Infrared Sensor)HCSR501 PIR Motion Sensor (Passive Infrared Sensor)

    HCSR501 PIR Motion Sensor (Passive Infrared Sensor)

    HCSR501 PIR Motion Sensor The HC-SR501 PIR Motion Sensor Module is used to detect the motion of a human body within the sensor’s range. It is often referred to as a PIR sensor, “Pyroelectric”, “Passive Infrared” and “IR motion sensor” device. This PIR motion...
    Rs 64/-
    Rs 64/-
    Rs 85/-
    Save Rs 21/-
    🔥 Trending
    ESP32 NodeMCU (38-Pin) WiFi + BLE – Ideal for IoT. -Nodemcu ESP Board -RobocrazeESP32 NodeMCU (38-Pin) WiFi + BLE – Ideal for IoT. -Nodemcu ESP Board -Robocraze

      ESP32 38-Pin WiFi + Bluetooth NodeMCU Development Board

      ESP32 38-Pin WiFi + Bluetooth NodeMCU Development Board  The ESP32 38-Pin WiFi + Bluetooth NodeMCU Development Board is a versatile microcontroller development board designed for IoT, home automation, robotics, embedded systems, and wireless electronics projects. Built around the ESP-WROOM-32 module, it combines a powerful...
      Rs 489/-
      Rs 489/-
      Rs 599/-
      Save Rs 110/-
      A6 GSM Module - A6 GSM Module for SMS, voice & GPRS applications. -RobocrazeA6 GSM Module - A6 GSM Module for SMS, voice & GPRS applications. -Robocraze

      A6 GSM Module

      A6 GSM Module The GPRS Pro Serial A6 GPRS GSM Module Core DIY Development Board is a professional-grade development board that allows you to create your own IoT projects using the GPRS A6 module. The board supports dual-band GSM/GPRS networks and can be used...
      Rs 683/-
      Rs 683/-
      Rs 769/-
      Save Rs 86/-
      ESP32 CAM WiFi Module + OV2640 Camera – AI & streaming-ready. -Nodemcu ESP Board -RobocrazeESP32 CAM WiFi Module + OV2640 Camera – AI & streaming-ready. -Nodemcu ESP Board -Robocraze

      ESP32 CAM WiFi Bluetooth Module with 3MP OV3660 Camera

      ESP32 CAM WiFi Bluetooth Module with 3MP OV3660 Camera The ESP32 CAM WiFi Bluetooth Module with 3MP OV3660 Camera is a compact development board designed for IoT, smart surveillance, robotics, automation, and embedded vision projects. Powered by the ESP32 platform, it combines wireless connectivity...
      Rs 635/-
      Rs 635/-
      Rs 780/-
      Save Rs 145/-
      Arduino UNO+WiFi R3 – Smart Arduino Board with ATmega328P & ESP8266 for IoT. -Arduino Boards -RobocrazeArduino UNO+WiFi R3 – Smart Arduino Board with ATmega328P & ESP8266 for IoT. -Arduino Boards -Robocraze

        Arduino UNO+WiFi R3 ATmega328P+Node MCU ESP8266 CH340G Compatible Board

        CH340G Board compatible with Arduino The Uno+WiFi R3 is a fully integrated board that combines the Uno R3 ATmega328 microcontroller with the WiFi ESP8266 chip, along with 8Mb of memory, all on a single board. Inspired by the widely used arduino uno, this board...
        Rs 459/-
        Rs 459/-
        Rs 749/-
        Save Rs 290/-
        RC522 RFID 13.56MHZ Reader Writer Module - RC522 RFID Module 13.56MHz for contactless card reading & writing. -RobocrazeRC522 RFID 13.56MHZ Reader Writer Module - RC522 RFID Module 13.56MHz for contactless card reading & writing. -Robocraze

          RC522 RFID 13.56MHZ Reader Writer Module

          RC522 RFID 13.56MHZ Reader Writer Module This RC522 RFID Card Reader Module 13.56MHz is an MFRC522-based Module that can be used in a wide range of applications. RC522 is the highly integrated RFID card reader and writer that works on non-contact 13.56mhz communication, is...
          Rs 89/-
          Rs 89/-
          Rs 114/-
          Save Rs 25/-

          Components Required

          Electronics

          Optional Components

          • PIR Motion Sensor
          • ESP32 Development Board
          • OLED Display
          • Relay Module
          • RFID Module
          • Camera Module
          • Wi-Fi Module
          • GSM Module

          Understanding the Components

          Arduino Uno

          The Arduino Uno is the controller of the project.

          It continuously monitors the push button and controls the buzzer and LED whenever the button is pressed.

          Push Button

          The push button acts as the doorbell switch.

          When pressed, it completes the circuit and sends a HIGH signal to one of the Arduino's digital input pins.

          A pull-down resistor is used to ensure the input remains LOW when the button is not pressed.

          Active Buzzer

          An active buzzer contains an internal oscillator.

          Unlike a passive buzzer, it only requires a HIGH signal from the Arduino to generate sound, making it ideal for beginner projects.

          LED

          The LED provides a visual indication whenever the doorbell is activated.

          It can also be used for debugging during testing.

          Circuit Connections

          Arduino Doorbell Circuit Connections

          Push Button Connections

          • Connect one terminal of the push button to the 5V pin on the Arduino.
          • Connect the opposite terminal of the push button to Digital Pin 2 on the Arduino.
          • Connect one end of a 10kΩ resistor to Digital Pin 2.
          • Connect the other end of the 10kΩ resistor to the GND pin on the Arduino.

          The resistor acts as a pull-down resistor, ensuring that the input remains LOW when the button is not pressed.

          LED Connections

          • Connect the anode (positive leg) of the LED to one end of a 220Ω resistor.
          • Connect the other end of the resistor to Digital Pin 8 on the Arduino.
          • Connect the cathode (negative leg) of the LED to the GND pin on the Arduino.

          Buzzer Connections

          • Connect the positive terminal of the active buzzer to Digital Pin 9 on the Arduino.
          • Connect the negative terminal of the buzzer to the GND pin on the Arduino.

          Arduino Power

          • Connect the Arduino to your computer using a USB cable for programming.
          • Alternatively, power the board using a regulated 7–12V DC adapter.

          Building the Project

          Step 1: Assemble the Breadboard

          Place the Arduino Uno next to the breadboard.

          Arrange the push button across the center gap of the breadboard so that each pair of terminals sits on opposite sides.

          Step 2: Connect the Push Button

          Wire the push button according to the circuit connections.

          Ensure that the 10kΩ pull-down resistor is connected correctly.

          An incorrect resistor connection is one of the most common causes of unreliable button readings.

          Step 3: Connect the LED

          Install the LED and its current-limiting resistor.

          Check the LED polarity before powering the circuit.

          The longer leg is the anode, while the shorter leg is the cathode.

          Step 4: Connect the Buzzer

          Wire the active buzzer to Digital Pin 9 and GND.

          If using a passive buzzer instead, the programming logic will need to use the tone() function.

          Step 5: Verify All Connections

          Before powering the Arduino:

          • Check every jumper wire.
          • Verify resistor values.
          • Confirm LED polarity.
          • Ensure the button is correctly positioned.
          • Make sure there are no loose connections.

          Arduino Code

          Upload the following sketch to your Arduino Uno.

          
          // Smart Doorbell Using Arduino 
           
          const int buttonPin = 2; 
          const int ledPin = 8; 
          const int buzzerPin = 9; 
           
          int buttonState = 0; 
           
          void setup() { 
           
            pinMode(buttonPin, INPUT); 
            pinMode(ledPin, OUTPUT); 
            pinMode(buzzerPin, OUTPUT); 
           
            Serial.begin(9600); 
           
          } 
           
          void loop() { 
           
            buttonState = digitalRead(buttonPin); 
           
            if(buttonState == HIGH){ 
           
              digitalWrite(ledPin, HIGH); 
              digitalWrite(buzzerPin, HIGH); 
           
              Serial.println("Doorbell Pressed"); 
           
            } 
           
            else{ 
           
              digitalWrite(ledPin, LOW); 
              digitalWrite(buzzerPin, LOW); 
           
            } 
           
            delay(50); 
           
          } 
          

          How the Code Works

          The Arduino continuously checks the status of the push button connected to Digital Pin 2.

          If the button is pressed:

          • The LED is switched ON.
          • The buzzer is activated.
          • A message is displayed in the Serial Monitor.

          When the button is released:

          • The LED switches OFF.
          • The buzzer stops.

          A short delay of 50 milliseconds is included to reduce switch bouncing and improve reliability.

          Testing the Project

          After uploading the code, verify that the system behaves correctly.

          Button Not Pressed

          Expected Result:

          • LED remains OFF.
          • Buzzer remains silent.

          Button Pressed

          Expected Result:

          • LED turns ON immediately.
          • Buzzer produces sound.
          • Serial Monitor displays:

          Doorbell Pressed

          Repeated Button Presses

          Expected Result:

          The doorbell should respond consistently without false triggering or delayed responses.

          Common Problems

          Button Does Not Respond

          Check:

          • Push button orientation
          • Digital Pin 2 connection
          • Pull-down resistor wiring
          • Loose jumper wires

          Buzzer Does Not Produce Sound

          Verify:

          • Buzzer polarity
          • Correct Arduino pin
          • Active buzzer is being used
          • Wiring continuity

          LED Does Not Illuminate

          Check:

          • LED polarity
          • 220Ω resistor
          • Pin assignment
          • Breadboard connections

          Serial Monitor Shows Random Triggering

          This usually indicates a floating input.

          Ensure the 10kΩ pull-down resistor is connected correctly between Pin 2 and GND.

          Doorbell Triggers Multiple Times

          Mechanical push buttons naturally bounce when pressed.

          If multiple triggers occur:

          • Increase the software debounce delay.
          • Implement a proper debounce routine using millis().
          • Use the Arduino Bounce2 library for improved performance.

          Improving the Smart Doorbell

          Once the basic project is working, several enhancements can make it much more useful.

          Motion Detection

          Add a PIR Motion Sensor to detect visitors before they press the doorbell.

          The Arduino can automatically illuminate an entrance light or activate a camera.

          Wireless Notifications

          Replace the Arduino Uno with an ESP32 Development Board.

          This allows the system to send notifications to a smartphone whenever the doorbell is pressed.

          Visitor Display

          Connect a 16×2 LCD or OLED display to show messages such as:

          • Welcome
          • Please Wait
          • Door Open
          • Visitor Detected

          Smart Lock Integration

          A relay module can be used to control an electronic door lock.

          Combined with RFID or keypad authentication, this creates a basic smart access control system.

          Camera Integration

          A camera module can automatically capture an image whenever the button is pressed.

          This forms the basis of a smart video doorbell system.

          Cloud Logging

          Using an ESP32, every doorbell event can be logged to an IoT platform.

          The system can record:

          • Time of visitor arrival
          • Number of button presses
          • Visitor history
          • Remote alerts

           

           

          Final Thoughts

          A Smart Doorbell is one of the most practical Arduino home automation projects because it introduces digital input handling, output control, and event-driven programming through a familiar real-world application. While the basic version uses only a push button, buzzer, and LED, the same architecture can be expanded into a fully connected smart home device with motion sensing, wireless notifications, access control, and cloud connectivity.

          For anyone looking to build a smart doorbell project in India, this tutorial provides a solid foundation in Arduino programming and hardware interfacing while leaving plenty of room for future upgrades as your embedded systems skills grow.

          Excerpt

          Start your home automation journey! Build a simple Arduino smart doorbell with a buzzer, LED, and push button. Get the full circuit diagram and free code here.
          Prev Post
          Next Post

          Leave a comment

          Please note, comments need to be approved before they are published.

          Thanks for subscribing!

          This email has been registered!

          Shop the look

          Choose Options

          Edit Option
          Back In Stock Notification
          Compare
          Product SKU Description Collection Availability Product Type Other Details

          Choose Options

          this is just a warning
          Login
          Shopping Cart
          0 items
          FREE SHIPPING!
          ₹100 OFF
          ₹200 OFF
          ₹999
          ₹2500
          ₹4900
          WhatsApp Chat Chat