Spectacle Light Kit Hookup Guide
Introduction
The Spectacle Light Kit makes it easy to illuminate your next project at the push of a button!
Suggested Reading
Before proceeding, you should read through the Spectacle User's Guide. It will give you the basics you'll need to know about how Spectacle works to follow the rest of this tutorial.
Spectacle Light Board
The Spectacle Light Board allows you to add some fairly complex lighting effects to your Spectacle projects. It has connections for up to three strands of addressable LEDs and a connector for external power.
tl;dr (essentials)
- If more than approximately 10 pixels will be on at once, we recommend powering the Light Board through the onboard micro B USB port.
- For smaller numbers of pixels, it is possible to power them directly over the Spectacle control cable.
- Most of the LED effects want a continuous type signal, such as the Button board "Latch On/Latch Off" function.
- Only WS2812 (NeoPixel) type addressable LED strips will work with the Spectacle Light Board.
Meet the Spectacle Light Board
Designed to make it easy to add relatively complex lighting effects to your Spectacle projects, the Spectacle Light Board integrates with the rest of the Spectacle ecosystem to allow you to control lighting effects relatively effortlessly.
It has two 1/8" (3.5mm) jacks for Spectacle control signals. Pay attention to the directionality of the jacks! The one labeled "In" should be plugged into a board that is closer to the Director Board than the Light Board is, or into the Director Board itself.
The Light Board supports up to three strands of addressable LEDs. Each strand can have up to 60 individual pixels. Not all types of addressable LEDs are compatible with the Spectacle Light Board. If you have questions about whether or not a particular type of LED strip is compatible with the Light Board, contact SparkFun technical support.
The Light Board has a Micro B USB connector to allow it to be directly powered by an external power supply. The relatively slender cables the Spectacle data travels over are not adequate for the large amount of current drawn by more than a few pixels.
Spectacle Button Board
The Spectacle Button Board allows you to add input from buttons or switches to your Spectacle projects. It has a total of 9 signal inputs, eight of which can come from external buttons and one button directly on the board.
tl;dr
- Buttons or switches can be connected to the board by pushing wires into the "poke home" type connectors on the board.
- Up to nine signals are available.
- Button signals can be either momentary or continuous.
Meet the Spectacle Button Board
Designed to bring simple signals from the world into your Spectacle projects, the Spectacle Button Board provides input for any of your Spectacle projects.
It has two 1/8" (3.5mm) jacks for connecting to other boards in a Spectacle system. Note that the Spectacle data jacks are directional: the one marked "In" should be plugged into the "upstream" board (i.e., closer to the Director Board than this one) and the one marked "Out" connects to the next downstream board.
There are 8 "poke home" connectors on the Button Board. Each one can be connected to one (or more) buttons. To add a connection, simply push the stripped end of a wire into the hole on the connector. The connector will automatically grab on and hold the wire in place. If you need to remove the wire later, an small object (bobby pin, ballpoint pen, etc.) can be used to depress the release button, allowing the wire to be extracted without damage.
There is an input button on the button board itself which can be used to provide an input signal if no other buttons are available. It functions like any other normal button that might be attached. Be certain you're pressing the button labeled '8' and not the one labeled 'Reset'! Pressing the reset button will reset your button board, probably causing your entire system to stop working properly until you reset your Director Board!
The Configuration Utility
Spectacle Button Board
For the Button board, there are five options: three which produce a momentary pulse type output and two that produce a continuous switch type output.
Action on press
Trigger an action when a button is first pressed, regardless of how long it is subsequently held down.
- "When button number ... is pressed" - This is the number of the button we wish to assign to this action. The button numbers are printed on the board, and run from 0 through 8.
- "trigger channel number ..." - A single, momentary pulse will be sent out on this channel. It is suitable for starting a sound, initiating a motion, or setting the color of a light strip, but not for continuous sound playback or for turning on a light strip effect, for instance.
Action on release
Trigger an action when a button is released, regardless of how long it has been held down prior to being released.
- "When button number ... is released" - This is the number of the button we wish to assign to this action. The button numbers are printed on the board, and run from 0 through 8.
- "trigger channel number ..." - A single, momentary pulse will be sent out on this channel. It is suitable for starting a sound, initiating a motion, or setting the color of a light strip, but not for continuous sound playback or for turning on a light strip effect, for instance.
Action on press or release
Trigger an action when a button is pressed, then trigger the same action again when the button is released.
- "When button number ... is either pressed or released" - This is the number of the button we wish to assign to this action. The button numbers are printed on the board, and run from 0 through 8.
- "trigger channel number ..." - A single, momentary pulse will be sent out on this channel both at the time the button is pressed and at the time it is released. It is suitable for starting a sound, initiating a motion, or setting the color of a light strip, but not for continuous sound playback or for turning on a light strip effect, for instance.
Action while holding
Trigger an event as soon as a button is pressed, then continue to trigger that event as long as the button is held down.
- "While button number ... is pressed" - This is the number of the button we wish to assign to this action. The button numbers are printed on the board, and run from 0 through 8.
- "activate channel number ..." - A continuous will be sent out on this channel. It is suitable for triggering and repeating a sound, or for turning on and keeping on (at least, while the button is held) a lighting effect.
Latch On/Latch Off
This action is like a latching power switch. One press turns the signal on, another later press turns the signal off.
- "While button number ... is pressed" - This is the number of the button we wish to assign to this action. The button numbers are printed on the board, and run from 0 through 8.
- "activate channel number ... until button is pressed again" - A continuous will be sent out on this channel. It is suitable for triggering and repeating a sound, or for turning on and keeping on a lighting effect.
Spectacle Light Board
The Light board supports 9 different actions. Most of them want a continuous-type signal input, although a couple of them can be used with momentary input signals. We'll cover the difference under each action. Each action will have a field for the number of pixels the lightstrip that action is being applied to has, and we won't mention it again.
Rainbow Effect
The rainbow effect displays a rainbow of colors across the strip, changing the color of each pixel indvidually to make it appear as though the rainbow is scrolling along the lightstrip.
- "While channel number ... is active" - The rainbow effect persists only while the channel is active, so a continuous input signal is needed.
- "rainbow scroll lightstrip number ..." - Select which lightstrip you wish the rainbow effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- scroll speed slider - controls how fast the pattern moves as it scrolls past.
Theater chase
Theater chase mode behaves like a marquee light border. The lights will march along making it appear as though the lightstrip is moving in steps.
- "While channel number ... is active" - The theater chase effect persists only while the channel is active, so a continuous input signal is needed.
- "theater chase lightstrip number ..." - Select which lightstrip you wish the theater chase effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- chase speed slider - controls how fast the pattern moves as it scrolls past.
- color picker input - allows you to select the color of the lights.
Scanning effect
Scanning mode sees a small group of lights bouncing back and forth along the length of the lightstrip, reminiscent of Cylons from Battlestar Galactica.
- "While channel number ... is active" - The scanning effect persists only while the channel is active, so a continuous input signal is needed.
- "scan lightstrip number ..." - Select which lightstrip you wish the scanning effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- scan speed slider - controls how fast the pattern moves as it scrolls past.
- color picker input - allows you to select the color of the lights.
Twinkle effect
Causes individual lights on the selected strip to perform a twinkling action.
- "While channel number ... is active" - The twinkle effect persists only while the channel is active, so a continuous input signal is needed.
- "twinkle lightstrip number ..." - Select which lightstrip you wish the twinkle effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- color picker input - allows you to select the color of the lights.
- speed slider - controls how fast the twinkles are moves as it scrolls past.
- magic slider - controls how magical the twinkles are. Play with it!
Lightning effect
Causes the entire strip to strobe in a manner that looks a lot like a lightning flash.
- "While channel number ... is active" - The lightning effect persists only while the channel is active, so a continuous input signal is needed.
- "lightning on lightstrip number ..." - Select which lightstrip you wish the lightning effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- color picker input - allows you to select the color of the lights.
- speed slider - controls how often the lightning strike occur moves as it scrolls past.
- fury slider - controls how furious the lightning is. Play with it!
Flame effect
Causes the entire strip to crackle like a fire.
- "While channel number ... is active" - The flame effect persists only while the channel is active, so a continuous input signal is needed.
- "make fire on lightstrip number ..." - Select which lightstrip you wish the flame effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- color picker input - allows you to select the color of the lights. Experiment with different colors!
Fade effect
The lightstrip will change from one color to another over time, then back to the first.
- "While channel number ... is active" - The fade effect persists only while the channel is active, so a continuous input signal is needed.
- "fade lightstrip number ... back and forth" - Select which lightstrip you wish the fade effect to operate on. To have the same effect on multiple lightstrips, you must create multiple actions.
- "from color" color picker - This is the initial color that the lightstrip will power up with.
- "to color" color picker - The other color, which the strip fades to and from periodically.
- "fade speed" slider - Controls how fast the fading action occurs.
Fill
Fills some number of lights on the light strip with a single color. Blanks the other lights to off.
- "listen to channel number ..." - A momentary signal on this channel is all that is needed to trigger a fill operation, and the fill will persist until another effect starts.
- "wait for ... seconds" - This delay allows for sequencing effects. Most often you'll probably set it to 0.
- "clear lightstrip number ..." - Select the lightstrip to operate upon.
- "and fill ... pixels" - The number of pixels, from closest to the Light board out, to turn on.
Light pixel
Turns on one light and blanks the rest of the lights to off.
- "listen to channel number ..." - A momentary signal on this channel is all that is needed to trigger a light pixel operation, and the lit pixel will persist until another effect starts.
- "wait for ... seconds" - This delay allows for sequencing effects. Most often you'll probably set it to 0.
- "clear lightstrip number ..." - Select the lightstrip to operate upon.
- "and light pixel number ... " - The number of the pixel, from closest to the Light board out, to turn on.
Example Project
Let's use the contents of the Spectacle Light Kit to put together a working project! We're going to use the Button Board to control the Light Board's "Scanning Effect" action.
Connect the boards
Start by connecting up the boards. All the hardware you'll need came with the kit.
First, plug one end of one of the TRRS cables into the "Direct" jack on the Director Board.
Next, take the other TRRS cable and plug it into the "Program" jack on the Director Board.
Take the other end of this cable and plug it into the audio jack of the phone, tablet, or computer that you'll be using to program the system.
Then take the other end of the first TRRS cable and plug it into the "In" jack on the Button Board.
Grab another of the TRRS cables and plug it into the "Out" jack on the Button Board.
Plug the other end of that cable into the "In" jack on your Light Board.
Now plug your lightstrip adapter cable into the Light Board...
...and plug the lightstrip into the other end of that adapter.
Finally, plug the Micro B end of the power adapter into the Director Board, and the other end into the wall. You should see one solid light and one blinking light on the Light board and the Button board. On the Director Board, you'll see one solid light and one light which blinks eight times, then pauses, then repeats. This shows that power is present and the boards are up and running.
Setting up the board configuration
When you first open the Spectacle app webpage, this is what you'll see. Your project name will differ from mine, as Spectacle assigns a random name to each project.
To continue, we must tell the project which boards we wish to use. Start by clicking the "Add a board" button at the bottom of the page.
This will bring up a list of the available boards. We're going to add our button board first of all, so click anywhere in the "Button" box to add it.
Now, repeat this process one more time to add a Light Board.
You should now have a list that looks like this. Order is important, so make sure your boards are in the same order as shown above. Names are not important, however, and your boards will have different names than mine do, as Spectacle assigns names randomly.
Each board has a clapboard icon associated with it. To add or edit actions, click this icon. We're going to start by adding an action to the button board.
The window that pops up will look like the above. Click the button highlighted in the image below to add an action to the Button Board.
This list will come up. It represents all the different actions which can be performed by a Button Board.
Click on the list entry which says "Latch On/Latch Off".
You'll then see this screen, which presents the various options for the Latch On/Latch Off action. Every action will have different settings.
Here are the settings we need to use for this project. We want button 8 (the button on the Button Board) to activate channel 0 when pressed. Later on, we'll tell our light board to watch channel 0 and do something when it's active.
Now click on the "Go Back" button to return to the main page. Your action changes will be saved automatically.
We're back at the main page, now, and you can see that the action we added appears under the Button Board in the boards list.
Now click on the clapboard icon for the Light Board to add an action for the button to trigger. When you click the "Add an Action" button, you'll be presented with this list of actions that the Light Board can perform. We're going to choose the "Scanning Effect" action.
This screen will pop up, albeit without any of the entries in the fields. Go ahead and set up the fields as I've shown them above, then click the "Go Back" button.
Congratulations! You've finished the configuration step of the process. Now it's time to move on to loading the project onto your Director Board.
Uploading
Now that you've created your Spectacle program it's time to upload it to the Director Board. If you followed the instructions above, your uploading device is connected to the board and ready to go, so all you need to do is touch the "Install Script" button at the bottom of the page. That will bring up the page seen below.
Make sure the volume on your device is turned all the way up, and that no other audio source (music, video, etc) is playing in the background. Then press and hold the "RST" button on the Director Board, press and hold the "PROG" button, then release the "RST" button.
This will put the Director Board into program mode. You'll see the light on the board blink three times, pause, then repeat. This is your visual indicator that the board is in program mode. Once you've established that the board is in program mode, you can begin programming by touching the "Install" button on the Spectacle app screen. The button will gray out during the programming process, which should only last for a few seconds. Once programming is done, you'll see the light on the Director Board blink 10 times, pause, then repeat. That's your cue that the program was uploaded successfully.
Press the "RST" button again to reset the system and begin the program!
If you have any troubles, visit the troubleshooting page for help resolving your issues.
Resources and Going Further
For general Spectacle information, please check out the user guide:
Spectacle User's Guide
May 4, 2017
For more Spectacle fun, check out the additional tutorials below:
Spectacle User's Guide
Spectacle Light and Sound Kit Hookup Guide
Spectacle Audio Board Hookup Guide
Spectacle Button Board Hookup Guide
Spectacle Motion Kit Hookup Guide
Spectacle Motion Board Hookup Guide
Spectacle Inertia Board Hookup Guide
Spectacle Example: Super Mario Bros. Diorama
Or check out the blog project posts that use the Spectacle Light Board: