Smart RGB LED Controller

Smart RGB LED Controller

Smart RGB LED Controller is a device that controls the color of the RGB LED via Bluetooth through a mobile application. This Circuit gives us the Amazing Light Effect wirelessly.

Smart RGB LED Controller Working Principle :

When changing color in mobile software, a command is sent to the Microcontroller via Bluetooth. The microcontroller reads the command and sends a high/low signal to the corresponding output. This signal is switched by Mosfet and operates a 12V LED.

Circuit Diagram :

In this Circuit Designed From easy EDA Web Site

RGB Controller

Needed Components :

  • Atmega8 Microcontroller – 1
  • HC-05 Bluetooth Module – 1
  • LM 7805 IC -1
  • 22pf Capacitor – 2
  • 100uf Capacitor -1
  • 16mhz Oscillator – 1
  • 4k7 resistor – 1
  • 1k Resistor – 4
  • 2k resistor – 1
  • 10k Resistor -1
  • IRFZ44 Mosfet – 3
  • RGB LED Strip – 1mtr

Tools Needed :

  • Soldering Iron
  • Lead Roll
  • Past
  • Soldering Stand
  • PCB Holding Stand

How To Make :

I designed the Smart RGB LED Controller Circuit on the Easy Eda website and created the Gerber file. I uploaded this Gerber file on the JLCPCB website and ordered 10 PCB which costs 2 dollars. PCB was delivered in 9 days. I bought the required components in the Local Shop and then I put all the components in the PCB and then soldered using the soldering iron and then cut the Excess Terminal and cleaned the PCB.

12 v Supply should be given in 2 pin screw terminal in this circuit. Then RGB Strip LED should be connected in 4pin terminal. Download RGB LED Software in playstore

Download the code given below in the microcontroller and upload it through Aduino IDE Software

PCB Layout :

Gerber File :

Download the gerber file order it from the website given below

Code :

Make video :

Also watch the full tutorial of this project on our youtube channel

Arduino Code :

//Bluetooth Controlled Arduino RGB Led Strip//

#include <SoftwareSerial.h>

SoftwareSerial BLU(0,1);

#define redPin A1 
#define greenPin A2
#define bluePin A0

void setup()
{
  //Serial setup
  Serial.begin(9600);
  Serial.println("-= HC-05 Bluetooth RGB LED =-");
  BLU.begin(9600);
  BLU.println("-= HC-05 Bluetooth RGB LED =-");
 
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);

  setColor(255, 0, 0);
  delay(500);
  setColor(0, 255, 0);
  delay(500);
  setColor(0, 0, 255);
  delay(500);
  setColor(255, 255, 255);
}

void loop()
{
  while (BLU.available() > 0)
  {
    int redInt = BLU.parseInt();
    int greenInt = BLU.parseInt();
    int blueInt = BLU.parseInt();

    redInt = constrain(redInt, 0, 255);
    greenInt = constrain(greenInt, 0, 255);
    blueInt = constrain(blueInt, 0, 255);

    if (BLU.available() > 0)
    {
      setColor(redInt, greenInt, blueInt);

      Serial.print("Red: ");
      Serial.print(redInt);
      Serial.print(" Green: ");
      Serial.print(greenInt);
      Serial.print(" Blue: ");
      Serial.print(blueInt);
      Serial.println();

      BLU.flush();
    }
  }
}

void setColor(int red, int green, int blue)
{
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

Add Comment