Skip to content

4x4x4 3D RGB Charlie Cube by Stavanger Makerspace

by Finn Espen Gundersen on August 24th, 2014

Over the last two Sundays, Stavanger Makerspace hosted meetups to build 4x4x4 RBG LED Arduino-controlled “charlie cubes”. A charlie cube, originally designed by Asher Glick and Kevin Baker, uses a minimum of components and can be made very cheap by using just an Arduino nano.

Charlie-cube projects abound on the internet, but the amount of soldering points suspended only by thin wires often leads to misaligned results. Our intrepid member Kjetil Eik, known for impressive 3D prints on his sturdy Felix, thought we could do better. He designed and printed tools and jigs to straighten out what would otherwise have been a crooked crowd. He also designed a PCB to avoid the messy breadboard.

Download the 3D print gcode files for the LED and

Download the the PCB layout from Fritzing and have it delivered by dirtypcbs.



The tools are, from top left and clockwise:

  • Hats for the top LEDs, to be used during soldering to perfectly align the top LEDs in a grid, as well as keep them together during transport.
  • Base platform for the PCB and Arduino. The arduino and all solder points are hidden underneath the PCB. It has just one small hole in the side for the USB cable.
  • PCB designed with the program Fritzing.
  • Jig to hold an RGB LED in the center hole while the leads are bent to match the grooves on the star’s arms.
  • Tool to help remove stuck LEDs from the soldering jig
  • Soldering jig to hold 4 LEDs and two wires while soldering. This is used twice for each “tower” to solder wires pairwise. This kind of jig is essential in a charlie cube project.

Apart from 3D printed tools and the PCB, the parts needed are:

  • 64 RGB LEDs
  • 1 Arduino Nano v3 (+ USB cable)
  • 2 Single row angled SMT male header w/spacing 2.54mm (1/10″)
  • 7m Steel wire




LEDs are an essential part of any hobby electronics project. This project has plenty. Full colour!


The star-shaped jig for bending LEDs improves efficiency and alignment. An interesting observation is that the LED can be inserted in any orientation. The only unbendable rule for lead bending is the order: up, left, right, down. By the 64th LED, you have reached an amazing speed.

Next comes wires.


Ordinary fence wire won’t line anyone’s pockets, but works perfectly. It needs a bit of straightening out before it can be trusted with the task we have in mind, though. The process is simple: pull firmly, without yanking, and watch it stretch. Best done in pairs.


Cut to measure. Length is not too important, just keep it over 10cm.


Three people made about 700 of these. We got the hang of it after about 100.

In addition to LED bending and wire stretching, we had USB cables, Arduinos and 3D-printed jigs for 10 people.



4 LEDs and two wires goes into the soldering jig. The topmost LED can be put in at any orientation, but each LED downwards must then be rotated 90 degrees clockwise. Bring out the old soldering iron and link the connections before the heat makes the wire dig itself into the plastic jig (according to our jig maker, this never happens to him).


Then, use the removal tool, turn the LEDs 180 degrees and repeat for the other leads.



It helps to have the PCB rigged with the Arduino and 4 temporary connectors, to confirm the non-presence of dud soldering joints.


When happy, clip the wings.


The 16 towers with a total of 256 soldering joints is a great way to improve soldering skills for novices. For everyone else, it is a great way to test one’s patience.

Before assembly, solder the SMT header to the PCB. This is where the Arduino Nano will go. The reason for using surface mount headers is to avoid visible solder joints on the top.

To assemble, put the PCB in the base and stick all 16 towers in it without soldering. Take care to ensure that all towers are oriented the same way by matching the orientation of the topmost LED. Put the hat on top and turn it all upside down. It is now possible to adjust the height/level of the PCB and make sure it is completely flat. Also make sure that all towers are fully extended into the hats and not suspended in the air.

Then solder the last 64 joints and hope for the best.


As a last step, cut the protruding wires, and.. Voila!

I can’t wait to make som impressive sequences for this, watch this space for the obligatory scroll text program next.

From → Electronics, Hardware

  1. Gary permalink

    Is there a gcode file for the 4 LED soldering jig? Also are there gcode files for just one of each jig? At the moment all the gcode files print multiple copies of each jig. Or perhaps the STL files or something similar. Would really be helpful.

  2. Gary permalink

    Just noticed the 4 LED soldering jig in file 4. But still multiple copies.

  3. Gary permalink

    Never mind. I made my own .scad files of each part and put them on Thingiverse. Maybe it will help someone.

  4. Gary permalink

    The amber LED wired to pin D13 on the Arduino Nano causes leakage of voltage to other LEDs. My hack to fix it was to bend pin D13 on the Nano so it doesn’t go in the socket hole, solder a wire from A5 pad to D13 pad (no longer connected to pin D13) and changed mappings.h definition for P12B to 0x00 and P12C to 0x20 (effectively replacing D13 with A5).

  5. Kjetilei permalink

    @Gary: Thanks for the info regarding D13 and voltage leakage and how you fixed it!

    I’m sorry that we didn’t publish the original Sketchup files/STLs (I was too tired when I sent the files to Finn and sent the gcode ones instead by mistake). But great that you made SCAD versions and published them 🙂

    Where did you order your PCBs? Please post photos/videos “somewhere” when you are finished. It would be highly appreciated.

  6. mike permalink

    hello, excuse me for being ignorant, but do i use common anode or common cathode LEDs? thanks!

Trackbacks & Pingbacks

  1. The Charlie Cube | Futuredraht

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS