+Or via an already existing MCU, flashed with the USBasp Programmer:
+
+--> avrdude -p m8 -c usbasp -e -U flash:w:bootloaderfirmware.hex <--
+
+
+If you already have an existing (and spminterface supporting) USBaspLoader
+flashed and you just want to update the loader to new features/version,
+you can use its integrated update-feature by flashing the update-firmware.
+After executing it at least one time, it will replace the old loader with
+the new one contained within the update. Then you can start flashing other
+firmwares, again...
+
+
+Since the atmega8 (used as default) is 5V, the recommended USB-Schematics
+should use zeners. (for more information see the VUSB designrecommendation
+with the two 1N4729 zener diodes as level limiter...)
+Because it is most unlikely to use the atmega8 as analogous comperator
+(there are much more cheap ICs for this), it is recommended to use those
+PINs for USB-Interface (this is the default, but it can be changed):
+
+USBD+ (green) --> PIN4 (PD2)
+USBD- (white) --> PIN12 (PD6, AIN0)
+
+BUTTON SWITCH --> PIN13 (PD7, AIN1)
+
+The bootloader bootup logic has changed a little bit, compared to the
+original JUMPER-logic within original USBaspLoader 2010-07-27.
+However most of the new logic is compatible with old JUMPER schematics:
+
+When RESET/PowerUP while BUTTON is pressed (PIN13 is low), then bootloader
+will start. Even if the BUTTON is release after this and PIN13 becomes HIGH,
+the bootloader stays active and listens to commands as long as the BUTTON
+will be pressed (and so PIN13 becomes low) again...
+
+If the BUTTON is NOT pressed at RESET/PowerUP, or pressed again while
+in bootloader, the user defined firmware is started.
+