Pages: [1]   Go Down
Author Topic: Dswy Robot Mini - unable to install bootloader  (Read 843 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I received two clone mini's referenced in the subject line. I was unable to load a sketch with a known good CP2102 USB to TTL loader. That led me to this thread: http://forum.arduino.cc/index.php?topic=217246.0

When I try to reset the fuses per the above thread, it did not work and it appears I bricked the avr. The command was;

Code:
avrdude -F -p m328p -c USBasp -P USB -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xD
A:m -Ulfuse:w:0xFF:m -B4

Now I cannot get the avr to respond. I tried terminal mode to see what I could discover and get:
Code:
C:\ARDUINO\HARDWARE\TOOLS\AVR\BIN>avrdude -F -p m328p -c USBasp -P USB -t

avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude> part
>>> part

AVR Part                      : ATMEGA328P
Chip Erase delay              : 9000 us
PAGEL                         : PD7
BS2                           : PC2
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     5     4    0 no       1024    4      0  3600  3600 0xff 0xff
  flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
  lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
  calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
  signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

avrdude>

I suspect it is something to do with the SCK freq or the fuses, not really sure as I'm just starting out with Arduino and I've been having no issues with my non-clone UNO. I did test out my USBasp by erasing my UNO and then re-installing the bootloader. That went fine other than the warning avrdude: warning: cannot set sck period. please check for usbasp firmware update., it is a clean load. I've read that is a non-issue but now I'm not so sure I should ignore it.

FWIW, all the fuses read back as zeros...

Can any one see what I've done wrong ? (Other than buying a cheap clone  smiley-sad )
Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 200
Posts: 12773
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Regardless of how you proceed including -F is never the right choice.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Connect external 1 MHz signal on IC pin 8 (XTAL2). Set low fuse back to 0x62. Should be able to communicate again with USBasp.
« Last Edit: April 19, 2014, 12:52:32 am by Amafiosi » Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you for the suggestion. I used the 1 MHz output pin on a UNO ISP to pin 8 and the unit came back to life. Scoping the other unit showed zero volts on both pins 7 and 8 (the crystal pins).

This led to discovering that the two mini boards that I received had a build error. One of the ~20 pf crystal caps was swapped with the 100nf cap on the reset input line. Exchanging the caps set both boards to working correctly. I'll post a photo of the cap locations if anyone needs it. Their physical size difference was the clue.

I guess they shipped with fuses set for the internal r/c clock and when I loaded the bootloader I set the fuses to would should have correct for a 16 mhz crystal, thereby rendering it doa.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the capacitor hint. I swapped mine around and now also working with low fuse 0xFF and running well at 16MHz.  Just for interest, when connecting the 1 MHz to pin 7, the LED flashed, but the mini would not accept AVRDude commands. When connecting to pin 8, the LED flashed and it accepted commands from AVRDude ?? External oscillator should be connected to pin 7 according to all documentation I have seen ? Maybe the wrong cap on pin 7 affected the system? (I used a DS0201 Mini Oscilloscope signal generator for the 1 MHz signal)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks in advance if avr_fred could post photo of cap locations.  I have four of these modules and can only get them to work on internal clock.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The 2 caps that need to be swapped. (Note Crystal and Xtal 2 cap removed on this board).


* Pro mini with wrong caps.JPG (88.83 KB, 640x480 - viewed 109 times.)
« Last Edit: May 03, 2014, 07:51:51 am by Amafiosi » Logged

Pages: [1]   Go Up
Jump to: