. SmartElectronicsDIY

Automatic Fire Detection Suppression System(Arduino Uno | Embedded + Safety System)

This system automatically detects fire using flame and smoke sensors and activates a water pump to suppress it. At the same time, it triggers an alarm and can send alerts (optional GSM/IoT).

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Arduino Human Following Robot Project

 

The Human Following Robot uses ultrasonic sensors to detect a person and automatically follows them while maintaining a safe distance. The robot moves forward, left, right, or stops based on human position.


๐Ÿ”ง Components Required

  • Arduino UNO

  • Ultrasonic Sensor HC-SR04 (1 or 2 sensors)

  • Motor Driver L298N

  • DC Motors × 2

  • Robot Chassis + Wheels

  • 12V Battery / Power Bank

  • Jumper Wires

  • Breadboard

(Optional: IR sensors for better accuracy)


⚙️ Working Principle

  1. Ultrasonic sensor emits ultrasonic waves.

  2. Waves reflect from the human body.

  3. Arduino calculates distance.

  4. Based on distance:

    • Too far → Move Forward

    • Too close → Stop

    • Left detected → Turn Left

    • Right detected → Turn Right


๐Ÿ“ Distance Formula

Distance (cm) = (Time × 0.034) / 2

๐Ÿ”Œ Circuit Connections

HC-SR04 → Arduino

HC-SR04Arduino
VCC5V
TrigD9
EchoD10
GNDGND

L298N Motor Driver → Arduino

L298N PinArduino
IN1D2
IN2D3
IN3D4
IN4D5
ENA5V
ENB5V
GNDGND

๐Ÿ’ป Arduino Code

#define trigPin 9 #define echoPin 10 #define IN1 2 #define IN2 3 #define IN3 4 #define IN4 5 long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.println(distance); if (distance > 20 && distance < 60) { moveForward(); } else if (distance <= 20) { stopRobot(); } else { stopRobot(); } } void moveForward() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); } void stopRobot() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); }

๐Ÿ“Š Output Behavior

DistanceRobot Action
> 60 cmStop
20–60 cmFollow Human
< 20 cmStop

๐Ÿš€ Applications

  • Assistant robots

  • Service robots

  • Surveillance robots

  • Smart shopping carts

  • Robotics learning projects

Arduino Distance Measurement Using Ultrasonic Sensor (HC-SR04) and LCD

 This project measures the distance of an object using the HC-SR04 ultrasonic sensor and displays the distance in centimeters on a 16×2 LCD. It works on the principle of ultrasonic sound wave reflection.




๐Ÿ”ง Components Required

  • Arduino UNO

  • Ultrasonic Sensor HC-SR04

  • 16×2 LCD

  • 10kฮฉ Potentiometer (for LCD contrast)

  • Breadboard

  • Jumper wires

  • USB cable


⚙️ Working Principle

  1. The Trigger pin sends an ultrasonic pulse.

  2. The pulse hits an object and reflects back.

  3. The Echo pin receives the reflected signal.

  4. Arduino calculates distance using time delay.

  5. Distance is displayed on the LCD.

๐Ÿ“ Distance Formula:

Distance (cm) = (Time × Speed of Sound) / 2 Speed of sound = 0.034 cm/ยตs

๐Ÿ”Œ Circuit Connections

HC-SR04 → Arduino

HC-SR04 PinArduino Pin
VCC5V
TrigD9
EchoD10
GNDGND

LCD → Arduino

LCD PinArduino Pin
RSD7
ED6
D4D5
D5D4
D6D3
D7D2
VSSGND
VDD5V
V0Potentiometer
RWGND

๐Ÿ’ป Arduino Code

#include <LiquidCrystal.h> LiquidCrystal lcd(7, 6, 5, 4, 3, 2); const int trigPin = 9; const int echoPin = 10; long duration; int distance; void setup() { lcd.begin(16, 2); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); lcd.print("Distance Meter"); delay(2000); lcd.clear(); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; lcd.setCursor(0, 0); lcd.print("Distance:"); lcd.setCursor(0, 1); lcd.print(distance); lcd.print(" cm "); delay(500); }

๐Ÿ“Š Output

  • LCD displays real-time distance in centimeters

  • Measurement range: 2 cm to 400 cm

  • Accuracy: ±3 mm

Arduino-Based Morse Code (CW) Keyer for Ham Radio

 

 Project Description

