Instructions

Introduction

Finished Sparkle Shield

The Sparkle Shield is an add-on shield for Arduino that has 70 individually programmable full color LEDs arranged in a 7x10 matrix. It comes as an unassembled kit that you can solder yourself with a few basic tools.

Most people spend around 2 to 3 hours soldering this kit, but it depends on your level of soldering experience.

Parts

First, take a look at what's included in your kit, and make sure everything is there.  If you're missing something, send me an email at scotty@sparkleshield.com, and I'll do what I can to make things right.

You should have:

  • 70 LEDs
  • 1 circuit board
  • 1 40 pin header
  • 1 ten pin header socket
  • 2 eight pin header sockets
  • 1 six pin header socket
  • 1 screw terminal

What tools/supplies do you need?

Soldering tools

  • soldering iron
  • sponge to clean soldering iron
  • rosin core solder (60% tin/40% lead) - The solder joints for this kit need very little solder. If you add too much, it will creates connections where you don't want them. If you can find smaller diameter solder, that will make things easier, particularly if you're a beginner.
  • arduino uno and cable
  • snips

Optional:

Optional soldering tools

  • desoldering pump
  • solder braid
  • multimeter (a cheap one is fine - you just need to be able to measure resistance)
  • board holder (I really like the panavise)
  • loupe

How to solder

If you've never soldered before, don't worry, you'll pick it up in no time.  Take a few minutes to read through Mitch Altman's Soldering is Easy comic book.  It's a great introduction, with lots of useful tips that will make assembling this kit more fun.

Soldering the LEDs

Solder all the things meme

First, you need to figure out which sides of the board are which. The top of the board says Sparkle Shield on it, and has the outlines of the leds. The bottom says "Solder all the things!"

Top:

Top view of circuit board

Bottom:

Bottow view of the circuit board

You'll put the LEDs on top of the board, and solder the legs on the bottom.

Next, have a quick look at one of the LEDs. It has two long legs and two short legs. It also has a flat side on the plastic. Direction matters with LEDs. If you put them in the wrong direction, they won't light up. I've also had problems with some in the past burning out or cracking when inserted backwards, but the ones I'm currently using shouldn't do that. So - make sure to check the direction - it's really important!

Closeup of LED

The correct direction to insert the LEDs is so that the flat side of the plastic matches the flat side on the LED outline on the top of the board. The flat side should also be the same side as the longer legs.

Photo of one LED inserted

You may notice that the holes don't totally line up with the legs of the led. I spread the holes apart intentionally to make it easier to solder. The first version I made had them lined up perfectly, but it was really easy to have solder jump from one leg to another and create a short. This just means you have to work a bit harder to insert the leds the first time, but the soldering is much easier.

So, go ahead and insert some LEDs into the board.Start at LED 1, and work your way down to LED 10. I like to place one row of leds, before I start to solder them. Double check you're inserting them the right direction as you go. [photo of one led placed] When you place them, push down to get the bottom of the led as close to the board as possible (you may have to use a reasonable amount of pressure).

One row of LEDs inserted

Once you have the first row placed, I like to go through and make sure they're all as straight as possible. First, I solder one leg on each LED.

Photo of one leg per LED soldered

Then, I go along and reheat each leg with my soldering iron until the solder melts, while pushing down on the led, checking it's as straight vertical as possible.

Photo of straigtening one LED

Finally, go back and solder all the remaining legs on each of the leds

Photo of all legs of one row soldered 

Lastly, I like to check I didn't make any mistakes before I move onto the next row. Recheck the LEDs are the correct direction. Then check your soldering, looking for anywhere where the solder jumped from one leg to the other, or one pad to the other.

 

 

[photo of what a solder bridge looks like]

 

 

You can do this with your bare eye, or a cheap magnifying glass or jewelers loupe if you prefer.

If everything looks good, use your snips to cut the excess length off the legs, just above the solder.

