About: Hello world! I make simple & Advanced projects for people who want to learn programming and electronics. Most of my Instructables are about arduino and the wide range of sensors you can use with it. I ma...

Hello world! Today i made a app to control a RGB Led module with a Android Device. Contact me for the Open source code of the APP.

NOTE: If you bought a Common Anode LED connect it to 5v

I used a Common Cathode Led which needs to be connected to GND. The KY-019 Module from keyes.

Follow the next step for the Schematic, Code, parts list & APP

Download the APP on google play! Ask me for the Open Source Code!

Simple Instructions to change the APPs RGB Pallette.

When clicking the IMAGEbutton the RGB rgb pallette will change to a Square instead of a circle.

When holding the IMAGE button the RGB rgb pallette will change back to a circle.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Schematic, Code, Parts List & App.

Just wire it up like the Schematic Upload the code and it should work!

Parts list.

  1. Arduino uno, I used the RobotDyn uno.
  2. HC-06 Bluetooth module
  3. KY-016 Or any RGB Led
  4. Jumper wire set MM/FF/MF.
  5. Android app & Phone.

Good luck!

To find out how to rename the HC-06 Module and HC-05 Go to my other Instructable here

1 Person Made This Project!


  • Instrument Contest

    Instrument Contest
  • Make it Glow Contest

    Make it Glow Contest
  • STEM Contest

    STEM Contest

7 Discussions


Reply 1 year ago

it just split data from bluetooth, i try to solve this for a day. Anyway sorry for my bad english, from my result:
1. RGB get the data if ended with +
2. Value inside RGB it's splitting by knowing when the value of red,green and blue stop by using RGB.indexOf('-') that means the storage of value is 0-50-100-+ each value separate with - (actually the script was change because my app using separator -)
3. After the variables SP1.. get the number of seperator located, using RGB.substring(0, SP1) to begin separating. String.substring(start_value,end_value) that's why the start value always increment (to make didn't read thw wrong value)
4. Well the variable R,G & B get value convert to integer


1 year ago

amigo me regalas el codigo


1 year ago

how to save the result data to eeprom? so that when arduino power replug the previous color is still same


2 years ago

can you share the android app code with me plz


3 years ago

i hope that you explain how the code (both arduino + apk) is working.