Here are a couple of links
Adafruit Usbtinyisp product page https://www.adafruit.com/products/46
The detail page
This is documentation for a simple open-source USB AVR programmer and SPI interface. It is low cost, easy to make, works great with avrdude, is AVRStudio-compatible and tested under Windows, Linux and MacOS X. Perfect for students and beginners, or as a backup programmer.
The project is based off of the USBtiny code & design. The main improvements are: adjusting the code to allow it to act as a SpokePOV interface, adding lowlevel bitbang commands, and addition of a "USB good" LED. Other changes are new VID/PID (to make it official), removing some of the commands, and moving around the pins a bit.
You can build this design using the schematic and firmware, or buy a kit from the Adafruit webshop. Having a full kit available solves the "chicken & egg" problem of purchasing or building a USB programmer that then needs a programmer of some sort to 'kick start'. (See USBasp, AVRdoper, USBprog)
All the firmware code is distributed under the GPL, the hardware design layout files are CC 2.5 Attrib./Share-alike
Comments and suggestions should be posted to the forum
DRIVERS ARE HERE
For windows, we use a modified LibUSB driver. You can download it here:
Windows USBtinyISP driver built with libusb v1.12.
The windows binaries below are built for this driver. If you want to use the latest WinAVR use this!
If you are using 64 bit windows Vista or 7 (or you're just plain having annoying problems with the driver above), try the Windows 7 x64 bit driver. You'll still need to click the button taht says "install anyways" when it complains its not verified.
For historic reasons, we have a:
Windows USBtinyISP driver built with libusb v1.10. Use this for older WinAVR's. Dont use this unless you have to interface with old versions of software that are bound to libusb v1.1
The DRIVERS page as above contains first, the 32bit Windows driver and next, the 64bit driver version(use this one for Win7)
Please note that some virus programs like Zonealarm WILL and DO interfere with driver function. As will some other programs which cause memory conflicts.
If you are serious about Arduino programming then I suggest to use a simple PC/laptop configuration WITHOUT virus programs.
Now here is a tip with virus programs, like Zonealarm - you can shutdown the program but part of it will stay resident - Resident Evil!!
It can be shutdown but after you shutdown Zonealarm, you have 5 seconds to delete the annoying exe file which is responsible for the corruption - Zonealarm know about this and are working on a fix!
In short, use a simply configured PC with XP or Win7. Vista - well don't bother!
USING THE USBTINY
Clean up a PC or use a new one..(see above)
Connect the Usbtiny
Now,Load the usbtiny driver
...wait for a success message..
When it is ready you will see a blue led lit near JP1 and another blue led at D-, plus a red led lit at Stat1
In program mode more leds are lit, plus the Arduino Pin13 led.
Uploading a program(sketch) takes about a minute on my Win7 laptop (40secs on my XP laptop)
Burning Bootloader takes about 2 minutes on the Win7 machine followed by a Avrdude success message - I prefer to use Shift/Upload as I can see the hex code stream then a Flash Memory Verify followed by Avrdude Done Thankyou! -
Now you know it has worked!!
Arduino Connection- remember the 6pin connector runs across the pcb, NOT toward the closest edge (bad design Arduino!! - only Pin 1 is numbered(trifocals!!))
ICSP Pin config
Run lead <---- from left edge of ICSP pin stack.
I suggest you upload a program then follow by burning bootloader - this tests the functionality of the connection.
Once you burn bootloader, you now have no program, so upload it using either usbtiny or bootloader.
Remember if you are using IDE ver23 or earlier you will need to configure the Preferences.txt file - as - upload using = usbtiny or upload using = bootloader
BUT - make sure the IDE is not running while this is done and file saved else it won't take.
Now open the IDE and off you go.
The advantage of using an external programmer like usbtiny is that you don't need a port for each Arduino chip you want to program - and there are only so many ports.