Control a LED Light Strip's Color Via an Arduino and an IPhone Over BLE




Introduction: Control a LED Light Strip's Color Via an Arduino and an IPhone Over BLE

This tutorial will show you how to control an analog RGB LED light strip via an Arduino and an iOS device. It will utilize the LightShow app which lets you set a single color or create a light show with a sequence of colors.


  • Analog SMD RGB LED Strip

  • 3 x N-channel power MOSFET

  • 12V power supply

  • nRF8001 BLE board

  • Arduino Uno

  • iOS device

Step 1: Attach the Light Strip

Use a power transistor such as a N-Channel MOSFET between the Arduino and the light strip.

The transistor should be rated to be greater than or equal to the maximum current that your lights will draw. To determine the maximum current draw multiply 20 milliAmperes times the number of LED's on the strip. For example, a strip with 300 LEDs would draw up to 6 amperes.

With the black gate facing you, connect the left pin to the Arduino, the middle pin to the light strip and the right pin to ground. Connect the Red, Green, and Blue channels to Arduino pins 3, 5, and 6 respectively.

Connect the light strips 12V anode directly to a 12V power supply and connect the power supplies negative terminal to the common ground.

Further information on working with light strips is available here.

Step 2: Connect the Bluetooth Low Energy Board

Connect the nRF8001 Bluetooth LE breakout board to your breadboard. Connect the BLE pins to the Arduino as follows:

  • SCK - 13
  • MISO - 12
  • MOSI - 11
  • REQ - 10
  • RST - 9
  • RDY - 2

Further information on the using the nRF8001 BLE board is available here.

Step 3: Upload the Sketch to the Arduino

Clone or download the LightShow GitHub repository at

  1. Copy and paste the Adafruit_BLE_UART folder located in the libraries directory into your Arduino/libraries/ folder.
  2. Launch the Arduino IDE and open the LightShow/LightShowArduino/LightShowArduino.ino sketch. Upload it to your Arduino board.

Step 4: Download and Install the LightShow App

Download and install the iOS LightShow app from the iTunes App Store.

Launch the app and press the Action button on the top right. Locate your bluetooth device, named "HSLight" by default, and connect to it. Go back one screen and you should be able to remotely control the color of your LED strip.

Bedroom Contest

Participated in the
Bedroom Contest

Rainbow Contest

Participated in the
Rainbow Contest

Be the First to Share


    • Make It Bridge

      Make It Bridge
    • Big and Small Contest

      Big and Small Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge



    Question 4 months ago

    The app is no longer on the App Store what should we use


    5 years ago

    the app is not in the app store any more I believe.


    7 years ago

    Hi there I really like your instructable been looking for something like this for a little while.. Just a couple of questions if I may.. Do you require 2 power sources one for the arduino and one for the LEDs? And a couple of the last pics show some extra wires with some sort of plugs on them but nothing written about what they are.. Any ways thanks


    Reply 7 years ago on Introduction

    Yes. I was using a separate power source for the Arduino and the LEDs. The "extra wires with a plug" is a DC Barrel Jack Adapter that should be hooked up to a 12V power supply with the correct amperage rating as calculated in step 1.