I tried to build a minimal arduino, just a ATmega328 with internal clock. I burned bootloader like described here: http://arduino.cc/en/Tutorial/ArduinoToBreadboard and then tried to upload a sketch from arduino board (removed AVR). I setup everything as described, selected ATmega328 on a breadboard (8 MHz internal clock) as board type but all I got is avrdude: stk500_recv(): programmer is not responding from the Arduino IDE trying to upoad the sketch (Version 0018).
I'm quite frustrated, what could be wrong here?
Did you either wire a reset switch to your breadboard or run a wire from the reset pin on Arduino board to the reset switch on the breadboard? If not then the bootloader will not sync up properly with the Arduino IDE download command.
I feel the "Uploading Using an Arduino Board" example section of that page is incomplete because of the missing reset step, anyone agree or disagree?
reset sorta pulls high (and your defiantly pulling it high), and it must be pulled low and then let to go back high at the magic time for everything to sync
Yes it's an input for the reset pin, but the signal connection on the Arduino board comes from the DTR signal output pin of the FTDI chip. This is the signal the Arduino IDE sends just prior to trying to upload a sketch so that the bootloader program gets activated at the correct time.
I have a 0.1µF capacitor on my reset on my breadboard. It connects to the DTR pin of the FTDI breakout board, which is the pin on the end. Or the beginning.
I wired reset but same effect, programmer not responding. I have a led on arduino equivalent pin 13 and it flashes once when upload starts, after a few seconds the error occurs. I also see some short flash of RX led on the arduino board.
Maybe there's no bootloader on the Atmel? But I got no error when I burned it.
Or could this be a timing problem since there is no external quartz?
I didn't have a great deal of success when I played around with homebrew arduinos running on the internal clock. I decided the addition of a 16Mhz resonator was a great payback for the small amount it cost. Everything worked as you'd expect it to work, whereas many things just didn't, running on the internal clock. I suspect the r-c internal oscillator isn't stable/accurate enough. It could quite happily be out by a factor of several percent, whereas a resonator is good to a couple of hundred PPM.
Try with a larger pullup-resistor on the reset line, ATMEGA328 datasheet specifies 30 kohm - 60 kohm. (I have omitted the pull-up resistor all together and that works fine).
In boards.txt I have changed:
atmega328bb.bootloader.file=ATmegaBOOT_168_pro_8MHz.hex
to
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex