LED Cube/Building From Source

Aus Wiki CCC Göttingen
Wechseln zu: Navigation, Suche

Getting the Sources

git clone http://www.0x53a.de/git/cube-3


  • README for a description of the contents of this repository and a link to this site
  • LICENSE for licensing information

Building the Bootloader

(Notice: You do not need this step if you have a preflashed cube, only if you want to modify the bootloader. However, the requirements are about the same as for the other firmwares.)


You will need

  • gmake
  • avr-libc, avr-binutils, avr-gcc (see also AVR_Toolchain)
  • avrdude
  • an ISP- or JTAG-Programmer like AVR ISP mkII, usbasp, or any (avrdude-compatible, if you want to use the Makefile) other.


The bootloader is in the directory bootloader/firmware/. It can be built with

cd cube-3/bootloader/firmware/


To flash it, modify the bootloader/firmware/Makefile:

AVRDUDE = avrdude -P usb -c avrispmkii -p m8 -p $(DEVICE)

to match your programmer. This is the line for AVR ISP mkII. If you have a programmer, you probably know how to do this, so I won't get into it.

Then apply fuse settings and flash:

make fuse
make flash

Building the Bootloader Application

The Windows app is already prebuilt in the git repository. The bootloader is bootloadHID, so please inform yourself about how to do this for Windows.

For Linux, the command line application is included in bootloader/commandline/


You will need libusb with headers.


cd cube-3/bootloader/commandline

Building the Standalone Firmware

The standalone firmware simply takes a sprite file and plays it repeatedly. It is included in src-standalone. The requirements are the same as for the Bootloader firmware.


cd cube-3/src-standalone


There are now several ways fo flash this device. Two are:

Flashing via ISP

First is using an ISP programmer. In this case you have to adapt the file src-standalone/programmer.mk:

PROGRAMMER = -c avrispmkII -P usb

These are the avrdude parameters you have to adapt to your ISP programmer.

Flashing via Bootloader

After building the bootloader commandline and the program you can immediately flash the code onto the microcontroller (if you still are in cube-3/src-standalone and if you set the flashing jumper correctly):

../bootloader/commandline/bootloadHID build/out.hex

After setting the jumper to the other position (or removing it), the LED Cube should start blinking with your new program.