0

bootloading ATmega168 by ParallelProgrammer
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

bootloading ATmega168 by ParallelProgrammer

by So-yeon Hyun on Tue Oct 14, 2008 12:40 pm

Thank you for last answers :D
But now I got a new problem :cry:
When I programmed it for bootloading, boarduino was connected with parallel programmer and powered on.
But there was an error like this.
I downloaded and installed giveio and registry patch.
I can't find out what is wrong :(
Please, help me!

-----------------------------------------------------------------error
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA168 is 1E 94 06
avrdude: AVR device not responding
***failed;
avrdude: verification error, first mismatch at byte 0x0000
0x00 != 0x07
avrdude: verification error; content mismatch
-----------------------------------------------------------------------
So-yeon Hyun
 
Posts: 4
Joined: Sun Aug 10, 2008 3:25 am

Re: bootloading ATmega168 by ParallelProgrammer

by waldo2020 on Thu Oct 23, 2008 5:14 pm

I had the exact same problem, and even the "geniuses" at arduino.cc didn't help.
Unfortunately, I went through about a dozen chips in trying to find the solution,
thinking that I had fried all those chips. Here is the solution:

I expect what's happening is that the Arduino bootloader IDE incorrectly programs
some fuses under mysterious circumstances. In particular, it selects EXTERNAL CLOCK.
Without clock, the chip will appear to be completely dead and not respond to Avrdude.
What you need to do is to connect a TLL oscillator module (or any clock <20 Mhz) above a few
megahertz (I'm using 1.8 Mhz). Use a 4 pin 5V "metal box" clock oscillator (<20 MHz) you have handy,
power it with 5V on pin "14" of DIP14 footprint, GND on "7". Connect the clock output on
pin "8" to pin 9 OSC/clockin of the ATmega168 DIP 28 . You only need to do this temporarily while you
load the bootloader. It is possible you may damage your crystal, so I suggest to lift one leg
of it out of the hole. After the bootloader is programmed, solder the crystal leg back.

You can load the bootloader directly from within the Arduino software, using:
[tools][burn bootloader][/w parallel programmer]

This is the easiest and cheapest way to program the bootloader without spending money
on a USB AVRISP programmer or fooling with Avrdude command line (though it's useful to learn how while experimenting).
DAPA information here http://www.instructables.com/id/EXIM2VJJ51EUKIKWDF/ and here
http://www.arduino.cc/en/Hacking/ParallelProgrammer

Also,
my suggestions are to build the "DAPA" parallel port programmer, and either use
short wires (<20 cm) or use series termination resistors (33 to 330 ohm).
Also some people experienced problems on the led connected to digital 13, if your clone-board has that,
you may need to disconnect the led - just lift one leg of the resistor. If that doesn't
work (wires too long maybe), you can put a 30-300 pf capacitor to ground on sclk.
Contrary to what some have written, it is NOT possible to "kill" AVR chips with improper
programming that can only be undone with a "high voltage" Atmel programmer. This is bogus.

BTW I used version 11 of the Arduino IDE since version has some problems. Those guys don't
even check things before releasing them. "Beta" means you get what you pay for!
good luck!
h

waldo2020
 
Posts: 7
Joined: Thu Oct 23, 2008 4:16 pm

Please be positive and constructive with your questions and comments.