PaxInstruments / t400-electronics

Electronics for the Pax Instruments T400 temperature datalogger
20 stars 9 forks source link

Electronics version 0.8 cannot not flash bootloader #82

Closed charlespax closed 9 years ago

charlespax commented 9 years ago

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.

charlespax commented 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.

samchoy88 commented 9 years ago

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.

charlespax commented 9 years ago

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.

cibomahto commented 9 years ago

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.

charlespax commented 9 years ago

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?

cibomahto commented 9 years ago

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

charlespax commented 9 years ago

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 :-)

cibomahto commented 9 years ago

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.

charlespax commented 9 years ago

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.
samchoy88 commented 9 years ago

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.

charlespax commented 9 years ago

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 .

charlespax commented 9 years ago

Sam has a copy of all the parts I've been using. He has also ordered parts from Mouser.

charlespax commented 9 years ago

Are the chips fake? Is there a PCB problem? Do I have a software problem with flashing?

charlespax commented 9 years ago

@samchoy88 Did you have the same problem?

samchoy88 commented 9 years ago

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.

charlespax commented 9 years ago

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.