Introduction: Companion Cube

This is the result of a few weeks of work, a laser cutter, some wood carving and of course the ArduinoUNO

During this time I managed to make a functional Companion Cube as per the Portal franchise. When the Cube is picked up it will light up and when starting it up it will nicely play "Still Alive" the ending song for the first Portal game.

Step 1: Materials, Machines and Tools

This is a list of everything I used to create the cube:


4 red LEDs

1 light detector that came with the ArduinoUNO kit

Cables (make sure you at least have two different colours as you might get confused otherwise)

Slightly transparent paper

Zinc plated steel wires (bendable but strong enough to hold the LEDs inside the cube when it's picked up)



MDF wooden plank (4mm)



Laser Cutter (to create the pattern in the wooden plates)

Saw (to cut the sides of the cube)




Step 2: Laser Template

I had to make a blueprint for the laser printer in which i could identify the parts that had to be engraved and the ones that had to be cut. Once the document was uploaded into the laser's program you select the outer parts to be engraved and check that the speed and power is set to the right amount. Same goes for the heart in the middle, which has to be cut rather than engraved.

Step 3: Making the Companion Cube

I used the saw to cut the MDF wooden plank into six squares of 15cm each. Adding to that I cut the sides at 45 degrees so they would more easily fit.

Once that was done I used the laser cutter to print the patterns onto the sides of the cube. Each side took about 20 minutes to cut.

After the sides were done I used superglue to glue them together. Make sure that you leave one side open where you can work from.

Now that I had the size of the cube I started to make a base in which to place the LED lights, for that I used the steel wires.

I used the base I made to be able to work outside of the cube when connecting the wires to the LEDs. It had to be a parallel connection so the power doesn't all go to waste with only one LED light.

I connected all the Anode and all the Cathode to the power source and the ground respectively.

Also I added a buzzer in order to create the music for the startup of the Cube. Note that the Cube's LED function will not be active before the song has ended due to the code.

The buzzer is very easy to install, just connect one wire to one of the pins and the other into the ground. Make sure to revise the code to suit the pins you used.

Once everything is in place inside the cube you can use tape to tighten the holds and the slightly transparent paper to diffuse the light from the LEDs.

Step 4: The Circuit and Code

I connected the Light Sensor to pin A0 and the ground. The LED's are connected to pin 11 and the ground.

The buzzer is not shown in the picture, however it is very simple to add, just add a cable from pin 10 to one of the extend of the buzzer and the other end to the ground as well.


Open the Companion cube file and add a tab with the pitches.h in it. This tab tells the buzzer what notes to play.