Table of Contents

Details

6x6x6 Addressable RGB LED Cube

This is a new design, based on the original 6x6x6 cube which is no longer available to buy by Looking Glass (formerly L3D): https://github.com/Looking-Glass/L3D-CUBE-6X6X6Cube-Coding

Buy on Tindie

It consists of 216 5mm WS2812 addressable RGB LEDs, divided into 36 vertical sticks, each with 6 LEDs. Each stick has a 2x2 right-angle pin header (5V, GND, Data In, and Data Out). The data is routed from the Data In pin to the first (bottom) LED, which has its Data Out pin connected to the Data In pin of the next LED, etc. The last (top) LED on the stick then has its Data Out pin routed back down the stick to the Data Out pin on the header.

Instructions

Base

You will need quantity 36 of 2.54mm 2 x 2-pin Female Double Row Straight Header Socket: https://amzn.to/47t30MD

Note: You can download and 3D print the base connector soldering jig which makes the process much easier.

With the base soldering jig
  1. Do not solder the power jack connector until all of the sockets are soldered onto the base!

  2. Make sure the 2x2 header sockets are placed on the side with the square markings!

  3. Insert one row of the 2x2 header sockets into the base PCB, on the side with the square markings.

  4. Carefully and gently place the jig onto the PCB, over the header sockets. If any fall out, remove the jig and replace them into the PCB.

  5. Make sure all of the pins come through the holes in the base without getting bent. Make sure the tabs on the jig are inserted into the slots on the base PCB.

  6. Flip the jig and base PCB over and solder just one pin on each socket, making sure the PCB remains flat and flush against the jig throughout.

  7. Flip it back over, remove the jig, and ensure the header sockets are flat and flush against the PCB, and that they are straight and aligned with the square markings on the base PCB.

  8. If any are not straight, hold the socket with one hand while reheating the solder on the other. Hold it aligned in place while removing the soldering iron until the joint cools. Repeat for any other sockets that are not straight and flush.

  9. Place the jig back on, flip it over, and solder the remaining pins for this row.

  10. Repeat the above steps for each row of headers.

Without the base soldering jig
  1. Insert just one socket pin-first into the PCB at a time (the side with the square white outlines).

  2. Hold the socket while turning the base over and soldering one pin.

  3. Turn it back over and make sure the socket is straight, lined up with the white square outline.

  4. If it’s not straight, hold the socket with one hand while reheating the solder on the other. Hold it aligned in place while removing the soldering iron until the joint cools.

  5. Repeat the above steps fore each of the header sockets.

Either way, you can now solder the power jack connector and JST-XH 3-Pin connector (if desired) onto the base.

The power jack connector goes on the top of the base, the same side as the sockets.

The JST-XH 3-Pin connector goes on the bottom of the base, the opposite side as the sockets, on the “DIN” pins.

LED Sticks

  1. Your LED strips may come all connected in one PCB piece. If so, you’ll need to carefully and gently separate them along the scored lines.

  2. I use a pair of needle-nose pliers with sections of heat-shrink tubing over the ends to protect the PCBs. Grip on one side of the score line with your fingers and the other with the padded pliers.

  3. Very gently and carefully, repeatedly flex the PCB downwards (away from the LED side). Repeat this on the opposite end of the same strip.

  4. Repeat this until the strip starts to separate. Repeat on each strip until all 36 are separated.

You will need quantity 36 of 2.54mm 2 x 20-pin Male Double Row Right Angle Header Strip : https://amzn.to/4e0p4Rp

These can be difficult to cut into sections of two (2 x 2) pins. I use thin, sharp side flush cutters, and “sacrifice” one row in between each, but your results may vary.

Alternatively, you can find them already cut into 2x2 sections for a little more: https://www.digikey.com/en/products/detail/adam-tech/PH2RA-04-UA/9830448

  1. Insert one 2x2 section of the right angle header pins into each of the strip PCBs, on the side with the square white outlines.

  2. Insert one 2x2 section of the right angle header pins into each of the strip PCBs, on the side with the square white outlines.

  3. Make sure the pins are fully inserted all the way through the strip PCBs.

  4. Flip the strip over and solder only one pin. Flip it back over and make sure the pins are straight (aligned with the strip) and fully-inserted. If not, heat one pin with the soldering iron while carefully (the pins will get HOT!) align and insert, holding while removing the soldering iron and allowing the joint to cool. Solder the other pins on this strip.

  5. Before repeating the above steps for the rest of the strips, it’s a good idea to test them as you go.

  6. Connect your LED controller. I use and highly recommend the brilliant PixelBlaze by ElectroMage. Connect 5V, Data In, and GND. Run a test pattern. Insert one stick into the socket nearest the Data In (DIN) pin and make sure it fully lights up.

  7. Repeat the above steps to solder the pins and test the strip.

PixelBlaze & Sensor Expansion Assembly

Pixelblaze output:

  1. Place the 4 pin JST-XH connector into the holes on the left side of the Pixelblaze (GND, DAT, CLK, and 5V).
  2. Flip it over and solder all four pins.

Pixelblaze expansion pins:

  1. Place the 7 pin header that came with the Pixelblaze Sensor Expansion in the holes in the bottom right corner of the Pixelblaze, not the expansion board. Note that the GND, RST, 3v3, RX, TX, IO0, and IO25 should have pins, and that IO26 will not have a pin.
  2. Ensure the 7 pin header is inserted all the way down, and that there are pins in the GND, 3v3, and RX holes on the Pixelblaze.
  3. Flip the Pixelblaze over and solder at least the GND, 3v3, and RX pins.

Pixelblaze Sensor Expansion Board:

  1. With the Pixelblaze right-side up, with the pins pointing upwards, flip the Sensor Expansion Board over so the audio input jack is on the bottom, pointing down.
  2. Place the sensor board onto the Pixelblaze pins.
  3. Ensure that the GND, 3v3, and RX pins on the Pixelblaze are lined up and inserted into the GND, 3v3, and TX pins on the Sensor Expansion board. Note that the TX pin on the Sensor Expansion board is connected to the RX pin on the Pixelblaze
  4. The top of the audio input jack should be flush with, and not extend beyond the bottom of the Pixelblaze PCB.
  5. Double-check the pins are aligned and match up one more time.
  6. Solder at least the GND, 3v3, and TX pins on the Sensor Expansion board.

Acrylic Case

Parts

Files for laser cutting

Assembly Instructions

Your parts may look slightly different than the pictures below. For example, if you didn’t order the PixelBlaze controller.

  1. Lay the back and one of the frosted acrylic side pieces side-by-side as shown. Please carefully note the orientation and layout of the parts:

  2. Insert the tabs of one piece into the slots on the other:

  3. Repeat for the other side pieces:

  4. Carefully flip the whole assembly over so the “feet” are pointint up:

  5. Insert four of the corner pieces into the slots closest to the “feet”:

  6. Very carefully flip the LED cube assembly over. Make sure the corner pieces stay in place. Align the power connector (if present) on the base PCB with the hole in the back panel (if present) and insert the LED cube assembly into the enclosure. The base PCB should come to rest flat on top of the corner piece tabs inside the enclosure:

  7. Insert four of the M3 x 15 + 6mm standoffs into the corner holes of the PCB. Very loosely hand-tighten them using a 5mm nut driver. We will tighten them later after the entire enclosure is assembled:

  8. Very carefully flip the whole assembly over and insert the remaining four corner pieces into the slots:

  9. Place the clear acrylic top frame onto the corner piece tabs:

  10. Place the clear acrylic LED guide piece with the holes and slots on top of the rail. Make sure the tops of the LED sticks are roughly aligned with the slots. Don’t worry if they don’t align perfectly yet, we’ll adjust them later:

  11. Place one of the clear acrylic LED guide pieces with slots on top of the rail, in between the rows of LEDs:

  12. Place another of the clear acrylic LED guide pieces with slots on top of the rail, in between the rows of LEDs:

  13. Slide the guide towards the LEDs, and adjust the top tips of the LED sticks into the slots as you go:

  14. Continue placing each of the clear acrylic LED guide pieces with slots on top of the rail, in between the rows of LEDs, and adjusting the tops of the LED sticks into the slots:

  15. Double-check and make sure each of the tips of LED sticks is held inside one of the slots, adjusting as needed:

  16. Place the frosted acrylic top panel on top:

  17. Insert four M3 x 12mm screws into the corner holes. Make sure they go through the top panel, LED guides, and top rail, and into the holes in the corner pieces. Make sure each of the corner pieces is fully inserted. Loosely hand tighten them:

  18. Lightly hand tighten the screws on top and the standoffs on the bottom. DO NOT over-tighten them, as this can crack the acrylic corner pieces. It is not important for them to be tight, just enough to hold the enclosure together. It does not matter if any of the screws won’t fully tighten, as long as they stay in place:

  19. If you purchased the PixelBlaze controller, your kit will come with a bottom mount panel. Align the parts as shown here:

  20. Attach the M2 standoffs to the PixelBlaze using the short M2 screws:

  21. Align the standoffs with the holes in the bottom plate and attach using the slightly longer M2 screws:

  22. Flip the LED cube over and connect the cable between the PixelBlaze and the base PCB. The cable can only be inserted one way. The base PCB side has three connectors, the PixelBlaze has four:

  23. Flip the bottom panel over. Turn it a few times to wind the cable up a bit. Place the bottom panel on the bottom of the cube, aligning the holes in the back panel with the USB port and line in jack on the PixelBlaze:

  24. Ensure the wires are not pinched and do not block the PixelBlaze button inside the hole in the bottom panel:

  25. Attach the bottom panel to the cube with the short M3 screws:

