For this week, my project is a Smart Curtain/Door with a Buzzer, controlled wirelessly through Bluetooth and a mobile GUI.
The setup includes:
A servo motor mounted at the top to open and close a small cardboard curtain/door.
A buzzer that works as a notification/doorbell.
An Arduino UNO connected to a Bluetooth module, communicating with my phone through a simple button interface.
I wanted to create something practical that reflects smart home automation.
A system like this can make everyday life more convenient, opening doors, closing curtains automatically, or adding a buzzer for alerts. It also gave me a chance to explore wireless communication with Arduino, which is a valuable skill for IoT projects
I was inspired by smart flip gates 🚪 that automatically open and close with sensors or remote controls.
I liked the idea of combining that motion with Bluetooth control and an alert system.
To make it more hands-on, I created a prototype from cardboard to demonstrate how the mechanism works in real life
Software
I used Tinkercad to simulate the circuit.
This helped me make sure it works correctly, without errors or damage to components 🙂.
I used the Arduino Bluetooth Controller app to control the servo motor and the buzzer with my Arduino code.
I used Arduino IDE to write and upload the code directly to the Arduino UNO .
Materials (for the Enclosure)
4 Peaces of cardboard
Cutter
Scissors
Ruler
Glue Gun & Wax
Wood Sticks
Scissors
Glue Gun & Wax
Cutter
Wood Sticks
Ruler
Cardboard
Materials (for the circuit)
Bluetooth Module HC-05
Arduino UNO - Arduino Cable
Servo Motor
Male-Male Jumper Wires
Buzzer
Breadboard
First: To Simulate the Circuit
1- I opened the Tinker cad website in the browser.
2- logged in with my email.
3- Then I started creating a new circuit.
Second: Creating The Circuit
1- I searched for the components I needed:
a- Breadboard b- Arduino UNO c- Servo Motor d- Buzzer e- 2nd Arduino UNO (Instead of Bleutooth Module in the simulation Only)
Note: In the simulation, the First Arduino UNO is the main controller that drives the servo motor and buzzer
The Second Arduino UNO acts like the Bluetooth module (Transmitter/Receiver)
Their TXD and RXD pins are cross-connected (TXD → RXD, RXD → TXD) with a common ground, so the second Arduino simulates how the HC-05 would normally send and receive data wirelessly to the main Arduino in real hardware
2- I placed the 2nd Arduino UNO
3- Connected its 5V pin (VCC in Real Bluetooth Module) to the Positive rail
4- Then I connected its GND pin to the Ground rail
5- Then I connected the 2nd Arduino UNO TXD to the (Main) Arduino RXD (Pin 0)
6- Then the 2nd Arduino UNO RXD to the (Main) Arduino TXD (Pin 1)
7- For the buzzer, I connected its negative leg to the Ground rail
8- The buzzer's positive leg directly to pin D8 on the Arduino
9- For the Servo motor, I used male-to-male jumper extensions: the signal pin goes to pin D9 on the Arduino
10- The positive pin from the Servo to the Positive rail
11- The negative pin from the Servo to the Ground rail
12- Finally, I powered the whole circuit by connecting the Arduino’s 5V pin to the Breadboard Positive rail
13- And the Arduino’s GND pin to the Ground rail
Applying the Circuit in Real
To apply the circuit in real life, I followed the same steps I did in Tinkercad.
2- I placed the Bluetooth module on the breadboard
3- Connected its VCC pin to the Positive rail
4- Then I connected its GND pin to the Ground rail
5- Then I connected the Bluetooth TXD to the Arduino RXD (Pin 0)
6- Then the Bluetooth RXD to the Arduino TXD (Pin 1)
7- For the buzzer, I connected its negative leg to the Ground rail
8- The buzzer's positive leg directly to pin D8 on the Arduino
9- For the Servo motor, I used male-to-male jumper extensions: the signal pin goes to pin D9 on the Arduino using an orange jumper
10- The positive pin from the Servo to the Positive rail using a green jumper
11- The negative pin from the Servo to the Ground rail using a blue jumper
12- Finally, I powered the whole circuit by connecting the Arduino’s 5V pin to the Breadboard Positive rail
13- And the Arduino’s GND pin to the Ground rail to make the ground connections united.
Now the circuit is ready for Coding.👍
Coding
After completing the wiring, I moved on to writing the code in the Arduino IDE Software.
1- I began by including the Servo.h library to control the servo motor by angle
2- Then, I created a servo object (myServo) and defined the pin for the buzzer (D8)
3- I also declared a variable (char command;) to store the characters received from the Bluetooth app
Void Setup
4- In the setup() function, I initialized the Serial communication at 9600 baud rates so the Arduino could receive commands from the Bluetooth module
5- I attached the servo motor to pin D9 and set the buzzer pin D8 as an OUTPUT
6- I also set the initial state: the servo starts at angle 0° (closed) and the buzzer is turned OFF
7- The main logic was written in the loop() function:
First, the Arduino checks if there is any data available from the Serial communication
If a command is received, the program reads it and performs the corresponding action:
If the command is 'O', the servo moves to 90° to open the door
If the command is 'C', the servo moves back to 0° to close the door
If the command is 'B', the buzzer is turned ON
If the command is 'S', the buzzer is turned OFF
8- This way, the Arduino responds instantly to the commands sent from the Bluetooth mobile app, allowing wireless control of both the servo motor and the buzzer
Uploading the Code to the Arduino
After writing the code, I uploaded it to the Arduino, tested it with the actual circuit, and confirmed that everything worked as expected👍👌
Steps:
1- I first connected my Arduino UNO to my laptop using a USB cable
2- Then, I opened the Arduino IDE and wrote my code
3- After that, I went to Tools and made sure to select the correct board (Arduino UNO) and the right port for my device
4- Before sending the code, I clicked on the Verify button to check for any errors
5- Once it was verified, I removed the RXD and TXD connections from the Arduino to avoid restrictions when uploading the code
👉 This is necessary because the Bluetooth module shares the same pins (0 = RXD, 1 = TXD) as the USB connection, so leaving them connected can block or interrupt uploading
6- Then I clicked the Upload button to upload the code to the Arduino
7- and afterwards I reconnected the RXD and TXD pins to the Bluetooth module
6- The circuit works correctly
Test the Arduino Bluetooth App with The Circuit
1- Before testing the circuit, I prepared the Switches in the Arduino Bluetooth Controller app
I went to Switches >> Settings and configured the buttons as follows:
Switch 1 >> Open the door >> Command to send: O
Switch 2 >> Close the door >> Command to send: C
Switch 3 >> Turn ON the buzzer >> Command to send: B
Switch 4 >> Turn OFF the buzzer >> Command to send: S
2- After setting up the buttons, I made sure that Bluetooth on my mobile phone was active and connected to the HC-05 module
3- Then, I returned to the Arduino Bluetooth Controller app and successfully connected it to the Bluetooth module (MD-09)
In this week’s end-of-week session, our activity was to create a robot arm using three servo motors and to learn how to power all of them with the Arduino. The key new component we explored was the step down converter
My colleague Mostafa explained to me in detail how the buck converter works, and why it is important to wire it into the circuit
I learned that it helps regulate the power supplied from the 9V adapter down to 5V, ensuring that the servos receive stable voltage and preventing any damage or malfunction
By building on his explanation, I was able to better understand how to manage power distribution in more complex Arduino projects.
The main challenge I faced was with the code.
Since I was trying to add new features and actions, I had to pause several times to search and learn how to implement them.
I tested different solutions I found, and after a few trials, everything worked successfully. ✌
From this experience, I learned that it’s normal to get stuck when coding something new, but persistence and research always help.
A tip for others doing this assignment is to be patient with the code, test step by step, and not be afraid to look for resources or examples before moving forward.
This is Me 😅
This week, I learned how to manage power more effectively in Arduino projects using a step-down converter
As well as how to control multiple servo motors at the same time
These skills are directly relevant to my final project, since it also involves servo motor and a solenoid lock
By applying what I learned, I can make sure that my circuit remains safe and efficient, avoiding problems such as overheating or voltage drops
In addition, practicing with the robot arm improved my understanding of how to coordinate and control servo movements
I also gained experience using the Arduino Bluetooth Controller app to send commands wirelessly through the Bluetooth module
The coolest thing I learned this week was how to use the step-down converter and the HC-05 Bluetooth module in real projects.
I’ll never forget building a robot arm that I could control from my phone with my teammates
And of course, the moment when we won the competition and got those lovely rubber ducks 🦆✨😁
Title of Media