Close Menu
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
Facebook X (Twitter) Instagram
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us
Facebook X (Twitter) Instagram Pinterest YouTube LinkedIn
How To Electronics
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
How To Electronics
Home » RGB LED Strip Color Control with Bluetooth & Arduino
Arduino Projects

RGB LED Strip Color Control with Bluetooth & Arduino

Mamtaz AlamBy Mamtaz AlamUpdated:August 22, 20226 Mins Read
Share Facebook Twitter LinkedIn Telegram Reddit WhatsApp
RGB LED Strip Bluetooth Arduino
Share
Facebook Twitter LinkedIn Pinterest Email Reddit Telegram WhatsApp

This post is all about RGB LED Strip Color Control with Bluetooth & Arduino to see different mixed color of LED. The LEDs light strip can be controlled wirelessly via Android App. With the received data, we decide which color of the RGB strip to activate.


Overview

In this tutorial, we are going to learn about how to connect a 12v RGB LED Strip with Arduino and how to program Arduino Board with RGB LED Strip to control various colour wirelessly through Bluetooth via Android App. This RGB Multi-Color LED Strip is Dimmable and can be used to make many DIY LED Projects.

This Strip is a perfect choice for indoor or outdoor decoration on Diwali, Christmas, Parties, Marriage or on other events. Light will change colours and speed automatically and periodically on your choice. It has not only RGB (Red, Green, Blue) but a 16 multicoloured Light changer. You can have the DIY selection to create your great led mood lighting.

See the previous post: Interfacing RGB LED Strip with Arduino with Fade & Color Effect


Bill of Materials

Following are the components required to make this project. All the components can be easily purchased from Amazon. The purchased links are given below:

S.N.ComponentsQuantityPurchase Links
1Arduino UNO Board1Amazon | AliExpress
212V RGB LED Strip1Amazon | AliExpress
3HC-05 Bluetooth Module1Amazon | AliExpress
4MOSFET IRF540N3Amazon | AliExpress
512V Power Supply1Amazon | AliExpress
6Connecting Wires20Amazon | AliExpress
7Breadboard1Amazon | AliExpress



12V RGB LED Strip

12V RGB LED Strip

The SMD5050 type 12V RGB LED Strip is very popular in market. It operates at 12V, 1.5A DC Power Supply. It can generate colours like RGB, White, Warm White, Red, Green, Blue, Yellow etc. There are a total of 60 LEDs per piece.

RGB LED Strip Specifications

The RGB LED Strip has SMD5050 which has 3 samll sized LED of red , green & blue colour. All the 3 LED has 3 resistors attached to it to prevent the LED from getting damaged due to over voltage.

It has cutting marks after each 3 SMD5050 and is detachable. It has a 3M double-sided adhesive and at the back, it has double-sided copper conductive PCB with a great heat dissipation.

It has 4 wires. The first one is white which is the positive 12V input. The other 3 wires are the red, green and blue signal wires. In order to create a broad variety of colors we should give more or less brightness to each of this 3 basic colors. To do that we shoould apply a PWM signal to this color pins. If the white pin is already connected to a positive 12V votage, in order to close the circuit, the RGB output pins should be modulated toward ground.




Current/Power Requirements for RGB LED Strip

The problem with the Arduinois that its digital outputs can supply more than 200mA and this strip at full brightness could draw more than 1A. For that we have to put something between the Arduino PWM signal and the LED strip. To do this we have two options, either to use high power BJT or to go with MOSFET.

I tested the current consumption by RGB LED Strip at different conditions. When its glowing to full brightness, the current goes more than 1A. So it is advised to use an adpater of 12V, 1.5A or higher current rating.

Current Requirement of RGB LED Strip


Circuit for RGB LED Strip Color Control with Bluetooth & Arduino

Now let us learn about interfacing SMD5050 LED Strip with Bluetooth & Arduino. For each colour line, we need 1 MOSFET and they need to be rated to handle the max current. It’s about 330mA per meter for each channel, 1.66 A per channel for a 5-meter strip.

I have used an IRF540N N Channel MOSFET. You can use any NPN transistors like TIP120, TIP121, TIP122 of N-Channel MOSFETs like IRF2807, IRF 530, IRFZ44N based on your application you can change the transistors. The difference between these transistors is that they have a different collector-emitter current rating. For example, if you are using a large length of RGB LED strip then to drive them you will be needing high current transistors like IRF540 which have Drain Current (Id): 28 Amps.