This project implements an automatic Morse Code (CW) keyer using an Arduino UNO. The keyer generates precise Morse code timing and sends keying signals to a ham radio transmitter. It supports adjustable speed (WPM) and clean keying, which is difficult to achieve manually.

This is one of the most popular and practical ham radio microcontroller projects.



 




3. Why This Is a Good Final-Year Project

✔ Real-world ham radio application
✔ Combines embedded systems + communication
✔ Simple hardware, strong concept
✔ Easy to demonstrate in viva
✔ Expandable (LCD, memory, Bluetooth)


4. Applications

  • CW (Morse) transmission

  • Learning Morse code

  • Contesting and portable radio operations

  • Embedded timing control demonstration


5. Hardware Components Required

ComponentQuantity
Arduino UNO1
Push Button / Paddle1 or 2
10k Potentiometer (Speed Control)1
NPN Transistor (2N2222)1
1k Resistor1
Buzzer (Optional)1
5V Supply1
Connecting WiresAs needed

6. Circuit Connections

Input Section

  • Paddle / Button

    • One side → Arduino D2

    • Other side → GND

  • Speed Control Potentiometer

    • Middle pin → A0

    • Side pins → 5V & GND

Output (Keying Circuit)

  • Arduino D9 → 1kฮฉ resistor → Transistor base

  • Transistor emitter → GND

  • Transistor collector → Radio KEY input

  • Radio GND → Arduino GND

(This isolates Arduino from the radio safely)


7. Block Diagram (Text)

Paddle/Button ──► Arduino UNO ──► Transistor ──► Radio KEY Input │ Potentiometer (Speed)

8. Working Principle

  1. Operator presses the paddle/button

  2. Arduino reads the input signal

  3. Potentiometer sets Morse speed (WPM)

  4. Arduino generates DIT (.) and DAH (-) timing

  5. Output pin keys the transmitter via transistor

  6. Clean CW signal is transmitted


9. Arduino Code (Complete & Working)

#define KEY_INPUT 2 #define KEY_OUTPUT 9 #define SPEED_POT A0 int ditTime; void setup() { pinMode(KEY_INPUT, INPUT_PULLUP); pinMode(KEY_OUTPUT, OUTPUT); digitalWrite(KEY_OUTPUT, LOW); } void loop() { int potValue = analogRead(SPEED_POT); ditTime = map(potValue, 0, 1023, 50, 200); // Morse speed if (digitalRead(KEY_INPUT) == LOW) { sendDit(); } } void sendDit() { digitalWrite(KEY_OUTPUT, HIGH); delay(ditTime); // DIT duration digitalWrite(KEY_OUTPUT, LOW); delay(ditTime); // Inter-element gap } void sendDah() { digitalWrite(KEY_OUTPUT, HIGH); delay(ditTime * 3); // DAH duration digitalWrite(KEY_OUTPUT, LOW); delay(ditTime); }

10. Testing Procedure

  1. Upload code to Arduino

  2. Rotate potentiometer to change speed

  3. Press paddle/button

  4. Observe keying LED / buzzer

  5. Connect to radio KEY input (low power test)


11. Advantages

  • Accurate Morse timing

  • Easy speed adjustment

  • Low-cost and portable

  • Improves transmission quality


12. Limitations

  • Single paddle version

  • No LCD feedback

  • Manual character input


13. Future Enhancements

  • Iambic dual-paddle support

  • LCD showing WPM

  • Memory keyer (store messages)

  • Bluetooth control via mobile

  • USB keyboard Morse input


14. Conclusion

The Arduino-Based CW Keyer is a reliable and educational ham radio project that demonstrates real-time embedded control, making it ideal for final-year engineering projects and amateur radio applications.

Arduino-Based Automatic Writing Machine

 

1. Project Overview

The Arduino Writing Machine is an automated system capable of writing text or drawing shapes on paper using a pen. The machine uses stepper motors to move the pen along the X and Y axes and a servo motor to lift or place the pen on the paper. The entire system is controlled by an Arduino UNO, which receives predefined text or drawing instructions.

This project demonstrates the practical application of embedded systems, motion control, and automation.









2. Objectives

  • To design an automatic writing system using Arduino

  • To convert text or characters into motor movements

  • To achieve precise pen control using stepper motors

  • To reduce manual writing effort and improve accuracy

  • To understand CNC and plotter machine fundamentals


