I made this as a Christmas present, I think it came out great and felt it well worth the effort to make it.
Note: The Electronic work requires a fair amount of soldering 100+ connections. This may not be a good first time project. Read the instructions first before you buy any components and make sure you understand them. Because of mistakes I made when assembling this I ended up buying two set of the charlieplex LED/Driver.
I Included a 8 LED holder and 16 LED holder in addition to the 4 LED holder. If you use the 16 LED holder the Lamp cover may need to be made longer than 130mm.
The designs are available on https://www.tinkercad.com under Dodecahedron Lamp
This is a two part Project
3D printed pieces for the lamp and electronics and a AdaFruit Pro-Trinket anaimated Flame.
For the 3d Printed Lamp you will need
30) Dodecahedron Lamp - links (the STL has 5. Print STL x6)
11) Dodecahedron Lamp - Sides (If you have issues with the corners lifting try Rafts)
1) Dodecahedron Lamp - Bottom
Used a clear expoxy to glue the links to the sides and bottom. I used Devcon 1 Minute with the mixing tips, it requires about 5-10 minutes where it is not disturbed. I purchased 10 of the smallest size. (one suggestion was assemble them in three's and then all together)
I assembled it in the following steps:
1. Dry Fit everything and Clean the loose filament before assembly
The screws will insert in to the bottom pre-thread screws in to the holes and remove them.
Glue 5 Links to one of the sides (This now the top) and to bottom
- Theses should be centered
- Set these aside and allow to fully cure.
Glue a Link to each of the other 10 Sides
- Again center them
- Set these aside and allow to fully cure
Take the Top and carefully glue two of the sides to the top using the link on the side. These are used to glue the next side.
Set this aside for the minimum curing time.
Glue each addtional side and setting aside for the minimum curing time until you have
Glue links (10) to the bottom edge of the top.
Glue each addtional side and setting aside for the minimum curing time until you have the additional five sides attached to the top assembly. Once the next five sides are on allow to fully cure.
Before glueing the bottom on make sure the 3m Screws will thread into the screw holes.
Glue bottom on and allow to fully cure.
(When I glued the two parts togeather I had issues with getting all the pieces aligned. I used 5" pieces of 28-30 Gauage wire from some old Cat 5/telephone wire and held the pieces togeather. I then carefully applied the epoxy. Once cured I removed the ing wires)
Hardware
x5 - M3 x 10mm
x4 - M3 x 8mm
x6 - M2.5 x 4mm
3D printed pieces for the Electronics
Print the five pieces
Arduino Case Body
Arduino Case Lid
Lamp cover (Two variations 70 & 130 mm tall)
Bottom Electronics holder
Bottom Electronics Base (Two variations low & 30 mm taller)
a M3 screw should go easily through the holes on:
Arduino Case Body 5 Holes in the Pentagon
Arduino Case Lid 4 Holes in the Corners
Bottom Electronics Base 5 Holes in the Pentagon
I used a 1/8" (3.18mm) drill bit.
Do not use this bit to clean the holes on the Dodecahedron Lamp - Bottom instead use something around 2.5mm this is slightly larger than a 3/32" (2.38mm) drill bit
Thread a M2.5 screw on:
Four stand-offs on Bottom Electronics holder
Two stand-offs on the Arduino Case body
The holes should be cleaned up.
If you do not cleanup the holes it is possibile of twisting off one of the standoffs.
I used a 5/64" (1.98mm) drill bit
Thread a M3 screw on:
Arduino Case Top 4 Holes in the Corners
Bottom of the Dodecahedron 5 Holes in the Pentagon (This should have been done in a prior step)
Glue with Epoxy the Bottom Electronics holder to the Bottom Electronics Base.
(there are two options with the base a low version and one that is 30mm taller. The taller one is meant to look like a candle stub)
If you are using the 4, 8 or 16 White LED Light holder and the epoxy from step 5 has set hard epoxy the LED holder to the top.
Arduino and LED Electronics
LED Charlieplexed Matrix - 9x16 LEDs - Yellow PID: 2948
Adafruit 16x9 Charlieplexed Matrix Driver PID: 2946
Adafruit Pro Trinket - 3V 12MHz PID: 2010
Silicone Cover Hook up wire PID: 1877-1884
Stacking Header PID: 3366
Header Pins PID: 392
Mount Extension USB Cable -
Micro B Male to Micro B Female PID: 3258
Optional White LED light
Super Bright White 5mm LED (25 pack) PID: 754
NPN Bipolar Transistors (2N2222A) TO-18
Mini Mount SPDT Toggle Switch PID: 3221
22 Ohm resistor (1 for each LED [Red-Red-Black]) 4-16 depending on # LEDs
330 Ohm resistor [Orange-Orange-Brown]
USB Charger PID: 501
USB Cable ( You may want one with an On/Off Switch) PID: 2379
Items with a PID listed I purchased from AdaFruit everything else I found on Amazon or my local Franchise Radio Shack.
The Arduino code:
AnimatedFiret_And_LED_Light.ino
(This code will either run the flame anaimation or LEDs)
data.h
(This has the data for the Flame Animation)
I includes a fritzing diagram to show how roughly how it all goes togather.
The gotcha is it does not show how the transistor is hooked up and depending on the company who made it the layout of the Emitter, Base and Collector may change. In the diagram the Emitter is on top and hooks to the ground, The base has a 330 ohm resistor between the transistor to the control pin on the arduino and the Collector is on the bottom and it goes to the resistor(s) for the LEDs.
Electronic Assembly
Cut off two 9 sockets sections of stacking headers. this is accomplished by using electronic wire cutters at the tenth postion leaving 9 intact sockets. You will want cleanup the cut plastic. I used a small file to clean up the edges.
solder each of the stacking headers on the back of the Charlieplex board at a1-9 and b1-9. Instructions on how to do this is at: https://learn.adafruit.com/adafruit-feather-m0-adalogger/assembly#soldering-on-female-header-3-12
solder wires to SDA (orange), SCL (blue), GND (black) & VCC (red) at the end of the Charlieplex board. I used the silicone wires the plastic does not shrink back when you solder. I made mine about 6" (150mm) you will cut them down to needed size later.
4 Attach the Charlieplex driver board to the Four stand-offs on Bottom Electronics holder/ Bottom Electronics Base using 4) M2.5 4mm long screws. The wire connections will be at the top. Thread the wires through the gap below the board through the base.
Cut two 9 pin sections of the header pins.
I found that it is easier to align the pins if I insert the pins into breadboard and then place the component side up. Solder each of the headers pins on the LED Matrix at a1-9 and b1-9.
Insert the pins of the LED matrix into the Charlieplex driver.
Optional steps - If you are not putting on LEDs skip to step 14
The white LEDs light instruction are for four LEDs just just replicate for the number of LEDs you are using.
Take four LEDs and take note of the Longer lead this is the Anode or Positive or + Lead. As close as you can bend the leads up from the body of the LED. Solder a 33 ohm resistor to the cathode or negative or - lead keep the leads as short as possible.( this extremely important for the 8 or 16 LED lights.
Attach a blue wire to the - lead and red wire to the +.
Place heat shrink over the leads and about 6mm (0.25") past the solder connection.
with a little wire as possible from the LED assembles solder all the blues together and then reds with an 20mm (8") wire.
Heat shrink about 6mm (0.25") past the solder connection both ways.
Thread these wires behind the LED matrix board and the plastic divider. and put on the lamp cover over the assembly
1/4 Proto board Assembly
An image of what the wiring should look like for the 1/4 proto board is found in the pictures along with a fritzing diagram.
Cut off two 12 sockets sections of stacking headers. Using the same techniques are before.
Solder each of the stacking headers, with the headers on top soldering from the bottom of the 1/4 Proto board at C1-12 and G1-12. Instructions on how to do this is at: https://learn.adafruit.com/adafruit-feather-m0-adalogger/assembly#soldering-on-female-header-3-12
Orient the board A1 at the top left and J15 bottom right
- Solder a black wire from J2 (G or Ground) to the Right - bus row 2.
- Solder black from Right - bus row 1 to left - bus row1
- Solder a black wire from Left - bus row 13 on to A13
Solder a black wire from Right - bus row 13 to J13 (for Optional LEDs)
Solder a red wire from J4 (3v) to the Right + bus row 4
Solder a red wire from Right + bus row 1 to left + bus row1
Solder a red wire from Left + bus row 14 to A14
Pins and socket for Charlieplex display( you have two choices but regular connector or make your own. I made mine)
The order of the wires
Orange to B11
Blue to B12
Black to B13
Red to B14
commercial
23. Use a 4 commercial socket with 0.1" (2.54mm) spacing and solder these to B11-14
24. pay attention to the keyway on the commercial socket take the other half and attach the wires.
home built
23. take a strip of 4 stacking headers and solder these to B11-14. Allow some room below the header so that can be bent to a slight angle so the that it can clear the trinket pro chip
24. take a strip of 4 header pins, 4 1/2" pieces of heat shrink slip this over the wires and then attach the wires paying attention to the order (Orange Blue Black Red).
For Optional LEDs (steps 19, 25-31)
- Solder a 330 Ohm resistor between F9 and F14
- Solder a 2N2222A TO-18 (The pins are in a triangle shape) Collector to I15 (Farest from little tab), Base to I14 (Middle pin), and Emitter to I13 (Closest to little tab on the transistor).
If you choose a commercial connector before you may want to again
Commercial Connector
27. Use a 3 pin commercial socket with 0.1" (2.54mm) spacing. You will not need the center pin and there is not spot for the center pin
- Attach the pins to the Red and Blue wires paying attention to the polarity of the plug.
Homemade connector
27. Take a strip of 3 Stacking headers and cut off the middle pin. Stick one pin in J15 and the other in the row 15 and right + Bus (This will be used for the plug made for the LEDs)
Take a strip of 3 header pins, a 1/2" long fine heatshrink over the Red and Blue wires to the LEDs solder the wires to the pins and shrink down the heatshrink.
Switch wiring
Solder a 6" Green wire to J8 and to the one side connections of a SPDT Switch
Solder a 6" gray wire to J7 and to the center connections of a SPDT Switch
Solder a 6" yellow wire J6and to the other side connections of a SPDT Switch
Put the Dodecahedron(Top) , Electronic Assembly (Middle) and the Arduino Case Body (Bottom) together using 5 M3 10mm screws threading them from the inside of the Arduino Case Body
At this point 1/4 Proto board is mostly complete Attach it to the Arduino Case Body to the two posts near the Pentagon using 2 M2.5 4mm screws.
Instructions coming.
The switch can be mounted in the larger of the two holes together if you in the Arduino Case Body.
Next preparing the Trinket Pro
Before any work to the trinket Pro is performed I suggest you test it by loading the blink ino via the IDE.
2 strips of 12 pins are needed to be soldered on to the Trinket Pro. The AdaFruit guide mentioned above is a good on how to do this.
After the Pins are soldered in test with blink again.
load Animated Flame ino. This may take a couple of tries. When reset is pressed or power is applied it goes into boot loader mode for 5-10 seconds. The gotcha is that it take a bit to compile. So you start the compile and after a bit you press the reset.
once it looks like you have a good load pull power and plug it into the header pins on the Proto board. Proto board Row 1 up and for the Arduino the USB connector up.
Plug in the CharliePlex matrix display and LEDs to the sockets pay attention to polarity
all your wiring if you have questions ask. The Animated Flame is based on the Adafruit Animated Flame Pendant project at https://learn.adafruit.com/animated-flame-pendant/overview The original project was battery based and this one is not.