RGB LED Strip Color Control with Bluetooth & Arduino



First connect HC-05/HC-06 Bluetooth Module to Arduino. Connect its VCC to 5V and GND to GND. Also connect its TX pin to Rx o Arduino and RX to TX of Arduino. The TX/RX Pins are 3.3V tolerable, so if you are going to use this setup for long you need to make a voltage divider network for controlling.

Connect the IRF540N MOSFET and RGB LED Strip as shown in the Circuit Diagram above. Connect the 1st Pin of IRF540N which is a GATE pin to Arduino PWM Pin as D6, D5, D3 respectively for RGB pin. The 2nd pin of IRF540N MOSFET which is a Drain Pin is connected to RGB LED Pins. And the Source Pin of IRF540N which is the 3rd pin is connected to GND. The IRF540n is working as a switch here. You need to supply 12V DC from external power supply like DC Adapter or 12V Transformer rectifier Circuit.

RGB LED Strip Arduino Bluetooth


Source Code/Program

The Source Code for Interfacing RGB LED Strip with Arduino with Fade & Rolling Color Effect is given below. There is no need of any library for this. You can simply upload the code to the Arduino board. Remember, while uploading the code to the Arduino, disconnect this TX/RX pins otherwise the code won’t upload and an error would pop up.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
int color=0;
 
//define the RGB pind
int red = 6;
int green = 5;
int blue = 7;
 
char received;
 
void setup()  {
  Serial.begin(9600);     //Start the serial comunication for the bluetooth module
  pinMode(red, OUTPUT);   //Red color pwm pin defined as output
  pinMode(green, OUTPUT); //Green color pwm pin defined as output
  pinMode(blue, OUTPUT);  //Blue color pwm pin defined as output
  
  //Give first value of the PWM 0, we start with the RGB LEDs off
  analogWrite(red,0);
  analogWrite(green,0);
  analogWrite(blue,0);
 
}
void loop()  {
  
  if(Serial.available()>0){
    // read the bluetoot data and store it
    color = Serial.read();
    char Rec = char(color);
    if (Rec != '0')
    {
    Serial.println(Rec); //This is to visualise the received character on the serial monitor
    }  
  }
 
  //LEDs off
  if (color == 'n')
  {
    analogWrite(red,0);
    analogWrite(green,0);
    analogWrite(blue,0);
  }
  //White
  if (color == 'w')
  {
    analogWrite(red,255);
    analogWrite(green,255);
    analogWrite(blue,255);
  }
  //Red
  if (color == 'r')
  {
    analogWrite(red,255);
    analogWrite(green,0);
    analogWrite(blue,0);
  }
  //Green
  if (color == 'g')
  {
    analogWrite(red,0);
    analogWrite(green,255);
    analogWrite(blue,0);
  }
  //Blue
  if (color == 'b')
  {
    analogWrite(red,0);
    analogWrite(green,0);
    analogWrite(blue,255);
  }
  //Orange
  if (color == 'o')
  {
    analogWrite(red,255);
    analogWrite(green,153);
    analogWrite(blue,0);
  }
  //Violet
  if (color == 'v')
  {
    analogWrite(red,102);
    analogWrite(green,0);
    analogWrite(blue,153);
  }
  //Cyan
  if (color == 'c')
  {
    analogWrite(red,0);
    analogWrite(green,255);
    analogWrite(blue,255);
  }
  //Yellow
  if (color == 'y')
  {
    analogWrite(red,255);
    analogWrite(green,204);
    analogWrite(blue,0);
  }  
}



RGB LED Strip Control Android App

The LED color can be controlled wirelessly via bluetooth using the Android App given below. The Android App is designed using MIT App Inventor.

RGB LED Strip Control Android App

Download LED Color Control App

Download the android app from the below link and install it on your smartphone. Before we start the App we have to synchronize the device. Open the Bluetooth settings on your smartphone. Search for devices and select the HX06 when found. The password should be 1234 or 0000. Now we are synchronized. Open the App, click the Bluetooth icon, and select the HC06 device from that list. Now just select your color and observe the magic.


Results

Once the code is uploaded and 12V supply is turned on you will need Android App to control the LED Color. Some of the LED fading pictures are given below and for full demonstration go through the video below.

  • 1
  • 2
  • 3
  • 4
  • 5

  • 1
  • 2
  • 3
  • 4
  • 5

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Reddit Telegram WhatsApp
Previous ArticleTemperature to Voltage Converter using Thermistor & 741
Next Article IoT Weather Station with NodeMCU OLED & OpenWeatherMap

