LightPad (Mobile Light Effects Controller)

Project Members:

Aldo Briano          Stanford University (



LightPad lights up a room to the creativity of its user and the rhythm of  the music.  It is an Android hardware accessory that communicates wirelessly to the phone.  LightPad's intuitive interface makes it fun for all ages and any musical genres.


The LightPad is a plug-in daughter board for the MSP430 LaunchPad programmed for the MSP430G2553. The LightPad is a mobile light effects controller featuring a high power LED that lights up to different colors. The LightPad is controlled wirelessly through bluetooth with the Google Nexus S phone. The LightPad Android app uses Near Field Communication (NFC) to connect both bluetooth devices and send all the user-initiated light messages. The app features a color pad with 9 different colors that when pressed sends a LightOn message to the LightPad hardware. Effects such as mixing colors, dimming, and strobing are also possible with the app.

LightPad Key Features

  • LightPad communicates wirelessly to your Android phone via Bluetooth so it can be controlled from anywhere. No cables required!
  • Near Field Communication (NFC), an innovative technology that transfers data through a touch, is utilized to connect the two devices seamlessly.
  • High Power LED light up the room to different colors
  • Intensity and Strobing effects.

  **********Click Here to watch another video demo of LightPad!***********

LightPad Quick Start

  1. Unlock your phone
  2. Place it against the NFC tag.
  3. If you have the app installed, the LightPad app should start automatically and the bluetooth should connect. Start your light party!

What is NFC?

NFC, or Near Field Communication, is a new technology that allows you to interact with the environment around you simply by placing your phone against NFC readers, tags or other NFC-enabled phones. It is a wireless short range communication technology which enables the exchange of data between devices over about a 10cm distance. It is considered to be a subset of RFID technology, operating in the 13.56MHz frequency range. This technology is forecasted to enable the era of the digital wallet, allowing consumers to use their phones to pay at physical stores. There are many applications enabled by NFC, such as ticketing, payment, authentication, advertisement, and others. The Google Nexus S is the first android NFC enabled phone available for consumers.

In this project, NFC was used to encode the Bluetooth information of the LightPad and to establish a connection seamlessly with a touch. The NFC tag in the LightPad is a passive sticker that contains the MAC address of the Bluetooth module inside. The tag was written using the free NXP TagWriter app. When the android phone touches the tag it sends the information to the LightPad app. The app will read the tag and use that address to initiate the Bluetooth connection instantly. Important to note, that NFC tags are passive components and don’t require power.

How does the LightPad app work?

Color Pad:

The LightPad app features a 3x3 grid of colors. When any color is pressed, the color will be transmitted to the hardware device and the color will be displayed. Unpressing one of the color pads will turn off the LED in the device. Up to 2 colors can be mixed, for example, if Red is pressed and yellow pressed, the colors will be mixed to produce orange.


The intensity slider controls the LED brightness. It defaults to 100% where the LED is consuming the most power. The strobe slider can be used to create the strobe effect where flashes of light are produced. Increasing the value from 1 to 100% will begin a separate thread that sends light messages to the hardware device. At 100% the light messages are sent at its maximum rate. The strobe effect will send a light message of the colors that are currently pressed. Thus, the LED will remain off if the strobe effect is on and no color pad is pressed.

The android app transmits all messages through a Bluetooth insecure connection. The Bluetooth insecure connection available on android 2.3.3 eliminates the need for devices to pass through the pairing process. Two devices can establish a Bluetooth communication channel through the Bluetooth MAC address. Note that this method is subject to man-in-the-middle attacks, yet for Lightpad’s purpose, encryption and authentication is not desired. (Android Developers Documentation)

Message Format:

LightOn = [65 r g b intensity]

LightOff = [62 r g b intensity]

where 0 < r,g,b < 255 and 0 < intensity < 6, 0 being the max intensity of the LED.


NFC Programming

The NFC Android programming was implemented using EasyNFC (a wrapper library that makes handling all the intricacies of NFC simpler). The open source EasyNFC library was developed by the MobiSocial Laboratory at Stanford University (, find more NFC projects at their website. I recommend this library for any NFC-Android related projects.



Pulse Width Modulation (PWM) was implemented in the MSP430G2553 with Timer A0 and Timer A1.  There are three high power LEDs (red, green, blue).  PWM enables the micro to set each LEDs to different intensities, therefore achieving desired color mixes.

An external 9 volt batter is used to power the LEDs.  Since each consume around 350mA with a forward voltage of 3.2V, an external power source and a driver circuit was necessary.  For each LED, a darlington pair was created using two npn transistors. 


  • 6 2N3906 npn transistors
  • 3  370Ohm
  • 3  5Ohm
  • 1  BlueSMIRF Silver
  • 1  Luxeon Rebel LED Breakout - RGB Triple Play
  • 1  MSP430 LaunchPad
  • 1  MSP430G2553

Schematic and Picture:

Source Files

LightPad MSP430 and Android App Source Code

Gallery of Pictures


Aldo Briano:   or


  1. Tappem
  2. BlueSmirf MSP430 Launchpad project
  3. MobiSocial Lab at Stanford University