DomeStar is a beautiful, fully-interactive, spherical LED installation housed inside a PVC dome. One part installation, one part chill out space, one part high-energy dance floor. DomeStar invites guests to dance their blinkin' faces off, then to lie down and look up as the complex visualizations warp, twist, shatter and throb around them, enveloping partygoers in a comforting aura of complex energy.
DomeStar is powered from a series of custom boards seated at the top of the dome, as well as a portable power rack bag situated on the ground. The power bag outputs 1,000 watts of power at 12v which runs up to the top of the dome, where it is distributed to five custom boards that convert the 12v power to the 5v required by the LED strips. Each board includes a teensy microcontroller (Arduino compatible) for driving the LED strips upwards of 200 frames a second. The USB connections from the microcontrollers are aggregated and sent through a single CAT-6 cable to a computer on the ground. The strips themselves are five meters in length, with 32 RGB LEDs per meter or 160 LEDs in total. Each RGB LED is individually controllable through a series of LPD8806 shift registers built into the strips.
DomeStar has an amazing amount of programming backing it up. First off, the domeFirmware repository contains the teensy firmware (in C), as well as Python and C++ versions of the host software, which takes in a UDP stream of frame data, parallelizes it into segments of eight, and transmits one segment of eight to each of the five microcontrollers.
Secondly, the domeTransmitter software (written in the Processing language) contains all of the "business logic;" all of the pretty, dancing, moving, blinking algorithms that drive the display. The transmitter outputs a UDP stream that drives the host software, described above. The UDP stream from the transmitter also drives...
The BlinkyDomeSimulator. The simulator provides a fully-interactive, 3D view of the dome, perfect for testing new blinky algorithms from the comfort of your own laptop.
Special thanks to paulstoffregen on the adafruit forums for his code contribution that formed the basis of our firmware. Additional thanks to Trammell Hudson for his assistance getting the first iterations of the firmware working, and for not getting mad at us for destroying his LED strip.
Care and Feeding
- 35 x "A" pipes approximately 5' long. These have a gray paint splotch.
- 30 x "B" pipes approximately 4 1/2' long. These have a blue paint splotch.
Each pipe has the ends flattened and a hole drilled through. Pipes are connected via a bolt, two watchers and a nut. When fitting several pipes together connections can be a little tricky, angle the pipes such that the holes line up with the bolt for easier fitting.
- Start by laying out 10 "A" gray pipes in a circle with each end touching the next pipe.
- Connect the pipes with a bolt and two washers (one on each side). Put a nut on the end, but leave it loose.
- Use 5 "B" blue pipes to make a five-point star, connecting them all in the center.
- Connect two "B" pipes of each star to each end of every other "A" pipe in the circle. Do this by taking off the loose nut on the "A" pipes, adding the "B" pipe and then resetting the nut. Make sure you use the outermost 2 "A" pipes in the star to connect, leaving the remaining ones on the inside of the dome. You can use the remaining "A" pipes in the five-point star as a stand.
- Create 5 inverted V shapes with "A" pipes. Connect the stars together by joining the left and right poles of each star to the top of the inverted V and the bottom of the V to each star/circle joint. Again take off the loose nut, add the pole and reattach.
- The bottom layer of the dome should now be complete, and should stand fairly well on its own. Now is a good time to consult the diagram to make sure you're on track.
- The last pole of the five point star points straight up. Use another "A" inverted V to connect to the joints to the left and right of the top of the star. You will need help, and likely someone to help here. As you complete each star, connect them together with an "A" between the top of each star. As you work your way around the dome will become more stable.
- Finish the very top with a last five-point "B" star
- Ratchet down each connection such that the nut is snug but not overly tight. If you hear the pipe crack or strain under the pressure you've tightened too much!
- Take a break for the next step!
Adding the power and LED strips
- Run the 5 power cables and the CAT5 cable up the side of the dome and zip tie with enough slack to reach the top of each 5 point star.
- There are 5 LED strip guides laser cut out of wood. These ziptie to the top five point star such that they bridge the space between each point in the star.
- Carefully lay out each LED strip such that there are 8 LEDs past the laser cut bridge. You will see a point at which the strip can be cut and soldered (4 metal solder points). Align this with the bridge and loosely zip tie down where the slots are available. All the strips should lie on the outside of the dome with the LEDs pointing in.
- Align the LED strips such that they are spread evenly on each side of the dome. There should be 8 strips on each horizontal pipe at the top of the dome, splitting off to 4 on each horizontal pipe in the middle of the dome.
- There will be an extra section of LEDs left on the spool. Lay the spool at the bottom inside of the dome such that it's out of the way. The curve of the dome will ensure the spool isn't damaged.
- Feed the flat connector of each block of 8 strips into a controller box, 4 on each side. Include a USB cable on the side with the microcontroller. You may want to do the USB first since it can be a bear.
- Connect the flat connectors to each complement connect on the inside of the box being careful to keep the order of the strips intact with the order of the connectors on the board inside the box.
- You should be able to *carefully* hang the box off the wooden bridge. Alternately you can set the box on the top of the dome itself.
- Connect each USB cable to the USB hub and rest the hub on the top of the dome.
- Connect the USB hub to the USB extender and the USB extender to the CAT5 cable.
- Connect one power cable to the outside of each controller box. Connect by pushing the power connector into the jack on the side of the box and twist until you hear a click.
- With all the cables and strips connected you are now ready to test.
- Download and build the c++_host within the domeFirmware project.
- Download the domeTransmitter project.
- How to run the c++ host?
- Disconnect the strips from each controller box and pull the controller box out of the structure.
- Cut the zipties for the strips and carefully roll back onto the spools
- Cut the zipties for the wooden bridge and pack
- Cut the zipties for the power cables and CAT5 and spool
- Deconstruct the dome from the top down being careful to save the bolts, washers and nuts
- Lash the pipes together using ratchet straps for transport
- Put the strips, controller boxes and cables into a plastic tub for transport