New user programmer problem
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

New user programmer problem

by magicmonkey on Sat Sep 15, 2007 4:58 pm


I've just put together my new USBtinyISP (I think it's a great project), and I'm having trouble getting it to work :(

I've borrowed my brother's Kanda dev board (we think it's an STK200, 1998 model) which uses the 10-pin ISP cable. When I plug the USBtinyISP into it, the following happens:

Code: Select all | TOGGLE FULL SIZE
edoras:~ $ avrdude -c usbtiny -p 8515 -F

avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0xffffff
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for AT90S8515 is 1E 93 01
avrdude: safemode: Verify error - unable to read fuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted

avrdude done.  Thank you.

This is when externally powering the dev board, and without the jumper on JP3 on the USBtinyISP. When I use the parallel-port programmer which came with the dev board, it can read the device ID quite happily, even using the same patched version of avrdude (which I think means that the target chip and the clock and everything like that are ok?).

I've carefully checked all the resistors etc; maybe the dev board uses an old style of ISP or something like that? I don't really know much about these things.

I'd really like to get into AVR programming using the USBtinyISP - any help which anyone can give me is very much appreciated.

Thanks in advance.
Posts: 5
Joined: Sat Sep 15, 2007 4:51 pm

by adafruit on Sat Sep 15, 2007 5:21 pm

ok let me look into it...

Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm
Location: nyc

Check pinout

by adrian650 on Mon Sep 17, 2007 1:44 pm

I bought an STK200-style parallel dongle some years ago and the 10pin layout is different from the USBtiny. I can't recall the details but think it was rotated 180 degrees with the orientation lug on the otherside. It would be quite easy to check which pins your dev board go where and then to double check the USBtiny orientation.
Posts: 11
Joined: Wed Aug 15, 2007 6:56 pm

by magicmonkey on Mon Sep 17, 2007 4:15 pm

Hmm, well, the 4 grounds are definitely the same. The idea has potential, though, I'll try tracing the connections and see what I find. The STK is a 4-layer board, though, so it's not quite as easy as following the trace on the PCB...

I'll do some multimeter probing and let you know. Cheers for the suggestion.
Posts: 5
Joined: Sat Sep 15, 2007 4:51 pm

by magicmonkey on Mon Sep 17, 2007 4:43 pm

I just did some metering, and it looks like the connections are correct. The pins labelled as "MOSI", "SCK", "RST" and "MISO" in the chip's datasheet (at http://www.atmel.com/dyn/resources/prod ... OC0841.PDF) match with the same labelled pins on the ISP connector on the USBtinyISP board. Most of them read as having ~2k resistance between the target chip and the USBtinyISP, though, except for the MISO line (which has negligible resistance). Does that sound right? I guess there's some protection or something on the STK200. The pins appear to match ok, though.

Any more suggestions? I'm willing to try anything...
Posts: 5
Joined: Sat Sep 15, 2007 4:51 pm

by magicmonkey on Wed Sep 19, 2007 9:10 pm

I'm still not having any luck with this, but apparently it's an STK200+ not an STK200 (not sure if that makes a difference).
Posts: 5
Joined: Sat Sep 15, 2007 4:51 pm

STK200 programming fails

by traylor on Mon Sep 24, 2007 7:04 pm

OK, I think I have an explanation as to why the STK200 programming does
not work. The STK200 interface uses a analog mux to allow double duty
on the programming pins. Pin 3 of the programming connector is connected
to the select pins for all three lines that are switched when programming
starts. The USBTiny interface does not use pin 3. Thus the AVR never sees
any programming signals as the mux never is switched. Pin 3 must go low
to allow programming.

If pin 5 (reset) asserts low at the right time, perhaps connecting pin 5 and 3
may do the trick. Otherwise, we need is to use an extra pin on the 2313 to
assert pin 3 low when programming is underway. I'll try this when I get
home tonight.

Roger Traylor

Posts: 2
Joined: Mon Sep 24, 2007 6:56 pm

Please be positive and constructive with your questions and comments.