You can also check for shorts using a multimeter. I usually do this after I've cut the legs, since the long legs can sometimes touch causing shorts. Set your multimeter to measure resistance (ohms or the  symbol). Choose an led position on the board that you haven't put an led in yet. Put the multimeter probes in the middle two holes, which are the power and ground holes.

Photo of using a multimeter to test for shorts

Check the resistance - it should be above about 400 ohms. If it's zero, then you have a short somewhere, probably between the middle two legs of an LED. This is where I've had problems with shorts most commonly, and is the hardest problem to diagnose once you have the board completed. So, if you have a multimeter, it pays to use it to check for shorts after soldering each row.

If everything looks good with your first row, go ahead and move on to the next row, until you've filled all the positions. Don't worry if you have a few extra LEDs - I usually include a few spares just in case you break or lose one.

When you're done, your shield should look like this:

Bottom of fully soldered board

Top of fully soldered board

How to fix a solder bridge if you create one

If you created a short when you were soldering, don't worry, it's easy to fix! You'll need either some solder wick, or a desoldering pump. 

Soldering the headers

Once you've soldered all the LEDs, it's time to add the headers to connect the shield to your arduino. You have two choices - stackable headers that allow you plug in other things to your arduino while you're using your Blinky Shield, and headers that aren't stackable, but are small and nonintrusive. If you just want to program animations on the LEDs, then you can use the nonstackable headers. If you want to use switches or other sensors with your Blinky Shield, then it's probably better to use the stackable headers.

Nonstackable headers:

Photo of nonstackable headers

Stackable headers:

Nonstackable headers

Soldering the nonstackable headers

I've found the easiest way to get the headers straight and make sure they line up with your arduino is to insert them into the arduion first, and then put the shield on top to solder it. This makes sure they're already in the right place and straight before you solder anything. The long end goes down in to the arduino, and the short end sticks up through the shield with the LEDs facing up.  You can snap with your hand, or cut them using wire cutters to get them to the right length.

Photo of an Arduino with nonstackable headers inserted

Photo of an arduino with nonstackable headers and sparkle shield circuit board before soldering

Next, solder 2 pins per header.  Make sure the bottom of the board doesn't touch the top of the silver usb connector on the arduino, or it will cause a short.  This might mean you need to lift the board up slightly before you solder any of the pins.

Also, try not to keep your soldering iron on the pin too long, or you risk heating it up too much and melting the plastic on the header.

Here's what it looks like when you're done:

Finished Sparkle Shield

Programming your arduino

Ok - now it's time to getting your arduino talking to your computer, and program some animations.

First, you need to download and setup the Arduino Software (IDE). There's a great Getting Started guide on the Arduino site for each major platform:

https://www.arduino.cc/en/Guide/Windows https://www.arduino.cc/en/Guide/MacOSXhttp://playground.arduino.cc/Learning/Linux

Follow the Getting Started guide first, before plugging your Blinky Shield into your arduino, and make sure you can get the blink example to work. This makes sure your computer can talk to your arduino.

Next, you should install the FastLED library.  This is the open source library we use to talk to the LEDs.

  • In the Arduino IDE, in the menus go to Sketch -> Include Library -> Manage Libraries...
  • Find FastLED in the list (or search for it using the search box in the upper right).
  • Click on it, and then click the Install button.

Then you should download and install the Sparkle Shield library.

  • Download it from github: SparkleShield.zip.
  • To install it, in the Arduino IDE menus, go to Sketch -> Include Library -> Add .ZIP Library...
  • Select the zip file you downloaded, and click the Choose button.

Finally it's time to run your first animation:

  • Open one of the example animations. In the Arduino IDE menus, go to File -> Examples -> SparkleShield -> FirstLight. This is a simple animation that lights up each led in sequence, and is a good first test.
  • Plug in your arduino to a usb port on your computer.
  • Click the Upload button in the blue toolbar (arrow pointed to the right). Or go to Sketch -> Upload in the menus. This uploads the animation code to the arduino.

