I’ve always loved the look of the disco ball and the shiny, changing colors in it, so when I found an RGB LED, I decided to recreate the disco ball design.
TinkerCad to simulate the circuit
Arduino IDE to write the code
Ardunio UNO
Breadboard
Arduino bluecontrol
RGB LED
BUZZER
Bluetooth module
3 resistors 220
9V adapter
RGB LED to switch between colors
BUZZER to make sound like music
3 resistors 220 um one on each leg (colors) .
Bluetooth to control the circuit wirelessly
I use the 9V adapter with Arduino when connecting the Bluetooth module because it provides stable power and keeps everything running smoothly.
Arduino bluecontrol application to control with my phone .
I connected the RGB LED to pins 3, 5, and 6 because these are PWM pins on the Arduino, which allow me to control the brightness of each color and create different color combinations.
I connected the piezo buzzer to pin 8, since it only needs a digital signal and does not require PWM.
I did not add the Bluetooth module because Tinker CAD does not provide a Bluetooth component in its simulator.
Since I couldn’t find the Bluetooth module in Tinkercad, I used a potentiometer instead because it provides variable analog values that I can map to simulate the Bluetooth input signals. This way, I can still test the circuit logic and control the LED (or other components) during the simulation.
Everything connected with Arduino on breadboard (wireless) .
First, I connected the RGB LED with resistors (one resistor for each color).
From each resistor, I connected wires to Arduino pins 3, 5, and 6.
After that, I connected the buzzer to pin 8 and the ground to Arduino GND on the breadboard.
Then, I connected my Bluetooth module: GND to GND, VCC to 5V on the Arduino, TX to RX, and RX to TX.
The TX and RX are not connected during uploading the code, because they share the same serial communication with the computer, and leaving them connected can cause uploading errors.
#define RLED 3, #define GLED 6, #define BLED 5, #define BUZZER 8
→ Defines constants to label the Arduino pins for the RGB LED and the buzzer.
char READING = '0';
→ Creates a variable to store the incoming character from Serial communication.
void setup()
Sets the LED pins and buzzer pin as OUTPUT.
Starts Serial communication at 9600 baud rate to receive commands (characters) from the Bluetooth module.
Checks if there is data available from Serial (Bluetooth).
Reads the incoming character into the variable READING.
Turns off all LEDs and the buzzer at the start (reset state).
If READING = 'A' → turns on the red LED.
If READING = 'B' → turns on the green LED.
If READING = 'C' → turns on the blue LED.
If READING = 'D' → activates the buzzer for 200 ms, then turns it off.
This project uses an Arduino Uno, an RGB LED, a piezo buzzer, and a Bluetooth module.
The RGB LED is connected through resistors to pins 3, 5, and 6, while the buzzer is connected to pin 8. The Bluetooth module is connected to 5V, GND, TX, and RX for wireless communication.
The Arduino receives characters via Bluetooth and controls the components accordingly:
‘A’ turns on the red LED.
‘B’ turns on the green LED.
‘C’ turns on the blue LED.
‘D’ activates the buzzer briefly.
For controlling the system, the Arduino BlueControl mobile application was used to send the commands wirelessly.
Title of Media
When I first connected the Bluetooth module through a 5V adapter, it didn’t work properly, and only the buzzer was functioning. Later, I learned from my instructor that I needed to use a 9V adapter instead.
The reason is that the Arduino Uno board requires higher input voltage on its power jack (7–12V recommended) to regulate and supply stable 5V to all connected components, including the Bluetooth module. Using only a 5V adapter directly was not enough to power both the Arduino and the Bluetooth module correctly.
Title of Media
Title of Media
Title of Media