Related Posts

DC Energy Meter using Arduino

Build a DC Energy Meter using Arduino – 32V/5A

Updated:August 26, 20252K
Interfacing ADXL375 Accelerometer with Arduino

Interfacing ADXL375 Accelerometer with Arduino (±200g)

Updated:June 28, 2025
PZEM-004T Arduino Energy Meter

DIY AC Energy Meter using PZEM-004T & Arduino

Updated:March 6, 20258K
Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Interfacing BMI160 Accelerometer & Gyroscope with Arduino

Updated:February 2, 20259K
Password Based Door Lock Security System Using Arduino & Keypad

Password Based Door Lock Security System Using Arduino & Keypad

Updated:February 2, 20252436K
Earthquake Detector Alarm with with Accelerometer & Arduino

Earthquake Detector Alarm with Accelerometer & Arduino

Updated:February 2, 2025661K
Add A Comment

CommentsCancel reply

Latest Posts
IoT Based PM & Air Quality Monitoring System using ESP32

IoT Based PM & Air Quality Monitoring System using ESP32

May 31, 2026
DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

May 10, 2026
IoT Activity Tracker with ESP32 & Accelerometer Gyroscope

IoT Activity Tracker with ESP32 & Accelerometer/Gyroscope

May 2, 2026
A Guide to Sourcing Obsolete ICs for Vintage Projects

Beyond AliExpress: A Guide to Sourcing Obsolete ICs for Vintage Projects

April 21, 2026

ESP32 IoT Vehicle Motion Analyzer with MPU6050 & LIS3MDL

April 27, 2026
Building a Smart Sensor Node with a BLE Microcontroller

Building a Smart Sensor Node with a BLE Microcontroller

February 26, 2026
High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

April 27, 2026
DIY Colorimeter using AS7265x Spectroscopy Sensor & ESP32

DIY Colorimeter using AS7265x Spectroscopy Sensor & ESP32

February 1, 2026
Top Posts & Pages
  • 12V DC to 220V AC Inverter Circuit & PCB
    12V DC to 220V AC Inverter Circuit & PCB
  • IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
    IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
  • How to use INA226 DC Current Sensor with Arduino
    How to use INA226 DC Current Sensor with Arduino
  • Designing of MPPT Solar Charge Controller using Arduino
    Designing of MPPT Solar Charge Controller using Arduino
  • Buck Converter: Basics, Working, Design & Application
    Buck Converter: Basics, Working, Design & Application
  • Interfacing PMS5003 PM2.5 Air Quality Sensor with Arduino
    Interfacing PMS5003 PM2.5 Air Quality Sensor with Arduino
  • ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
    ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
  • DIY Turbidity Meter using Turbidity Sensor & Arduino
    DIY Turbidity Meter using Turbidity Sensor & Arduino
Categories
  • Arduino Projects (197)
  • Articles (60)
    • Learn Electronics (19)
    • Product Review (15)
    • Tech Articles (28)
  • Electronics Circuits (46)
    • 555 Timer Projects (21)
    • Op-Amp Circuits (7)
    • Power Electronics (13)
  • IoT Projects (204)
    • ESP32 MicroPython (7)
    • ESP32 Projects (81)
    • ESP32-CAM Projects (15)
    • ESP8266 Projects (76)
    • LoRa/LoRaWAN Projects (22)
  • Microcontrollers (38)
    • AMB82-Mini IoT AI Camera (4)
    • BLE Projects (18)
    • STM32 Projects (19)
  • Raspberry Pi (93)
    • Raspberry Pi Pico Projects (57)
    • Raspberry Pi Pico W Projects (12)
    • Raspberry Pi Projects (24)
Follow Us
  • Facebook
  • Twitter
  • Pinterest
  • Instagram
  • YouTube
About Us

“‘How to Electronics’ is a vibrant community for electronics enthusiasts and professionals. We deliver latest insights in areas such as Embedded Systems, Power Electronics, AI, IoT, and Robotics. Our goal is to stimulate innovation and provide practical solutions for students, organizations, and industries. Join us to transform learning into a joyful journey of discovery and innovation.

Copyright © How To Electronics. All rights reserved.
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Looks like you're using an ad blocker. Please allow ads on our site. We rely on advertising to help fund our site.