From here, you can modify the code for this animation, or load other examples from the File -> Examples -> SparkleShield menu.

Desoldering

If you made a mistake, have a bad LED, or put one in the wrong way, not to worry. There should be several extra LEDs in your kit. To remove the offending LED, you need to desolder it. Check out this great youtube video on desoldering
from Adafruit:

Troubleshooting

If you're having problems getting your shield to light up, don't worry - it's probably easy to fix!

Here are some common problems:

  • None of my leds light up. If the LEDs don't light up when you plug in your arduino, you might have several problems. First, check all the leds are facing the right direction. If they aren't, desolder them and turn them around the right way. Second, check all your solder joints. Are there any shorts? Are there any unsoldered pins? In particular, look at LED1. The LEDs are chained together, and LED1 is the one that connects directly to the data pin on the arduino.

  • Some of my leds light up, but others don't. Usually this, is caused by a short or an unsoldered data pin. Check the solder joints right around the first LED to not light up. The LEDs are numbered in rows. The top row has LED1 and LED10 labeled. LED11 is below LED1.  Try reflowing any suspect solder joints by simply heating them up to remelt the solder, and then letting it cool again. Sometimes if solder joints don't get hot enough, they don't create a good electrical connection.

  • I get errors when I try to program the arduino. Try testing the arduino by itself with the blinkyshield unplugged. Can you load the Blink example from the arduino standard examples (in the File > Examples menu)? If you can't, check out the (Arduino troubleshooting guide)[https://www.arduino.cc/en/Guide/Troubleshooting] on the Arduino site.

  • My computer says my USB port is drawing too much power. This is generally caused by one of two things. If you wrote your own animation that's really, really bright, then the leds could be trying to draw more power than the USB port can support. If this is the case, you can either use setBrightness in your setup() method to make your animation less bright, or you can hook up an external power supply to your Blinky Shield. If you're still getting this error with one of the example animations in the Blinky Shield library, then you probably have a short. Go back and check each of the solder joints for each of the leds. Look for anywhere that solder jumps between two legs or two pads, particularly the middle two legs of each led (they're the power and ground legs).

  • Still having trouble? Email me at scotty@sparkleshield.com, and I'll do my best to help you. Please try and include photos of the bottom side of the board showing the solder joints, and of the top of the board when it's plugged into your arduino (and turned on), showing which LEDs are lighting up.

External power (optional)

You have the option to use external power with your Blinky Shield. If you do, it will allow you to run your LEDs at full, blinding brightness. No joke - they're really, really bright. If you prefer to use your Blinky Shield without sunglasses, then you probably don't need external power. Just use setBrightness in your setup() method to lower the overall brightness. I've found that TODO is a reasonable maximum, but I often set it to 32 for a good mix of good, bright colors while not killing my eyes.

If you do want to hook up external power, it's pretty straightforward. First, take a knife and cut the little trace in the Ext Power section on the top of the board. [closeup photo of intact trace showing which one] [Action shot of cutting trace] This disconnects the power from the arduino. If you don't do this, you could hurt your arduino when you hook up the external power. If you ever want to stop using external power, you can put a little glob of solder across the gap you cut. [closeup photo of cut trace]

Next, solder on the terminal block. [board shot of mounted terminal block]

Then, hook up the wires to your external power source. It should be 5v and TODO amps. The positive and negative sides are marked on the board. Make sure you double check the polarity - if you wire it backwards you could fry your Blinky Shield and/or your arduino! [shot of hooked up wires]

Plug in your external power with the Blinky Shield unplugged from the arduino. It should light up bright blue. If it doesn't, unplug it and double check your wiring.

How to chain multiple together (optional)

If you have multiple Blinky Shields, you can chain them together. Simply cut the trace near the hole labeled DI on the second board, and then wire DI on the second board to DO on the first board. If you ever want to use your shields independantly in the future, you can put a little glob of solder across the gap you cut.