PixelBlaze Instructions

  1. Connect a 5V power adapter or USB Micro cable.

Your cube should automatically light up. Press the button to change to a different pattern.

For more control, you can connect to it via wi-fi.

  1. If not already connected to a wi-fi network, your PixelBlaze will create its own network named Pixelblaze_XXXXXXX, where XXXXX is a code unique to your PixelBlaze. You should see it in the list of wi-fi networks available on a computer or mobile device:

Note: If you can’t find the PixelBlaze’s wi-fi network, it may not be in setup mode.

To put it in to setup mode:

  1. Press and hold the button for 5 seconds.
  2. If the status LED on the back flashes 5 times, it’s now in setup mode.
  3. If the status LED on the back flashes once, press and hold the button for 5 more seconds. The status LED on the back should now flash 5 times,
  4. It should now be in setup mode and its wi-fi network should now appear in the list on your computer or mobile device.
  5. Connect to this network from a computer or mobile device.
  6. You should see a pop-up and/or automatically get redirected to configure the PixelBlaze’s wi-fi settings. If not, open a browser and go to http://192.168.4.1

In WiFi Settings you an configure your PixelBlaze to run in one of two modes:

Client Mode - Connect to a network

In this mode your PixelBlaze can connect to an existing wi-fi network. Use this mode while at home or another location with an existing wi-fi network that you can connect to.

  1. Choose the wi-fi network to which you’d like to connect, or enter the SSID (Name) if you know it, it’s hidden, etc.

  2. Enter the password for the wi-fi network.
  3. Leave Enable Discovery Service enabled to use the Pixelblaze Discovery Service, which makes it much easier to find your Pixelblaze on your wi-fi network later.
  4. Click Submit to connect.

  5. Once it has connected, it will have an IP address on your wi-fi network.
  6. The computer or mobile device you’re using should automatically re-connect to its previous network (your home wi-fi, mobile data, etc).
  7. If you left it enabled, use the Pixelblaze Discovery Service to find your PixelBlaze.
  8. If you’re unable to find your PixelBlaze’s IP address, you can use these instructions for finding a Raspberry Pi.

AP Mode - Create a stand-alone network

In this mode your PixelBlaze will create its own wi-fi network that you can connect to from another device. Use this mode when outdoors or away from other wi-fi networks.

If you’ve already chosen Client Mode and followed the instructions above, skip down to Next Steps

  1. Enter an SSID (Name). This is the name of the wi-fi network that you will connect to from other devices to configure your PixelBlaze.
  2. Enter a password at least 8 characters long. Passwords with fewer than 8 characters will not work.
  3. Now you should be able to use a computer or mobile device to connect to the wi-fi network with the SSID (name) you entered in step one above.
  4. Once connected, open a browser and enter the address http://192.168.4.1

Congratulations! You should now be able to connect to and configure your PixelBlaze!

Settings

You can download and restore this backup file in the PixelBlaze web UI: LED Cube 6x6x6.pbb

Alternatively, here are the important PixelBlaze settings:

  • LED Type: WS2812 / SK6812 / NeoPixel
  • Pixels: 216
  • Data Speed: 2 MHz
  • Color Order: GRB

Map

