The Skull

Reprogramming The Skull

You can write your own code for The Skull and reprogram the ATtiny45 chip through a standard AVR ISP interface.

The Skull comes with a footprint for a Surface Mount ISP Header, but you will have to obtain the header and solder it yourself. Once you have the header, you can use any standard AVR programmer (e.g. PGM-09825) or even an Arduino Uno board to flash the chip.

Skull Programming Header Connections

Getting the latest firmware

You can get the latest version of The Skull's firmware from The Skull's FTP Server. The release contains pre-built HEX files as well as the source code (in the skull-firmware directory).

Reflashing the challenge firmware

You'll need:

  1. A HEX file with the compiled firmware (see below),
  2. A HEX file with the EEPROM data,
  3. AVRDUDE. It ships with the Arduino IDE, and you can also get Windows binaries here.

Use the following command to Flash the firmware to the Skull:

avrdude -pattiny45 -cusbtiny -e -U eeprom:w:skull-firmware.eep:i -U flash:w:skull-firmware.hex:i -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m -Ulock:w:0xFC:m

You may need to change the value of the "-c" parameter according to the programmer that you have. -cusbtiny works with the Pocket AVR Programmer.

Adding ATtiny45 support to the Arduino IDE

If you want to compile the firmware yourself, or come up with your own code for The Skull, you can add ATtiny45 support to your Arduino IDE.

  1. Install the ATtiny Core for Arduino by following the installation guide.
  2. Configure Arduino IDE as follows:
    • Board: ATtiny25/45/85
    • Processor: ATtiny45
    • Clock: Internal 1 MHz
  3. Select your programmer in the Tools -> Programmer menu, e.g. "USBtinyISP" for Pocket AVR Programmer.

When building your own firmware, don't forget to replace the flag placeholders with some secret flags!

Changing the clock speed

If you write your own firmware, you can speed up the clock to 8 MHz or even 16 MHz. Make sure you select Internal clock (selecting the External one will brick your Skull), and then update the Fuse bits on the Skull by going to the Tools menu and selecting Burn Bootloader.