Arduino + WiFi, Music Responsive LED Light Fixture using arduino
This instructable gives instructions for constructing a Saiko5 WiFi enabled LED light fixture based on the Arduino hobbyist platform. It includes step-by-step instructions from board design to soldering to case integration, as well as instructions explaining how the software and firmware can be used to easily do music analysis in PureData and control many fixtures simultaneously.
We have also implemented open-source, high quality tools to provide powerful features missing in other LED light fixtures. Due to the open source nature of our tools, we encourage individuals using the Saiko5 LED Light Fixture to share their projects back with the community.
- Open-source example python server for controlling the lights using a locally running Open Sound Control server.
- Open-source example python GUI for light control written using wxpython.
- Open-source code for use with the powerful music analysis system, PureData which allows for easy music analysis in realtime, and communication with a locally running python server over Open Sound Control.
What we’d be really excited to see come of this is to be able to sell these systems on a hobbyist website like Sparkfun Electronics. They also sell the Arduino system, which has many sensor modules. Imagine how awesome it would be to have this connected up to, I don’t know, a geiger counter and a microphone so you can have it flash red when it detects radiation, and then flash blue once it hears screams. Or maybe just have it flash red and blue on a curtain if a video camera detects motion.
Okay, maybe those are stupid ideas. But that’s sort of the point. As a designer, I may be good at designing hardware, or perhaps someone else is good at writing software, but any one person can only have so many ideas on their own. We’d be thrilled to see people buy these, come up with awesome new uses for them by integrating them into their own projects, and then publish the code so that we can build up our cumulative open-source expertise. I’d love to see the day where there are a dozen or even a hundred individual hobbyists who’ve done crazy cool stuff with this light (or others like it) and published it online to inspire the rest of us! So, in that spirit, please let us know if you are psyched about getting involved in participating! We have lots of ideas, but I’m sure many of you have way cooler ones than me =)
You can also check out media and information on the places where this system has been used as a part of the Saiko5 WiFi LED Light Fixture in the Installations and Applications section. So far, it’s been made to work with Arduino, the amazing Leaf Labs Maple Board, a higher processing power hobbyist board designed to be pin compatible with the Arduino, and the folks at Leaf Labs managed to make their Maple Board as well as the Arduino control the Saiko5 WiFi LED Light Fixture using an entirely wireless interface by using the async_labs WiShield as a basis and then improving stability. Check out the Light Shield and Firmware for more information about those code improvements, as well as our custom board for WiFi and power control.
Brian Neltner, R.J. Ryan, and Perry Hung also wrote software that allows a user to take advantage of the aubio library, a sweet sound analysis suite usable in C, Python, PureData, and other languages for analyzing realtime or pre-recorded music and extracting relevant features from the sound such as the beats, transients, and other cool stuff! Check out the Software page for more information about the control software.
The goal of the Light Brick 5 LED board is to design a modular, ultrabright system suitable for any hobbyist to build their own LED lighting system based on any control scheme they like, for cheap, and without having to know power electronics or fabricate their own PCB. This should allow enough flexibility for someone to control the system using anything from an arduino board, to a parallel port on a computer, to an entirely custom designed system.
The resulting LED board has:
- 1000+ lumens of light output.
- High quality heat sinking with custom built, attractive enclosures.
- Protected from damage by acrylic covers.
- Focusing optics to produce spotlights of varying sizes.
- LED Module is controllable using a simple five wire interface.
- Utilizes high efficiency switching regulators for constant current through each color of LED.
- Uses Royal Blue (450nm) instead of regular Blue (470nm) to produce nicer magentas and deep blues.
Step 2: LED Board (i.e. Light Brick 5) – Circuit Design
The basic design is fundamentally very similar to the Ultraluminous Illuminator developed by Brian Neltner in 2007, except with the power supply integrated into the LED board, and without a controller of any kind. Instead, the Light Brick 5 is designed to be controlled through a 5 wire interface. 24VDC is applied to the positive terminal, GND is applied to the ground wire, and then three control wires are used to turn on each color of LED as desired using TTL level signals.
The Light Brick uses the same design for the power circuitry as the Ultraluminous Illuminator. A National Semiconductor LM3404 is used as the basis of the power circuitry with a buck converter in order to provide a constant 700mA regardles of input power voltage (18-36VDC). The board has three colors of LED — red, green, and royal blue Rebel Luxeons from Philips Lumiled, with four of each color LED per board. Each control pin is pulled down to ground so that the device defaults to “off”, and connected to a five pin connector for external control.
Next, more input protection is added to protect against user error in connecting the device. Between a fuse, eight input protection resistors, three zener diodes on the digital lines, a large 5W zener diode on the power input line, and a full bridge rectifier, it should be possible for the user to plug the wires in backwards, connect line voltage to the device briefly, have a noisy signal line, or other usually nasty errors without completely destroying the board. Of course, there will be a somewhat difficult SMT fuse to desolder and replace to repair the board in the event of catastrophic failure, but that’s a good sight better than replacing all of the tiny and expensive chips!
These circuit diagrams are available under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Full design files, including eagle files, are available at http://saikoled.com. Permissions beyond the scope of this license may be available at http://saikoled.com/contact/.
Step 3: LED Board (i.e. Light Brick 5) – Board Layout
As you can see, the schematics are fairly simple, limiting the ways the device can fail. The LED board layout (below) is designed so that the royal blue and red LEDs are on opposite sides of the pattern with four green LEDs in the middle. This layout allows for the placement of every electrical trace on the PCB in a single layer, and by using only SMT components, the back of the board is entirely bare of electrical contacts.
The advantages of laying out the board with all the traces in a single layer are significant. The biggest benefit is that because the Rebel LEDs are electrically isolated at their heat sink, a single, continuous heat sink on the back of the board can very easily cool the LEDs. Secondarily, without electrically connected traces on the back of the board, there is no risk of short circuiting through the aluminum case the board is bolted into, eliminating the need for an electrically insulating but thermally conductive adhesive on the bottom of the board. The bottom of the board is shown below, where every visible hole (via) is grounded and connected to the LED heat sinks.
These board layouts are available under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Full design files, including eagle files, are available at http://saikoled.com. Permissions beyond the scope of this license may be available at http://saikoled.com/contact/.
Step 4: LED Board (i.e. Light Brick 5) – Board Assembly
For initial prototyping, a Weller hot air rework station was used to make sure that the LEDs were soldered without any residual stresses that could make the joints come loose over thermal cycling. This is done by first putting down a small amount of solder paste on the thermal pad and the two pins, and then heating the entire board up using a two-output air nozzle. A better small scale production method is to use a solder stencil along with a hot plate to reflow the entire board simultaneously, and this is what is actually used for our production. For an example of how to carry out hot plate reflow soldering, see the Extreme Surface Mount Soldering Instructable.
This also serves the purpose of “replacing” the LEDs into their correct seating on the board as surface tension from the melted solder pulls the part into position. It’s actually a fascinating thing to watch as the LEDs “jump” into their correct, centered position (this is important for making them correctly placed for the optics!). The first step to this method of soldering is to place solder paste onto the board, either using a syringe, or a stencil.
Next, I placed all of the LEDs and other components using tweezers.
Finally, it’s time to heat the board on a hotplate in order to reflow and replace the components.
The last step in board assembly is then to attach the optics — in this case OPC1 style optics from Dialight. They’re great! There are three tabs to guide it into the correct position (which is good so long as your LEDs are centered properly from reflow soldering them), and they are adhesively backed so that they stay in place. They also look quite snazzy, in my opinion. A very attractive board!
Step 5: LED Board (i.e. Light Brick 5) – Board Testing
To power it on, I attach 20VDC or so across power and ground, and then touch the control pins with 5VDC (current limited, just in case on the digital lines!). Below you can see me manually touching the control pins for the red, green, and blue channels one at a time.
The final device puts out around 1000 lumens of light, assuming 80% optical efficiency (i.e. 20% of the light is lost to the optics and LED inefficiencies). These particular optics focus the beam down to a 7 degree cone, and even from this wide angle that the photos are taken from (around 45 degrees), it’s pretty obvious that you wouldn’t want to look straight into this one! I turned it on full white, and was able to basically replace the light output of the 60W incandescent overhead light in my room!
Step 6: LED Board (i.e. Light Brick 5) – Bill of Materials
The Light Brick 5 Digikey Bill of Materials can be downloaded here. This document can be uploaded at Digikey in order to easily get all of the components required for assembling a Light Shield 7 of your own. This Bill of Materials does not include the Rebel Luxeon LEDs from Philips Lumileds which can be ordered through Future Lighting Solutions.
Step 7: WiFi Arduino Shield (i.e. Light Shield 7) – Intro
The Light Shield 7 is an Arduino and Maple compatible shield which adds several featuers useful for a variety of applications, but also specifically for use with the Light Brick 5 which it is designed to be integrated with.
- High efficiency switching power supply to convert 24VDC to 7.5VDC for use by the Arduino or Maple board.
- 24VDC passthrough to a 5-pin header compatible with the Light Brick 5.
- 3.3VDC regulated voltage derived from Arduino/Maple power supplies for powering the Microchip MRF24WB0MB integrated WiFi Module.
- Open-source Firmware available for both Arduino and Maple based on the async_labs WiShield offering significant improvements to the stability of the UDP stack as well as integrating Open Sound Control (liblo) functionality for easily controlling any device over wifi.
- Passthrough connection from either the Arduino or the Maple PWM output pins to the inner three connectors on a 5-pin header along with 24VDC and GND. These pins can also be used as general IO, or for PWM output to other devices such as motor control systems.
Step 8: WiFi Arduino Shield (i.e. Light Shield 7) – Circuit and Board Design
The design of the Light Shield 7 is loosely based on the WiShield from async_labs. All design files can be downloaded from our website’s Downloads page.
The Light Shield extends the WiShield by adding a high efficiency 7.5VDC switching voltage converter to allow the Arduino and Maple to be operated from a 24VDC supply as well as using the more up to date versions of the WiFi module including external antenna, as well as a 5-pin header with passthroughs for the 24VDC power supply and PWM pins from the Arduino/Maple. Last, it includes a barrel power input plug to allow for more robust connections and the use of UL approved external power supplies.
The onboard high efficiency switching regulator uses the LM2675-ADJ from National Semiconductor. This 7.5VDC supply is connected to the V+ pin on the Arduino/Maple board in order to provide power to the onboard 5V/3.3V regulator on the controller board. The 5VDC regulated voltage is then taken back onto the Light Shield and used to power a 3.3VDC low dropout linear regulator to power the Microchip MRF24WB0MB integrated WiFi Module. This module takes advantage of a u.fl connector and external FCC approved antenna combination to provide a way to easily communicate with the Arduino/Maple over WiFi even when the board is mounted inside of our metal boxes. Additionally, the Light Shield incorporates a fuse and protection diode to help protect against user error in connecting powering the board. For reference, the distances which the Arduino UNO power connector and USB connectors stick out of the supporting board are marked. The design is such that our power connector should stick out further than the Arduino UNO connector, and when used with our case the USB and Light Shield power connectors will be exposed while the Arduino power connector will be blocked to prevent confusion.
Circuit diagrams and Board layouts are released under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Based on a work at asynclabs.com. Permissions beyond the scope of this license may be available at http://saikoled.com/contact/. Full design files, including eagle files, are available at http://saikoled.com.
Step 9: WiFi Arduino Shield (i.e. Light Shield 7) – Board Assembly
A solder stencil is used to place a thin layer of unleaded solder paste on the boards. We found that reflow soldering was mandatory to achieve good reliability. Soldering by hand often resulted in overheating of pads, as well as poor solder joints for the WiFi module. For more information about how to do reflow soldering, see the Extreme Surface Mount Soldering Instructable. In our case, we placed solder paste using a solder stencil, placed our components, and then used a tabletop hot plate to simultaneously reflow all components.
After reflow, the through-hole components are soldered onto the board, with the final result looking like this:
Step 10: WiFi Arduino Shield (i.e. Light Shield 7) – Bill of Materials
The Saiko5 Light Fixture incorporates a Light Brick 5 and a Light Shield 7 along with case, power supply, and Arduino UNO into a single fixture with the Saiko5 Firmware is installed on the included Arduino UNO to allow for wireless control of the light fixture. The Saiko5 Software gives examples for how to control the fixture using the firmware and a computer running PureData and Python.
For more detail: Arduino + WiFi, Music Responsive LED Light Fixture