On each Arduino-compatible chip runs a tiny program called the bootloader. The bootloader is a helper that reads your Arduino sketch over USB and burns it into the little microcontroller brain.

FLORA and GEMMA both come with bootloaders when your get them in the mail, but there are a few reasons you might want to know how to burn your own bootloader, besides the nerd cred. Maybe you’re an AVR hacker and you want to change the bootloader’s functions, or maybe you’re building your own circuit and need to flash a new blank chip. And sometimes it’s possible to corrupt your bootloader-- flashing it again can bring the board back to life.

Bootloading a standard Arduino Uno is easy-- it has an ISCP connector on board. But to connect to FLORA and GEMMA, we have to get a little more creative. Read on to learn how to bootload Adafruit's sewable microcontrollers.
You will need:
Insert the long legs of a six-pin ICSP male header into the smaller connector on the USBtinyISP.
Be sure the USBtinyISP's jumper is in place. Plug in your FLORA over USB and also connect your USBtinyISP to your computer over USB.

Connect the pins to FLORA as shown, using diagonal pressure to make good contact between the legs of the header and the ISCP pads on FLORA.


Select Adafruit Flora from the Boards menu.
Select USBtinyISP from the Programmer menu.
Hold the ICSP connector in place and click Burn Bootloader from the Tools menu. It will take a while, even longer than a minute. Sit tight and don't let go until the status reads Done burning bootloader. Congrats, you're done!
Slide a small piece of heat shrink tubing onto the red wire, then strip the end and solder to the corner pin on the socket as shown.

Slide the heat shrink over the joint and shrink with a heat gun.

Repeat with the black alligator clip at the other corner pin.
It doesn't really matter what color goes where, but for clarity and consistency you may want to do like we do.

Tin all the rest of the pins and prep the alligator clips by stripping and tinning the ends of the wires and sliding on small pieces of heat shrink tubing.

Solder on the wires and shrink the heat shrink. Double check the wires are all insulated and connected securely, then cinch them together with a zip tie.
These photos better illustrate which color wire is attached to each pin.
Power GEMMA over USB or with a battery and be sure the USBtinyISP's jumper is NOT in place.

Attach the alligator clips to GEMMA as shown:
Black wire -> GND
Red wire -> 3Vo
Blue wire -> A1/D2 (SCL/SCK)
White wire -> D0 (SDA/MOSI)
Green wire -> D1 (MISO)

Then connect the cable squid to the USBtinyISP. The plug will only fit in one direction.
Flip GEMMA over and hold the yellow clip to the reset pad on the back. Get comfortable-- you will have to hold it firmly during the flashing process, which is shorter than FLORA's since the bootloader is a smaller size.
Select Adafruit Gemma 8MHz from the Boards menu.
Select USBtinyISP from the Programmer menu.
Hold the yellow clip to the reset pin and click Burn Bootloader from the Tools menu. Don't let go until the status reads Done burning bootloader. You're done, congrats!

This guide was first published on Jul 08, 2014. It was last updated on Jul 08, 2014.