I’m building a Sanguinololu for my 3D printer project using a PCB. But I’m stymied trying to burn an Arduino bootloader on the ATmega1284p as it fails when trying to set the fuses. I can use the same programmer to upload programs onto my 3Pi and Baby Orangutan, so I know it works and the drivers are installed.
I’m fairly good at soldering, and built a few Arduino boards by hand. So I’ve soldered the board, plugged it in, and checked the ground and 5 volt pins on the IC socket. I also checked for shorts, bridges, and that the correct pins were connected to the ISCP header, and the orientation of the programmer is correct. These steps usually yield results, but here no luck. Below are the commands I’m using on my Windows 7 PC.
set AVRROOT=C:\Users\Martin\Documents\arduino-1.6.4\hardware\tools\avr
set GEN7BOOT=C:\Users\Martin\Documents\arduino-1.6.4\hardware\Gen7\bootloaders\Gen7
# find the compatible programer
%AVRROOT%\bin\avrdude.exe -C %AVRROOT%\etc\avrdude.conf -c ?
# write fuses
%AVRROOT%\bin\avrdude.exe -C %AVRROOT%\etc\avrdude.conf -c avrispv2 -p atmega1284p -P COM9 -b 10 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m
Avrdude is a bit of a black box to me, so I added multiple -v switches to see if there’s any clue. While it definately finds and recognizs the programmer, I can’t tell if it sees the ATmege1284p chip. I’ve also heard some programmers have a problem with it because of the larger flash. So I don’t know if that might be it.
%AVRROOT%\bin\avrdude.exe -C %AVRROOT%\etc\avrdude.conf -c avrispv2 -p atmega1284p -P COM9 -b 10 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m -v -v -v -v
avrdude.exe: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "C:\Users\Martin\Documents\arduino-1.6.4\hardware\tools\avr\etc\avrdude.conf"
Using Port : COM9
Using Programmer : avrispv2
Overriding Baud Rate : 10
avrdude.exe: serial_baud_lookup(): Using non-standard baud rate: 10avrdude.exe: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [01]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [0b]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [01]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [08]
avrdude.exe: Recv: S [53]
avrdude.exe: Recv: T [54]
avrdude.exe: Recv: K [4b]
avrdude.exe: Recv: 5 [35]
avrdude.exe: Recv: 0 [30]
avrdude.exe: Recv: 0 [30]
avrdude.exe: Recv: _ [5f]
avrdude.exe: Recv: 2 [32]
avrdude.exe: Recv: . [02]
avrdude.exe: stk500v2_getsync(): found STK500 programmer
AVR Part : ATmega1284P
Chip Erase delay : 55000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 10 128 0 no 4096 8 0 9000 9000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 10 256 0 yes 131072 256 512 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Programmer Type : STK500V2
Description : Atmel AVR ISP V2
Programmer Model: STK500
avrdude.exe: Send: . [1b] . [02] . [00] . [02] . [0e] . [03] . [90] . [86]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [0f]
avrdude.exe: Recv: . [18]
avrdude.exe: Send: . [1b] . [03] . [00] . [02] . [0e] . [03] . [91] . [86]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [14]
avrdude.exe: Send: . [1b] . [04] . [00] . [02] . [0e] . [03] . [92] . [82]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [04]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [0a]
avrdude.exe: Recv: . [1b]
Hardware Version: 15
Firmware Version Master : 2.10
avrdude.exe: Send: . [1b] . [05] . [00] . [02] . [0e] . [03] . [9a] . [8b]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [05]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [ff]
avrdude.exe: Recv: . [ef]
Topcard : Unknown
avrdude.exe: Send: . [1b] . [06] . [00] . [02] . [0e] . [03] . [94] . [86]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [06]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [13]
Vtarget : 0.0 V
avrdude.exe: Send: . [1b] . [07] . [00] . [02] . [0e] . [03] . [98] . [8b]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [07]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [10]
avrdude.exe: Send: . [1b] . [08] . [00] . [02] . [0e] . [03] . [95] . [89]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [08]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [1d]
avrdude.exe: Send: . [1b] . [09] . [00] . [02] . [0e] . [03] . [96] . [8b]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [09]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [01]
avrdude.exe: Recv: . [1d]
avrdude.exe: Send: . [1b] . [0a] . [00] . [02] . [0e] . [03] . [97] . [89]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [0a]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [03]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [1f]
SCK period : 8.7 us
Varef : 0.0 V
Oscillator : 3.686 MHz
avrdude.exe: Send: . [1b] . [0b] . [00] . [03] . [0e] . [02] . [9e] . [01] . [80]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [0b]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [1e]
avrdude.exe: Send: . [1b] . [0c] . [00] . [0c] . [0e] . [10] . [c8] d [64] . [19] [20] . [00] S [53] . [03] . [ac] S [53] . [00] . [00] ? [3f]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [0c]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [10]
avrdude.exe: Recv: . [c0]
avrdude.exe: Recv: . [cb]
avrdude.exe: stk500v2_command(): command failed
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe: Send: . [1b] . [0d] . [00] . [03] . [0e] . [11] . [01] . [01] . [0a]
avrdude.exe: Recv: . [1b]
avrdude.exe: Recv: . [0d]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [02]
avrdude.exe: Recv: . [0e]
avrdude.exe: Recv: . [11]
avrdude.exe: Recv: . [00]
avrdude.exe: Recv: . [0b]
avrdude.exe done. Thank you.