3. Applications

  • Automatic exam paper writing (demo purpose)

  • PCB drawing and sketching

  • CNC and plotter machine learning

  • Educational automation projects

  • Signature or form filling automation


4. Hardware Components Required

ComponentQuantity
Arduino UNO1
Stepper Motor (28BYJ-48 or NEMA 17)2
Stepper Motor Driver (ULN2003 / A4988)2
Servo Motor (SG90)1
Pen Holder1
Frame (Acrylic / Wood / Aluminum)1
Power Supply (12V / 5V)1
Connecting WiresAs required
Breadboard1

5. Software Requirements

  • Arduino IDE

  • Embedded C / C++

  • (Optional) Processing or Python for text input


6. Working Principle

  1. The Arduino UNO acts as the main controller.

  2. Stepper motors move the pen holder horizontally (X-axis) and vertically (Y-axis).

  3. The servo motor controls pen up/down motion.

  4. Characters are broken into line segments.

  5. Arduino sends step pulses to motors according to predefined coordinates.

  6. The pen writes characters on paper step by step.


7. Block Diagram (Text Representation)

Input Text | Arduino UNO | | | Stepper Stepper Servo Motor X Motor Y Motor | Pen Holder | Paper

8. Circuit Connections (Summary)

Stepper Motors

  • IN1–IN4 → Arduino Digital Pins (2–9)

  • VCC → 5V / 12V

  • GND → GND

Servo Motor

  • Signal → Digital Pin 10

  • VCC → 5V

  • GND → GND


9. Arduino Code (Basic Example)

#include <Servo.h> #include <Stepper.h> #define STEPS 2048 Stepper motorX(STEPS, 2, 4, 3, 5); Stepper motorY(STEPS, 6, 8, 7, 9); Servo pen; void setup() { pen.attach(10); motorX.setSpeed(10); motorY.setSpeed(10); } void penUp() { pen.write(90); delay(300); } void penDown() { pen.write(30); delay(300); } void loop() { penDown(); motorX.step(300); motorY.step(200); motorX.step(-300); motorY.step(-200); penUp(); delay(2000); }

(You can expand this code to write alphabets or words.)


10. Advantages

  • Fully automated writing system

  • High precision and repeatability

  • Low cost and easy to build

  • Good learning platform for CNC machines


11. Limitations

  • Writing speed is slow

  • Limited font styles

  • Requires proper calibration


12. Future Enhancements

  • Bluetooth/Wi-Fi text input

  • Mobile app control

  • Image-to-text writing

  • AI handwriting styles

  • Laser engraving module


13. Conclusion

The Arduino-Based Writing Machine is a practical automation project that demonstrates the integration of hardware control, programming, and mechanical systems. It is highly suitable for final-year engineering projects, offering scope for innovation and future upgrades.

Arduino Radar | Arduino Project

 

The Arduino Radar  is an interesting and educational electronics project that simulates the working principle of a real radar system using Arduino. This project detects objects in a specific area and displays their distance and angle, making it ideal for beginners and engineering students.

The project is built using an Arduino UNO, an ultrasonic sensor (HC-SR04), and a servo motor. The ultrasonic sensor is mounted on the servo motor, which rotates from 0° to 180°. As the servo rotates, the ultrasonic sensor continuously sends sound waves and receives the reflected signals from nearby objects. The Arduino calculates the distance based on the time taken for the echo to return.

The collected data is sent to a computer via serial communication and visualized using the Processing IDE, where it appears like a radar screen showing detected objects in real time. This makes the project both interactive and visually appealing.

Arduino Radar Kit projects are widely used for learning sensor interfacing, servo control, serial communication, and basic object detection concepts. It can be further enhanced by adding wireless modules, IoT connectivity, or multiple sensors.

Overall, this project is a great way to understand how radar-like systems work using simple and affordable components.


 Arduino Radar Project

๐Ÿ”ง Components Required

No.ComponentQuantity
1Arduino UNO1
2Ultrasonic Sensor (HC-SR04)1
3Servo Motor (SG90)1
4Breadboard1
5Jumper Wires (Male–Male)As required
6USB Cable (Arduino)1
7Computer / Laptop (Processing IDE)1

๐Ÿ”Œ Pin Connections

HC-SR04 Ultrasonic Sensor

  • VCC → 5V (Arduino)

  • GND → GND

  • Trig → D9

  • Echo → D10

