I’m having some fun playing around with the caterina bootloader and made a few changes specifically for Arduboy.
Instead of breating an unimplemented LED the RGB LED breathes alternately read, green, blue. Holding down the A or B button will keep the Arduboy in bootloader mode too.
I’ve made 3 versions with different default timeouts 5 seconds, 7.5 seconds and 10 seconds. Since zip files can’t be uploaded here,
here’s an external link
Latest info will be put here
You can download the latest Cathy3K bootloader from here
High fuses must be set to 0xD2 for Cathy3K bootloader
don’t want to worry about fusesettings? then flash the bootloader using the Arduino IDE with the Homemade package Installed
A demonstration of using the new Arduboy specific display, button and LED features
Using the custom bootloader requires a change of fuse settings. Burning fuses without knowing what you are doing may brick your Arduboy or Arduino board.
The bootloader is a serial device using a subset of the AVR109 protocol.
Standard Caterina supported AVR109 commands:
(these commands are used when uploading using the Arduino IDE)
'A' set current address 'a' get auto address increment support 'B' 0x00 0x80 'F' write block to flash page (auto erases page) 'E' Exit bootloader (after 500msec) 'g' MSB LSB 'F' read block of flash 'L' leave programming mode 'P' enter programming mode 'p' get programmer type 'S' get software ID string 's' read avr signature 'T' byte select device 't' get supported device types list 'V' get software version 0x1B escape
(following commands are supported but not used when uploading with the Arduino IDE)
'B' MSB LSB 'E' write block to EEPROM 'C' byte Write high byte to page buffer 'c' byte Write low byte to page buffer 'D' byte write EEPROM byte 'd' Read EEPROM byte 'e' erase chip (erases application flash area only) 'F' Get low fuse bits 'g' MSB LSB 'E' read EEPROM 'm' Flash pagebuffer 'N' Get high fuse bits 'R' Read flash word 'r' Get lock bits 'Q' Get extended fuse bits
Cathy 3K specific Arduboy commands:
'B' MSB LSB 'C' write block to flash cart (Cathy3K v1.3) 'B' MSB LSB 'D' write block to display 'g' MSB LSB 'C' read block from flash cart (Cathy3K v1.3) 'j' get flash cart JEDEC ID (Cathy3K v1.3) 'v' get button states (AVR109 hardware version command) 'x' set LEDs