
You can use either the USB connector or an FTDI cable so that it acts just like an Arduino Uno for programming, for max flexibility. Then, since we had a little space left in the bootloader area of the chip, we added Optiboot support. This bootloader looks just like a USBtinyISP - and since it uses the unique Adafruit VID/PID we own and that we added to avrdude so long ago, it works with only very minimal configuraton tweaks. So instead, Frank (our awesome engineer with mad USB chops) created a USB bootloader that combines the elegance of V-USB with the well-supported and tested nature of the USBtinyISP. One of the challenges with the Pro Trinket is that we wanted to have a built-in USB bootloader, but the ATmega328 doesn't have built-in USB hardware!



A bootloader is a tiny piece of software residing on the microcontroller that that helps load your own code into the remaining space.
