Hi all,
I have been trying to burn the bootloader on an ATmega328P-AU with a custom made pcb but with no success. I have made the following connections:
Arduino Uno slave Atmega328P-AU
+5V +5V
GND GND
pin 13 SCK
pin 12 MISO
pin 11 MOSI
pin 10 RESET
pin 7 LED-HEARTBEAT
pin 6 LED-ERROR
pin 5 LED-PROGRAMMING
0.1uF cap from VCC to GND
0.1uF cap from AVCC to GND
0.1uF cap from AREF to GND
16MHz Crystal from XTAL1 to XTAL2
18-22pf cap from XTAL1 to GND
18-22pf cap from XTAL2 to GND
10K resistor from VCC to RESET
Have I missed anything or wired something wrong ? Could you tell me how to burn the bootloader ? So far I have tried the Arduino ISP (from the examples) and Nick Gammon's bootloader and got the following errors.
Arduino ISP error : avrdude: Yikes! Invalid device signature.
** Double check connections and try again, or use -F to override**
** this check.**
Atmega_Board_Programmer error : avrdude: stk500_getsync(): not in sync: resp=0x00
Any help is greatly appreciated (please in simple English )!
Thanks in advance,
Alex
Post a clear picture - (not a Huge picture) - maybe we can spot something. The wiring description looks good.
0.1uF (100nF) caps are typically used on Vcc/Avcc/Aref, 1uF would not keep it from working.
Connect DTR thru a 0.1uF cap to the Reset pin.
You don't have any current limit resistors going to your LEDs; the LEDs will burn out or the IO pins will.
I have resistors but the don't show on the schematic since they are soldered on the headers.
So to program an atmega328p I either have to use an FTDI cable (only?) or an FTDI Basic Breakout ? No way with the Uno ?
Using Uno: You can connect Reset to Gnd on the Uno, then connect Rx/Tx to Rx/Tx on your SMD board and go from there. Will need to manually press reset on the SMD board to start its bootloader.
I connected Reset (smd) to GND (Uno), RX to TX, TX to RX, +5V to +5V and GND to GND. I sorted reset and vcc (on smd) and the uploaded the blink on the Uno but nothing happens with the smd... Have I missed something ?
It would be easier to just program it like you did burning bootloader. Just connect it back up using Arduino as ISP and instead of burn bootloader, use Upload Using Programmer to upload your sketch. You don't need to use the bootloader and FTDI.
If you have a working Arduino, compare what you 'hear' on the working board to what you 'hear' on the clone. You should be able to determine if the uC oscillator is working. The area around the xtal (crystal and 2 load caps) is fairly critical and some additional stray capacitance, solder bridges, or poorly-etched board can really screw things up.