BriteLamp

BriteLamp is a project I designed and built during the holidays in late 2014. BriteLamp uses Bluetooth Low Energy (BLE) to connect to an Arduino processor with a Bluetooth Low Energy shield. The Arduino drives a chain of ShiftBrite RGB LEDs. You can build this project without writing code or soldering.

BriteLamp lets you select the number of LEDs in the pattern and their colors, and downloads the selection to the Arduino using Bluetooth. The Arduino pushes the color pattern through the chain of Shiftbrites.

The result is a set of lights you can configure for the holiday of your choice - create some themes and have fun!

Demonstration

Here's a video showing BriteLamp in action. The ShiftBrites are attached to a grid using cable ties.

What you'll need

BriteLamp can be the basis for an interesting / creative project using connected lighting. The basics you'll need are:

The Arduino I used was a Redbear Blend. If you use a 3V Arduino like the Blend Micro, you'll need an external power source for the lights since the ShiftBrites require 5V.

ShiftBrites are very bright. Without a diffuser, you can see each of the three LEDs that make up the color and the color will vary depending on the viewing angle. Here are some ideas for creating a diffuser:

Building the BriteLamp

Download the BriteLamp software from GitHub, unzip it, and open it in the Arduino app on your computer.

Technical Notes

BriteLamp has been tested on RedBearLab Blend (http://redbearlab.com/blend/) and BlendMicro (http://redbearlab.com/blendmicro/) boards. It may also work on other boards but has not been tested. It uses Arduino pins 5, 10, 11 and 12 by default. If you want to use different pins, you should change the pin assignments in the code:


// Note: the blend micro uses pins 6 and 7 for bluetooth; the blend uses 8 / 9.  Adjust these as needed.
// standard colors on the Shiftbrite cables are D: white, L: blue, E: green, C: yellow.
#define DATA_PIN    5
#define LATCH_PIN  10
#define ENABLE_PIN 11
#define CLOCK_PIN  12

It's important to avoid using pins that have already been used for bluetooth, or the project will not work as expected. To use pin 6 for the data, for example, you would set:

#define DATA_PIN    6

The Shiftbrites require a 5V power source. The BlendMicro runs at 3.3V , so you will need a separate power source for the ShiftBrites if you are using it. If you use more than 14 ShiftBrites, you may need an external power source.