This is an unassembled kit and requires basic soldering. This is designed for use with the Digispark development board, which is not included.
Part | Quantity | Identification |
---|---|---|
DigiLED Shield PCB | 1 | |
0.1uf Capacitor | 1 | |
WS2812B type through hole LED | 1 | |
1×40 pin male 0.1“ pitch header | 9 pins worth |
Resistor Values: For more information on how to identify the value of the resistors, we recommend these sites: A nice simple resistor calculator: http://www.ealnet.com/m-eal/resistor/resistor.htm A comprehensive article on identification: http://www.diyaudioandvideo.com/Electronics/Color/
Soldering: If you are new to soldering we recommend the following tutorials: Soldering Basics (http://www.sparkfun.com/tutorials/106) and Soldering Crash Course from the folks at Sparkfun (http://www.sparkfun.com/tutorials/354). How to solder from the Curious Inventor: http://store.curiousinventor.com/guides/How_to_Solder
Adafruit has this excellent guide that starts with the tools needed and then shows detailed pictures, including some of the common problems that beginners experience (http://learn.adafruit.com/adafruit-guide-excellent-soldering)
We assume for these assembly instructions that you know the basics of thru-hole soldering. If you don't check out the links above, these boards are very easy to solder - we promise!
Empty kit bag (or if using a raw PCB, aquire parts) and verify contents.
When inserting the LED into the board ensure the two longer leads of the LED goes through the holes marked data out and ground (see photo) - this ensures you have the LED oriented properly. Solder the LED leads and clip off the excess.
Insert the capacitor on the top of the board (as shown), solder leads on bottom. Orientation of the capacitor does not matter.
Cut a length of male headers 6 pins long and one 3 pins long. Insert into corresponding positions (on the bottom of the board) and solder each pin.
Tip: Inseting the headers into a breadboard and then placing the board on top can make this process easier.
Note: If you are using stackable headers, use them here instead of the standard male headers.
When inserting the LED into the board ensure the two longer leads of the LED goes through the holes marked data out and ground (see photo) - this ensures you have the LED oriented properly. Solder the LED leads and clip off the excess.
Your DigiLED shield is complete!
Note: On the back of the shield there is a solder patch to activate pin 5 instead of pin 1 as the digital input. If you are not using the DigiLED as a shield onto the DigiSpark Pro and planning on running it at a distance, you only need to connect the specified digital pin (Pin 1) and bottom 3 pins (5V, GND, VIN). You do not need to connect all 6 pins on the right-hand side of the shield.
When chaining multiple DigiLED's together, you only need to connect 3 points as a daisy chain using VCC, DO>DI and GND.
For example, LED #1 would need the top 3 pins VCC, DO (out) and GND to connect to DigiLED #2's VCC, DI (in) and GND on the second row from the bottom of the board.
If you added LED #3 you would need to connect DigiLED #2's top three pins to the second row from the bottom on DigiLED #3 and so-on and so forth. After DigiLED 1, the side pins and 5V, GND, VIN should not be connected, only the three input and output points for chaining.
Note: The programming sections assumes you've installed the Arduino IDE and the Digispark Add-ons
Download and install the NeoPixel library: https://github.com/adafruit/Adafruit_NeoPixel
Set the Pin to 1, Number of LEDs to 1 (unless you have chained more on), and format to NEO_RGB + NEO_KHZ800
If you have a single DigiLED, the following code sample will make it continuously cycle through white, cyan, violet, yellow, red, green and blue.
// Based on NeoPixel Ring simple sketch (c) 2013 Shae Erisson // released under the GPLv3 license #include <Adafruit_NeoPixel.h> // Which pin on the Digispark is connected to the DigiLED? #define PIN 1 // How many DigiLEDs are attached to the Digispark? #define NUMPIXELS 1 // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals. // For the WS2812B type through hole LED used by the DigiLED, NEO_RGB + NEO_KHZ800 is the correct data format Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); int delayval = 500; // delay for half a second void setup() { pixels.begin(); // This initializes the NeoPixel library. pixels.show(); // Initialize all pixels to 'off' } void loop() { // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255 // in Red,Green,Blue order pixels.setPixelColor(0, pixels.Color(255, 255, 255)); //white pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). pixels.setPixelColor(0, pixels.Color(0, 255, 255)); //cyan pixels.show(); delay(delayval); pixels.setPixelColor(0, pixels.Color(255, 0, 255)); //violet pixels.show(); delay(delayval); pixels.setPixelColor(0, pixels.Color(255, 255, 0)); //yellow pixels.show(); delay(delayval); pixels.setPixelColor(0, pixels.Color(255, 0, 0)); //red pixels.show(); delay(delayval); pixels.setPixelColor(0, pixels.Color(0, 255, 0)); //green pixels.show(); delay(delayval); pixels.setPixelColor(0, pixels.Color(0, 0, 255)); //blue pixels.show(); delay(delayval); }
If you have more than one DigiLED daisy-chained, the following code will make all the DigiLEDs light up green. You need to change the NUMPIXELS variable to the number of DigiLEDs you have chained together.
// Based on NeoPixel Ring simple sketch (c) 2013 Shae Erisson // released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library #include <Adafruit_NeoPixel.h> // Which pin on the Arduino is connected to the NeoPixels? #define PIN 1 // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 1 // When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals. // Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest // example for more information on possible values. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); int delayval = 500; // delay for half a second void setup() { pixels.begin(); // This initializes the NeoPixel library. } void loop() { // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one. for(int i=0;i<NUMPIXELS;i++){ // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255 pixels.setPixelColor(i, pixels.Color(0,150,0)); // Moderately bright green color. pixels.show(); // This sends the updated pixel color to the hardware. delay(delayval); // Delay for a period of time (in milliseconds). } }