USBtinyISP AVRISP/STK500v2 compatibility bridge
STK500 Compatibility

There's already lots of good software for programming and debugging AVRs, such as AVRStudio (the official development software from Atmel) However, AVRStudio only really supports STK500 and AVRISP programmers (the official programmers)

Since there are many times when you may want to use AVRStudio, I've written some software glue that will let you use your USBtinyISP in STK500/AVRISP compatibility mode.

Notes
Nearly all of AVRISP (STK500v2) functionality is emulated at this point

For general development, I strongly suggest using avrdude as this is a bit slower and is probably flakier.

Please note, this software is in alpha. Your reports, comments and suggestions are appreciated!
(post it in the forum)
If you send a bug report please let me know which chip you are using and what specifically is failing

Step 1. COM bridge

The AVRISP, which we will be emulating, usually connects to a PC through the serial (COM) port. The trick here is to install a COM bridge, a piece of software that makes two virtual COM ports that are hooked up to each other so when you write to one it appears on the other. The compatibility software sits on one COM port, pretending to be a AVRISP while the AVRStudio software talks on the other, thinking that its connected to a genuine programmer!

You'll only have to install this software once.

Download the free com0com bridge from sourceforge. Make sure to grab the binary, not source code, version

Save, extract and run Setup

Click Next

Important! Unclick the CNCA0<->CNCB0 checkbox!

Launch the setup command prompt

You can type in help for a list of commands

We want to install two ports, first check the device manager (Start->Settings->Control Panel->System->Hardware)

Under ports you'll see a list of COM ports. Both of the virtual ports we're making have to be between COM1 and COM9. Looks like only COM1 is being used.

Type in install PortName=COM2 PortName=COM6, changing the COM2 to COM3 or COM4 if any of those are already being used. The second port should be anything between COM5 and COM10. Keep track of these ports because you'll need to refer to them later

Once you hit return, windows will popup a "found new hardware" wizard as it thinks there are two more COM ports installed.

Select "No not this time", click Next

Select "Install automatically" and hit next.

You may have to do this twice, once for each COM port.

Next, check the device manager again, your new ports should have shown up!

Step 2. Install AVRStudio
Or whatever STK500 software you'll looking to use
Step 3. Download USBtiny500

Grab this from the download page. Its the software we run to provide the bridging.

Install the software and run USBtiny500.

Select one of the COM ports from the pair you made using com0com. If you select one that is not available you'll get the following warnings:

The software remembers the COM port you've selected so you should only have to do this once.

Next up the software looks for a USBtinyISP, if it fails to find one it will display

But if both the COM port and the programmer are found you'll get a ready message:

Next, start up AVRstudio, and open the programmer communcation panel. Select AVRISP and choose the other COM port from the pair you made with com0com. AVR studio remembers this selection so you'll only have to do this once.

You should be able to communicate to your target, through the sofware. If you're having problems talking to the chip, check the power, whether a crystal or clock is necessary and that the ISP clock is not too fast! You can change the ISP clock in the Board tab of AVR studio

The latest message passed through the bridge is displayed in the usbtiny console

May 17, 2011 20:07