Digispark programming - how is it possible?

Hi! I just found this project at Kickstarter,
http://www.kickstarter.com/projects/digistump/digispark-the-tiny-arduino-enabled-usb-dev-board

and I think i'ts a great idea for people who don't need that many IO pins, and are new to arduinos.
It looks like the Digispark has an Attiny85 on board (saw it on the picture, the description don't say anything about that), but has no serial programer (FTDI, 8u2/16u2). How is it possible to program this chip without an external serial programmer?

The page also says that the bootloader takes about 2k of the memory. Isn't that a bit big for such a chip? an atmega8 bootloader is about 400 bytes.

does that means you can program other AVR's (with arduino/(custom?) bootloader without an FTDI/8u2?

EDIT:
Atmel also says that the attiny85 don't support USB interface :relaxed:

The custom bootloader probably has the V-USB software USB 1.1 implementation. You can get a similar product for $10 here:

SparkFun AVR Stick - DEV-09147 - SparkFun Electronics?

does anyone know where to find this bootloader?
I think that may be handy to have.
It seems like this bootloader is made for attiny84/85, but does it exist for atmega8/168/328?

Google "V-USB", its the first result

hansibull:
does anyone know where to find this bootloader?

Originally for ATmega8. Fits in 2K. AVRUSBBoot - USB bootloader for Atmel AVR controllers - fischl.de

I ported the USBaspLoader boot loader to work with the ATtiny85, my project is here:
http://embedded-creations.com/projects/attiny85-usb-bootloader-overview/

I'm not sure if Digispark is using my boot loader code or not. My bootloader takes closer to 3k and isn't directly compatible with the Arduino IDE as it needs a custom build of AVRDUDE. There's some architecture details of the ATtiny that prevent it from (easily) fitting in <2k and being directly compatible with AVRDUDE. I'm interested to see what Digispark is using, I guess we'll find out in the next month or so as the project is released as open source.

  • Louis

Here are the complete tutorials on DigiSpark Programming

"VUSB" is a software bit-banged implementation of low-speed (1.5Mbps) USB, working similar (in principle) to SoftwareSerial. I think there are a couple of different Attiny85 bootloaders based on it, but one that's well published is the version for the Adafruit Gemma GitHub - adafruit/Adafruit-Trinket-Gemma-Bootloader