[
  [0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 0, 3], [0, 0, 4], [0, 0, 5],
  [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 0, 3], [1, 0, 4], [1, 0, 5], 
  [2, 0, 0], [2, 0, 1], [2, 0, 2], [2, 0, 3], [2, 0, 4], [2, 0, 5], 
  [3, 0, 0], [3, 0, 1], [3, 0, 2], [3, 0, 3], [3, 0, 4], [3, 0, 5],
  [4, 0, 0], [4, 0, 1], [4, 0, 2], [4, 0, 3], [4, 0, 4], [4, 0, 5],
  [5, 0, 0], [5, 0, 1], [5, 0, 2], [5, 0, 3], [5, 0, 4], [5, 0, 5],

  [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 1, 5],
  [1, 1, 0], [1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 1, 4], [1, 1, 5],
  [2, 1, 0], [2, 1, 1], [2, 1, 2], [2, 1, 3], [2, 1, 4], [2, 1, 5],
  [3, 1, 0], [3, 1, 1], [3, 1, 2], [3, 1, 3], [3, 1, 4], [3, 1, 5],
  [4, 1, 0], [4, 1, 1], [4, 1, 2], [4, 1, 3], [4, 1, 4], [4, 1, 5],
  [5, 1, 0], [5, 1, 1], [5, 1, 2], [5, 1, 3], [5, 1, 4], [5, 1, 5],

  [0, 2, 0], [0, 2, 1], [0, 2, 2], [0, 2, 3], [0, 2, 4], [0, 2, 5],
  [1, 2, 0], [1, 2, 1], [1, 2, 2], [1, 2, 3], [1, 2, 4], [1, 2, 5],
  [2, 2, 0], [2, 2, 1], [2, 2, 2], [2, 2, 3], [2, 2, 4], [2, 2, 5],
  [3, 2, 0], [3, 2, 1], [3, 2, 2], [3, 2, 3], [3, 2, 4], [3, 2, 5],
  [4, 2, 0], [4, 2, 1], [4, 2, 2], [4, 2, 3], [4, 2, 4], [4, 2, 5],
  [5, 2, 0], [5, 2, 1], [5, 2, 2], [5, 2, 3], [5, 2, 4], [5, 2, 5],

  [0, 3, 0], [0, 3, 1], [0, 3, 2], [0, 3, 3], [0, 3, 4], [0, 3, 5],
  [1, 3, 0], [1, 3, 1], [1, 3, 2], [1, 3, 3], [1, 3, 4], [1, 3, 5],
  [2, 3, 0], [2, 3, 1], [2, 3, 2], [2, 3, 3], [2, 3, 4], [2, 3, 5],
  [3, 3, 0], [3, 3, 1], [3, 3, 2], [3, 3, 3], [3, 3, 4], [3, 3, 5],
  [4, 3, 0], [4, 3, 1], [4, 3, 2], [4, 3, 3], [4, 3, 4], [4, 3, 5],
  [5, 3, 0], [5, 3, 1], [5, 3, 2], [5, 3, 3], [5, 3, 4], [5, 3, 5],

  [0, 4, 0], [0, 4, 1], [0, 4, 2], [0, 4, 3], [0, 4, 4], [0, 4, 5], 
  [1, 4, 0], [1, 4, 1], [1, 4, 2], [1, 4, 3], [1, 4, 4], [1, 4, 5], 
  [2, 4, 0], [2, 4, 1], [2, 4, 2], [2, 4, 3], [2, 4, 4], [2, 4, 5], 
  [3, 4, 0], [3, 4, 1], [3, 4, 2], [3, 4, 3], [3, 4, 4], [3, 4, 5], 
  [4, 4, 0], [4, 4, 1], [4, 4, 2], [4, 4, 3], [4, 4, 4], [4, 4, 5], 
  [5, 4, 0], [5, 4, 1], [5, 4, 2], [5, 4, 3], [5, 4, 4], [5, 4, 5], 

  [0, 5, 0], [0, 5, 1], [0, 5, 2], [0, 5, 3], [0, 5, 4], [0, 5, 5], 
  [1, 5, 0], [1, 5, 1], [1, 5, 2], [1, 5, 3], [1, 5, 4], [1, 5, 5], 
  [2, 5, 0], [2, 5, 1], [2, 5, 2], [2, 5, 3], [2, 5, 4], [2, 5, 5], 
  [3, 5, 0], [3, 5, 1], [3, 5, 2], [3, 5, 3], [3, 5, 4], [3, 5, 5], 
  [4, 5, 0], [4, 5, 1], [4, 5, 2], [4, 5, 3], [4, 5, 4], [4, 5, 5], 
  [5, 5, 0], [5, 5, 1], [5, 5, 2], [5, 5, 3], [5, 5, 4], [5, 5, 5]
]