Servo Motor

  • Red → 5V

  • Brown/Black → GND

  • Yellow/Orange → D6


๐Ÿ’ป Arduino Code (Upload to Arduino UNO)

#include <Servo.h> Servo radarServo; const int trigPin = 9; const int echoPin = 10; long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); radarServo.attach(6); } void loop() { for (int angle = 15; angle <= 165; angle++) { radarServo.write(angle); delay(20); distance = calculateDistance(); Serial.print(angle); Serial.print(","); Serial.print(distance); Serial.print("."); } for (int angle = 165; angle >= 15; angle--) { radarServo.write(angle); delay(20); distance = calculateDistance(); Serial.print(angle); Serial.print(","); Serial.print(distance); Serial.print("."); } } int calculateDistance() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); return duration * 0.034 / 2; }

๐Ÿ–ฅ️ Processing Code (Radar Display on PC)

import processing.serial.*; Serial myPort; String data = ""; int angle = 0; int distance = 0; void setup() { size(800, 600); smooth(); myPort = new Serial(this, Serial.list()[0], 9600); myPort.bufferUntil('.'); } void draw() { background(0); translate(width / 2, height); stroke(0, 255, 0); noFill(); arc(0, 0, 600, 600, PI, TWO_PI); arc(0, 0, 400, 400, PI, TWO_PI); arc(0, 0, 200, 200, PI, TWO_PI); float radarAngle = radians(angle); line(0, 0, 300 * cos(radarAngle), -300 * sin(radarAngle)); if (distance < 200) { stroke(255, 0, 0); line(0, 0, distance * 3 * cos(radarAngle), -distance * 3 * sin(radarAngle)); } } void serialEvent(Serial myPort) { data = myPort.readStringUntil('.'); if (data != null) { data = trim(data); int[] values = int(split(data, ',')); angle = values[0]; distance = values[1]; } }

⚙️ Working Principle (Short)

  • Servo rotates ultrasonic sensor from 15° to 165°

  • Sensor detects object distance

  • Arduino sends angle + distance via serial

  • Processing displays real-time radar visualization

RFID Based Door Lock System using Arduino UNO


 In today’s digital era, security is a major concern for homes, offices, and institutions. The RFID Based Door Lock System using Arduino UNO is a smart and efficient solution that replaces traditional keys with contactless RFID cards or tags. This system provides enhanced security, ease of use, and reliability at a low cost.

The core of the project is the Arduino UNO microcontroller, which controls the entire system. An RFID reader (such as MFRC522) scans the RFID card and reads its unique identification number (UID). When a user brings an authorized RFID card near the reader, the Arduino compares the scanned UID with the stored authorized UID. If the card is valid, the Arduino activates a servo motor or electronic lock to open the door. If the card is unauthorized, access is denied and a buzzer or alert can be triggered.

This system is widely used in modern access control applications because it is fast, secure, and does not require physical contact. It also reduces the risk of key duplication. The RFID door lock system can be further enhanced by adding features such as LCD displays, IoT connectivity, GSM alerts, or fingerprint verification. Overall, this project is an excellent example of how embedded systems can be used to create smart security solutions.


Components Required

ComponentQuantity
Arduino UNO1
RFID Reader (MFRC522)1
RFID Card / Tag1–2
Servo Motor (SG90)1
Buzzer (optional)1
LED (Green/Red – optional)2
Jumper WiresAs needed
Breadboard1

๐Ÿ”Œ Pin Connections

RFID (MFRC522 → Arduino)

RFID PinArduino Pin
SDAD10
SCKD13
MOSID11
MISOD12
RSTD9
VCC3.3V
GNDGND

Servo Motor

Servo WireArduino
Red5V
BrownGND
YellowD3

Buzzer (Optional)

BuzzerArduino
+D4
GND

⚙️ Working Principle

  1. RFID reader scans the card.

  2. Arduino checks the card UID.

  3. ✅ If UID matches → door opens (servo rotates).

  4. ⛔ If UID doesn’t match → buzzer sounds.

  5. Door closes automatically after a delay.


๐Ÿ’ป Arduino Code

