0
\$\begingroup\$

For fun, I have been working on a development board for the Atmel ATmega128RFA1, similar to the official board and the sparkfun one. Mostly I'm doing it because it's fun – I'm a software guy.

I assembled two boards yesterday, on both I was getting:

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

so I went back and re-checked everything I could find, had a few pins pulled the wrong way but still no luck. I then noticed that I had connected my ICSP header to MISO/MOSI/SCK instead of MISO/MOSI/CLKI, which I guess is the problem, unfortunately one of the things I learnt quickly on soldering a VQFN64 is that I should have exposed pads for everything, but haven't. I've tried, and can't get a good solder joint on the side of the IC to that pin.

Am I right in thinking this is the cause of my 0x00's, and if so, is there a way I can use ICSP (through an Arduino Uno and avrdude on osx) to program it using the normal 16MHz oscillator?

Thanks in advance,

Matt

\$\endgroup\$
1
\$\begingroup\$

MISO/MOSI/SCK is correct, CLKI is nothing to do with programming/debugging.

Check that the ATmega128RFA1 is supported for your programming technique, otherwise you should buy a Dragon, which offers debugging as well as programming. You will probably need Windows, though.

Posting your schematic might enable us to see the cause of the problem.

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ I'm pretty confident about the schematic, it's right out of the datasheet, but I've been doing some debugging with the programmer, and I'm not confident that it's actually communicating with my board, I'll verify that first. \$\endgroup\$ – MatthewWilkes Jan 22 '12 at 11:28
  • \$\begingroup\$ Right, I've tracked down the reason it was returning 0's. The DIP based Arduino Uno has a stripped down bootloader on it as well as an overly-sensitive auto-reset circuit. When avrdude started talking it caused the arduino to reset itself and the cause protocol errors. By chance, I wasn't running the serial port on the right bitrate and what should be errors came out as okays with no data. \$\endgroup\$ – MatthewWilkes Jan 22 '12 at 13:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.