Introduction: RGB LED Sphere
This is my RGB LED Sphere project, it certainly is not the first, but I had to have one & all the crowd funded attempts failed so I decided to build one myself.
There are 16 slices total & two circular PCB's at the top & bottom where all the slices fit into. Each slice contains 19 WS2812 "NeoPixel" digitally addressable LED's per slice for a grand total of 304 RGB LED's per sphere.
The sphere is controlled by a single slice that contains an Atmega328, the same MCU as an Arduino Uno. The control slice also contains an accelerometer, Lithium Ion booster/charger, and a push button to switch between animations.
Each slice has an 3 inputs & an 3 outputs, (5V, GND, LED SIGNAL), each slice connecting to the next. It starts with the control slice's output that connects to the next slices input. The process continues until all the slices are connected.
The sphere is powered by a 3.7V 2200MaH 18650 Li-Po battery, that connects to a booster/charger circuit from SparkFun. I am having trouble with it though, even when off, power is being consumed & I haven't found a solution just yet.
I have been experimenting with multiple MCU's (Teensy 3.2 & ESP32), but I haven't published those just yet. The nice thing is you can swap out control slices to give the sphere more or less functionality.
A word of warning, this isn't a beginner project, it assumes you already have some SMD experience & know your way around a soldering iron.
Step 1: Parts Needed
This is the rough part, the cost of everything. In total you will spend around $450.00 on parts.
The files above are the eagle schematic & board files, in case you wanted to make any changes.
Main components:
5 Pack RGB LED x 61 = $179.95 ($2.95/per pack) https://www.sparkfun.com/products/12999
Oshpark PCB's Slice (Set of 3) x 6 = $207.00 ($34.50/per set of 3) https://oshpark.com/shared_projects/wPhKVlk4
Oshpark PCB's Top & Bottom (Set of 3) x 1 = $11.25 https://oshpark.com/shared_projects/JsGFRnSX
LiPo Booster/Charger https://www.adafruit.com/product/2465 $19.95
LiPo Battery: https://www.adafruit.com/product/1781 $9.95
Optional:
Accelerometer $17.95 https://www.adafruit.com/product/1018
SMD Parts (Control Slice Only):
Atmega328 x 1 Mouser P/N: 556-ATMEGA328P-AU
16MHZ Crystal x 1 Mouser P/N: 449-LFXTAL013224BULK
22pF Capacitor x 2 Mouser P/N: 77-VJ1206A220JXXPBC
0.1uF Capicitor x 1 Mouser P/N:80-C1206C104J3GECAUT
10K Resistor x 1 Mouser P/N: 652-CRT1206BY1002EST
10K Resistor x 1 Mouser P/N: 652-CMP0805AFX-1002L
6-Pin Right-Angled pin header x 1
Push button x 1
Step 2: Building & Programming the Control Slice
Everything can be hand soldered, you not need any hot air tools to do this build.
R1 = 10K (1206)
C20, C21 = 22 pF (1206)
C22 = 0.1 uF (0805)
C1 = 220uF (Only on control slice) (1206)
Button Resistor, unlabeled = 10k (0805)
I find it easiest to solder the SMD components first, then attach the through hole parts. Pay close attention to the Atmega328 orientation, please make sure the orientation circle on the PCB matches the orientation circle on the IC, this is very important.
Finally, insert then solder the LED's, please pay close attention to the orientation of the LED leg lengths, orientation does matter & mistakes will result in the slice not working properly. The basic idea being, that the output of one led connects to the input of the next.
Since the pins of the LED's are so close together, sometimes bridging would occur. To avoid this, I would insert all of the LED's, then make sure the LED's are in the correct orientation, next I would trim the leads of the LED's to make them shorter. When it came to solder, I would solder the DIN & DOUT connections of each LED, once they were all soldered, I would trim the DIN & DOUT leads as short as I could. When that was complete, I would go back & solder the LED power connections.
Once you have completed the soldering, it's time to test for shorts, to do this use the continuity setting on your multi-meter and connect it to the GND & 5V power connector on the PCB. If there are no shorts, lets program the control slice.
To program the control slice, you will need to use AVRdude & a programmer of some kind. I use the USBtiny programmer from Adafruit.com, but you can even use an Arduino to program the slice, if you have one lying around.
The code is available at: https://github.com/davidhend/RGB-Sphere
You will also need to install the FastLED library to compile this code.
Step 3: Complete the Other Slices & Connect Them Together
Place & solder the remaining LED's into the other slices.
Next you can start wiring the slices together & insert them into the top & bottom PCB's. Connect one slices output to the next slices input.
I put my battery in the center of the sphere, you can do so also, if you want.