You guys have no idea what it means to share this kind of stuff with us! This source code gave me enough ambition to finally figure out how to flash these things and I had complete success! The comments in the source really helped a lot for me to be able to modify the code a little.
How did I do it? I flashed some Qlite drivers to both NLITE and STAR using an Arduino Uno as an AVRISP using the ArduinoISP sketch. The source was compiled in Atmel Studio 6.1, and I used the newest version of avrdude (version 6.1).
I used a scratch built pin contact setup made of wood, CA glue, bare solid tinned wire, and some breadboard jumpers. The bare drivers were held in place by flipping an empty P60 pill upside down, and the contact pins were lowered onto the driver and held under spring pressure while executing the avrdude commands. Ugly, yes… but works every time with no fiddling, and cost nothing except a little time and a Arduino Uno clone that I had laying here.
Here is a link to the solid wire that I use for the contacts. It’s nothing special, except it’s stiff and solid, and not stranded wire:
http://www.radioshack.com/product/index.jsp?productId=2102500
First upload the ArduinoISP sketch to your Uno. Now your Arduino can function as an AVRISP programmer.
Here is a chart showing the connections that the arduino needs to program the Attiny13A. I also placed a 10uf capacitor between RESET and GND on the Uno. I don’t know if this is really necessary, but the ArduinoISP page says that it is necessary with the Uno. I have also tried it without the capacitor and it still works fine without it, so it is probably unnecessary.
Now, you have to set up avrdude. Download it at the avrdude website here: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.1-svn-20131205-mingw32.zip
Place the avrdude program file and config file in a new folder on your main hard drive, like C:\avrdude or D:\avrdude or replace the drive letter with whatever drive letter your hard drive is.
Now you need a file called libusb0.dll in order for avrdude to work. You can get the file here: http://dlldb.com/libusb0-dll/
Place that file in your C:\avrdude folder.
Now find the shortcut to your windows command prompt. This is located at, Start:All Programs:Accessories:Command Prompt (on Windows Vista)
Right click the Command Prompt icon, and select: Send To: Desktop (Create Shortcut)
Now, there is a command prompt shortcut on your desktop. Right click it and select “Properties”. In the box that says “Start in”, type this in: C:\avrdude
Now, when you need to use avrdude, just click your command prompt shortcut, and simply copy and paste your avrdude commands in. WARNING: When using the command prompt, CTRL+V does not work to “Paste”. You have to right click and select “Paste”.
Here’s the avrdude command I used to flash the star or NLITE firmware using the Arduino. Just replace the COM3 with whatever com port your arduino is connected to, which you can see in your windows device manager.
STAR FIRMWARE
avrdude -p t13 -P COM3 -c avrisp -b 19200 -u -Uflash:w:star.hex:a -Ulfuse:w:0x75:m -Uhfuse:w:0xFF:m
NLITE FIRMWARE
avrdude -p t13 -P COM3 -c avrisp -b 19200 -u -Uflash:w:nlite.hex:a -Ulfuse:w:0x75:m -Uhfuse:w:0xFF:m
Just a breakdown of the added avrdude commands to use the ArduinoISP programmer:
-P COM3 tells avrdude what port the ArduinoISP programmer is connected to.
-c avrisp is what an arduino ISP programmer is called.
-b 19200 specifies the serial baudrate that the arduino ISP programmer communicates at.
And all the other avrdude commands are standard for avr programming.
Just plug in your Arduino Uno usb cable, let the Arduino boot up, place the pins onto the Attiny13A, and hold it under spring pressure. Press the “reset” button on your arduino, and let the arduino reset. Now just execute the avrdude command. This is what a successful flash will look like in the command prompt: