Closed charlespax closed 9 years ago
I transplanted a 32u4 from an older revision. It works. I was able to flash the bootloader via usbasp and flash a sketch via USB. I think I got a batch of fake chips.
Dear Charles,
Where you get those chips? And did you put the fake MCU to 0.7 board and try to flash the boot loader?
Best regards, Sam
On 2014¦~11¤ë29¤é, at 15:06, Charles Edward Pax notifications@github.com wrote:
I transplanted a 32u4 from an older revision. It works. I was able to flash the bootloader via usbasp and flash a sketch via USB. I think I got a batch of fake chips.
¡X Reply to this email directly or view it on GitHub.
I got the components from http://component.iiic.cc (MCU AVR 32K FLASH 16MHZ 44-QFN - ATMEGA32U4-MU (ATMEGA32U4-MU)).
When I first got the questionable chips I put them in several 0.7 boards and they worked. I will try putting one on the 0.7 board now and trying it.
Today I noticed the solder paste stencil does not have a hold to put paste on the center pad. Does the center pad need to be connected? If so, that would probably be the problem. The transplanted chip had solder already on the center pad, so it should have connected to ground.
Yeah, the center pad is important!
I'd be really surprised if these were fake chips, old stock with oxidized leads is totally believable though.
Awesome! I'll look into this a bit more. Do you know where I would find this int the datasheet or what to search for?
I wasn't able to find it mentioned in the datasheet, unfortunately. I think Atmel expects people to know how to handle each of their package types correctly, which is really frustrating. There's a wikipedia article on the QFN package that might clear things up, though: http://en.wikipedia.org/wiki/Quad_Flat_No-leads_package
In the mounting guidelines they don't mention anything super specific, but they do state "The exposed die attach paddle on the bottom efficiently conducts heat to the PCB and provides a stable ground through down bonds and electrical connections through conductive die attach material." http://www.atmel.com/images/doc8583.pdf
I guess if it's not connected the ground is unstable. That sounds like the sort of thing that would result in a random device signature.
I'm really excited to take a crack at this tomorrow. I think I'll take a non-working 0.8 board, desolder the 32u4, dab some paste on the bottom, then solder it back on. I'll post here as soon as I have news. Thanks :-)
Yeah, they are not specific. They do list some JEDEC standards that might talk about it, but the basic idea is that it's required for stable operation.
No joy. I tried two things this morning. I put a questionable chip on a 0.8 board and a questionable chip on the known-working 0.7 board. In both cases I added a dab of solder to the center pad on the PCB, a dab of solder on the exposed pad, and a generous portion of flux on both the chip and PCB. In both cases I still get the random device ID problem.
Arduino IDE output when flashing the 0.8 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/charles/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
avrdude: usbasp_open("usb")
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
AVR Part : ATmega32U4
Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 128 0 yes 32768 128 256 4500 4500 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
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
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
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 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
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize()
avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00)
<= [01] [00] [00] [00]
avrdude: usbasp_spi_set_sck_period(0)
avrdude: auto set sck period (because given equals null)
avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00)
<= [00]
avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_program_enable()
avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00)
<= [00]
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00)
<= [00] [71] [00] [00]
avrdude: usbasp_cpi_cmd() => 0x00, 0x71, 0x00, 0x00
avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00)
<= [00] [61] [00] [03]
avrdude: usbasp_cpi_cmd() => 0x00, 0x61, 0x00, 0x03
################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00)
<= [01] [61] [01] [07]
avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x07
################################## | 100% 0.00s
avrdude: Device signature = 0x000307
avrdude: Expected signature for ATmega32U4 is 1E 95 87
Double check chip, or use -F to override this check.
avrdude: usbasp_close()
avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader.
Arduino IDE output when flashing the 0.7 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/charles/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
avrdude: usbasp_open("usb")
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
AVR Part : ATmega32U4
Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 128 0 yes 32768 128 256 4500 4500 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
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
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
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 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
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize()
avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00)
<= [01] [00] [00] [00]
avrdude: usbasp_spi_set_sck_period(0)
avrdude: auto set sck period (because given equals null)
avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00)
<= [00]
avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_program_enable()
avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00)
<= [00]
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00)
<= [01] [61] [01] [00]
avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x00
avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00)
<= [01] [20] [01] [ff]
avrdude: usbasp_cpi_cmd() => 0x01, 0x20, 0x01, 0xff
################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)...
avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00)
<= [ff] [ff] [ff] [ff]
avrdude: usbasp_cpi_cmd() => 0xff, 0xff, 0xff, 0xff
################################## | 100% 0.00s
avrdude: Device signature = 0x00ffff
avrdude: Expected signature for ATmega32U4 is 1E 95 87
Double check chip, or use -F to override this check.
avrdude: usbasp_close()
avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader.
Dear Charles,
May I take a look on the board at tomorrow? I will goto SZ Haxlr8r and work on the test jig this week.
Best regards, Sam
On 2014¦~11¤ë30¤é, at 8:37, Charles Edward Pax notifications@github.com wrote:
No joy. I tried two things this morning. I put a questionable chip on a 0.8 board and a questionable chip on the known-working 0.7 board. In both cases I added a dab of solder to the center pad on the PCB, a dab of solder on the exposed pad, and a generous portion of flux on both the chip and PCB. In both cases I still get the random device ID problem.
Arduino IDE output when flashing the 0.8 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/charles/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : usb Using Programmer : usbasp
avrdude: usbasp_open("usb") avrdude: seen device from vendor ->www.fischl.de<- avrdude: seen product ->USBasp<- AVR Part : ATmega32U4 Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 65 6 128 0 yes 32768 128 256 4500 4500 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 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- 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 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- calibration 0 0 0 0 no 1 0 0 0 0 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 Programmer Type : usbasp Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize() avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00) <= [01] [00] [00] [00] avrdude: usbasp_spi_set_sck_period(0) avrdude: auto set sck period (because given equals null) avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00) avrdude: usbasp_program_enable() avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00) <= [00] [71] [00] [00] avrdude: usbasp_cpi_cmd() => 0x00, 0x71, 0x00, 0x00 avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00) <= [00] [61] [00] [03] avrdude: usbasp_cpi_cmd() => 0x00, 0x61, 0x00, 0x03 ################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00) <= [01] [61] [01] [07] avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x07 ################################## | 100% 0.00s
avrdude: Device signature = 0x000307 avrdude: Expected signature for ATmega32U4 is 1E 95 87 Double check chip, or use -F to override this check. avrdude: usbasp_close() avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader. Arduino IDE output when flashing the 0.7 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/charles/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : usb Using Programmer : usbasp
avrdude: usbasp_open("usb") avrdude: seen device from vendor ->www.fischl.de<- avrdude: seen product ->USBasp<- AVR Part : ATmega32U4 Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 65 6 128 0 yes 32768 128 256 4500 4500 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 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- 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 ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- calibration 0 0 0 0 no 1 0 0 0 0 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 Programmer Type : usbasp Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize() avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00) <= [01] [00] [00] [00] avrdude: usbasp_spi_set_sck_period(0) avrdude: auto set sck period (because given equals null) avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00) avrdude: usbasp_program_enable() avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00) <= [01] [61] [01] [00] avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x00 avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00) <= [01] [20] [01] [ff] avrdude: usbasp_cpi_cmd() => 0x01, 0x20, 0x01, 0xff ################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00) <= [ff] [ff] [ff] [ff] avrdude: usbasp_cpi_cmd() => 0xff, 0xff, 0xff, 0xff ################################## | 100% 0.00s
avrdude: Device signature = 0x00ffff avrdude: Expected signature for ATmega32U4 is 1E 95 87 Double check chip, or use -F to override this check. avrdude: usbasp_close() avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader. ¡X Reply to this email directly or view it on GitHub.
Sam, yes, I will give you the boards I made, PCBs, and the chips. Where you like to meet? On Nov 30, 2014 9:05 PM, "Sam Choy" notifications@github.com wrote:
Dear Charles,
May I take a look on the board at tomorrow? I will goto SZ Haxlr8r and work on the test jig this week.
Best regards, Sam
On 2014¦~11¤ë30¤é, at 8:37, Charles Edward Pax notifications@github.com wrote:
No joy. I tried two things this morning. I put a questionable chip on a 0.8 board and a questionable chip on the known-working 0.7 board. In both cases I added a dab of solder to the center pad on the PCB, a dab of solder on the exposed pad, and a generous portion of flux on both the chip and PCB. In both cases I still get the random device ID problem.
Arduino IDE output when flashing the 0.8 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/charles/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : usb Using Programmer : usbasp avrdude: usbasp_open("usb") avrdude: seen device from vendor ->www.fischl.de<- avrdude: seen product ->USBasp<- AVR Part : ATmega32U4 Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
flash 65 6 128 0 yes 32768 128 256 4500 4500 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
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
calibration 0 0 0 0 no 1 0 0 0 0 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
Programmer Type : usbasp Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize() avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00) <= [01] [00] [00] [00] avrdude: usbasp_spi_set_sck_period(0) avrdude: auto set sck period (because given equals null) avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00) avrdude: usbasp_program_enable() avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00) <= [00] [71] [00] [00] avrdude: usbasp_cpi_cmd() => 0x00, 0x71, 0x00, 0x00 avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00) <= [00] [61] [00] [03] avrdude: usbasp_cpi_cmd() => 0x00, 0x61, 0x00, 0x03 ################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00) <= [01] [61] [01] [07] avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x07 ################################## | 100% 0.00s
avrdude: Device signature = 0x000307 avrdude: Expected signature for ATmega32U4 is 1E 95 87 Double check chip, or use -F to override this check. avrdude: usbasp_close() avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader. Arduino IDE output when flashing the 0.7 board.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xce:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff:m
avrdude: Version 6.0.1, compiled on Apr 3 2014 at 22:00:33 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/charles/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : usb Using Programmer : usbasp avrdude: usbasp_open("usb") avrdude: seen device from vendor ->www.fischl.de<- avrdude: seen product ->USBasp<- AVR Part : ATmega32U4 Chip Erase delay : 9000 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
flash 65 6 128 0 yes 32768 128 256 4500 4500 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
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
calibration 0 0 0 0 no 1 0 0 0 0 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
Programmer Type : usbasp Description : USBasp, http://www.fischl.de/usbasp/
avrdude: usbasp_initialize() avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00) <= [01] [00] [00] [00] avrdude: usbasp_spi_set_sck_period(0) avrdude: auto set sck period (because given equals null) avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00) avrdude: usbasp_program_enable() avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00) <= [00] avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x00, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x00, 0x00) <= [01] [61] [01] [00] avrdude: usbasp_cpi_cmd() => 0x01, 0x61, 0x01, 0x00 avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x01, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x01, 0x00) <= [01] [20] [01] [ff] avrdude: usbasp_cpi_cmd() => 0x01, 0x20, 0x01, 0xff ################avrdude: usbasp_cpi_cmd(0x30, 0x00, 0x02, 0x00)... avrdude: usbasp_transmit("USBASP_FUNC_TRANSMIT", 0x30, 0x00, 0x02, 0x00) <= [ff] [ff] [ff] [ff] avrdude: usbasp_cpi_cmd() => 0xff, 0xff, 0xff, 0xff ################################## | 100% 0.00s
avrdude: Device signature = 0x00ffff avrdude: Expected signature for ATmega32U4 is 1E 95 87 Double check chip, or use -F to override this check. avrdude: usbasp_close() avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude done. Thank you.
Error while burning bootloader. ¡X Reply to this email directly or view it on GitHub.
— Reply to this email directly or view it on GitHub https://github.com/PaxInstruments/t400-electronics/issues/82#issuecomment-64984695 .
Sam has a copy of all the parts I've been using. He has also ordered parts from Mouser.
Are the chips fake? Is there a PCB problem? Do I have a software problem with flashing?
@samchoy88 Did you have the same problem?
I found those chips are not fake. As I mount the suspected fake chip on Arduino Leonardo, it can program without problem. But it has problem on Rev 0.8 board before.
Cool. It sounds like a PCB manufacturing issue. If it persists in 0.9, we should continue the investigation. For now I'm closing this issue.
I am not able to flash the bootloader onto the 0.8 boards. I am using a usbasp programmer, which I can use to flash electronics version 0.7 just fine.
Each time I try to flash the 32u4 returns a random device signature. avrdude: Device signature = 0x01ffff avrdude: Device signature = 0x0001ff ...
PDF files of previous versions of the T400 are in the referenceDesigns directory. There really isn't much that changed.
This feels like a power issue, so I'm going to poke around. Maybe it's bad parts. I can swap out know-good 32u4 chips and see what happens.