#include <SPI.h> #include <MFRC522.h> #include <Servo.h> #define SS_PIN 10 #define RST_PIN 9 #define BUZZER 4 MFRC522 rfid(SS_PIN, RST_PIN); Servo door; byte authorizedUID[4] = {0xDE, 0xAD, 0xBE, 0xEF}; // Change to your card UID void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); door.attach(3); door.write(0); // Door closed pinMode(BUZZER, OUTPUT); Serial.println("RFID Door Lock Ready..."); } void loop() { if (!rfid.PICC_IsNewCardPresent()) return; if (!rfid.PICC_ReadCardSerial()) return; bool accessGranted = true; for (byte i = 0; i < 4; i++) { if (rfid.uid.uidByte[i] != authorizedUID[i]) { accessGranted = false; break; } } if (accessGranted) { Serial.println("Access Granted"); door.write(90); // Open door delay(3000); door.write(0); // Close door } else { Serial.println("Access Denied"); digitalWrite(BUZZER, HIGH); delay(1000); digitalWrite(BUZZER, LOW); } rfid.PICC_HaltA(); }

๐Ÿ“ Block Diagram (Text)

RFID Card ↓ RFID Reader (MFRC522) ↓ Arduino UNO ↓ ↓ Servo Buzzer (Door) (Alert)

๐Ÿšช Applications

  • Home security systems

  • Office access control

  • School/college labs

  • Hotel room locking

  • Smart door systems


Footstep Power Generation Project Using Arduino

 

Project Overview

Footstep Power Generation is a system that converts human walking energy into electrical power using piezoelectric sensors.
Each step produces a small voltage, which is collected, stored, and monitored using Arduino UNO.

๐Ÿ”‹ Energy that is normally wasted → converted into usable electricity




๐ŸŽฏ Objectives


๐Ÿง  Working Principle (Simple)

When pressure is applied to a piezoelectric sensor, it generates an electrical voltage.

  1. Person steps on tile

  2. Piezo sensors generate AC voltage

  3. Rectifier converts AC → DC

  4. Capacitor smooths voltage

  5. Battery stores energy

  6. Arduino:

    • Measures voltage

    • Counts footsteps

    • Displays data on LCD


๐Ÿงฉ Components Required

๐Ÿ”Œ Electronics

  • Arduino UNO

  • Piezoelectric sensors (6–12 pcs)

  • Bridge Rectifier (or 4 × 1N4007 diodes)

  • Capacitor (1000ยตF / 2200ยตF)

  • Rechargeable Battery (3.7V Li-ion)

  • TP4056 charging module (recommended)

  • Voltage Divider (10kฮฉ, 100kฮฉ)

  • 16×2 LCD (I2C preferred)

  • LEDs

  • Buzzer (optional)

๐Ÿงฑ Mechanical

  • Wooden / acrylic base

  • Rubber sheet / foam

  • Springs (optional)

  • Wires & solder


๐Ÿ”ง Block Diagram (Text)

Footstep Pressure ↓ Piezo Sensors ↓ Bridge Rectifier ↓ Capacitor ↓ Battery ↓ Arduino UNO ↓ ↓ LCD LED / Load

๐Ÿ”Œ Circuit Connections

Piezo to Arduino

  • Piezo output → Bridge Rectifier

  • Rectifier + → Capacitor +

  • Capacitor − → GND

  • Voltage divider → A0 (Arduino)

LCD

  • VCC → 5V

  • GND → GND

  • SDA → A4

  • SCL → A5

LED

  • Anode → D8 (via 220ฮฉ)

  • Cathode → GND


๐Ÿง  Arduino Code (Working Code)

#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); int piezoPin = A0; int ledPin = 8; int stepCount = 0; void setup() { pinMode(ledPin, OUTPUT); lcd.begin(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("Footstep Power"); } void loop() { int sensorValue = analogRead(piezoPin); float voltage = sensorValue * (5.0 / 1023.0); if (voltage > 2.0) { // Footstep detected stepCount++; digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); } lcd.setCursor(0,1); lcd.print("Steps:"); lcd.print(stepCount); lcd.print(" V:"); lcd.print(voltage); delay(200); }

๐Ÿงฑ Mechanical Setup (Very Important)


  • Piezo sensors placed under a flexible tile

  • Rubber sheet on top

  • Foam layer below sensors

  • Wooden base at bottom

This improves:
✅ Power output
✅ Sensor life
✅ Sensitivity


๐Ÿ“Š Output Results

  • 1 step ≈ 2–8V (momentary)

  • 100 steps → LED ON

  • 500+ steps → small battery charging

  • LCD shows:

    • Step count

    • Generated voltage