Go Down

Topic: [SOLVED] Deek/Dswy Robot Mini Pro - can't upload a sketch & bootloader (Read 52647 times) previous topic - next topic


I got two of these DSWY ROBOT boards and I have a problem that was previously mentioned. However, I lost track of who answered what, so I need some help.
These are the first boards I got along with a Mega 2560. I programmed the Mega as an ISP using the example code. When it is connected to the computer LED 9 pulses (I think that is supposed to be the "heartbeat" so it is working. I connected my mini as follows.
I also tried connecting the corresponding ICSP pins to no avail. The error is "Yikes! Invalid device signature." The Mini started with the slow blink, but after I tried to bootload, the LED does not light up.
Any help would be greatly appreciated. Thank you in advance.

To reload Bootloader (from previously linked SparkFun forum)

****  note pins are different for Uno and Mega, the correct pins for both models is in the notes at beginning of sketch  ****


**SOLUTION** Re-install the Arduino Pro Mini Bootloader using my Arduino Uno as an ISP Programmer!

To resolve the errors I burned the bootloader to the Arduino Pro Minis using my functioning Arduino Uno as an ISP. For the most part I followed the instructions here: http://www.sparkfun.com/tutorials/247 adhering to Option 1 but using the Arduino IDE to burn the bootloader. Here is what I did step by step:
1. Connect the Arduino Uno via USB to the PC
2. Open the Arduino IDE
3. Select the correct COM port and board (Arduino Uno)
4. Open the ArduinoISP sketch (File>Examples>ArduinoISP)
5. Upload the sketch. once complete your Arduino Uno is now programmed to be an ISP programmer. This is great because I really didn't want to buy a separate programmer.
6. Power the Uno off and wire the Uno to the Arduino Pro Mini in the following fashion:

Uno---------------Pro Mini                 or              Mega-------------------------Pro Mini
5v-----------------------VCC                                5v---------------------------vcc
GND------------------------GND                        Gnd-----------------------------GND
Digital Pin 11(MOSI)----pin 11 (MOSI)                 pin 51 ---------------------------pin 11
Digital Pin 12(MISO)----pin 12 (MISO)              pin 50-----------------------------pin 12
Digital Pin 13(SCK)-----pin 13 (SCK)                 pin 52--------------------------------pin 13
Digital Pin 10----------RST                                 pin 53--------------------------------reset

7. Power on the Uno
8. Select the correct COM port
9. IMPORTANT: Select board Arduino Pro Mini 5v w/ATmega328 as the board we are uploading to
10.from the Tools menu, select Burn Bootloader > w/Aduino as ISP

after you have bootloader installed, to then upload sketches onto the  pro mini clone you need to rewire the connections as follows


Step 1.
Connect jumpers as follows
   Arduino UNO/mega  --> pro mini
   RESET   --   GND                                     Connect reset to ground on the Uno or Mega
                     RX        -->         RXD
                     TX       -->         TXD
                     5 V       -->        VCC
                    GND        -->        GND

and yes RX goes to RX and TX to TX for sure

Step 2.
Plug the arduino into the USB lead as normal

Step 3.
Arduino IDE > Tools > Board > Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328

Step 4.
Load/Type your sketch into the IDE

Step 5.
Click the Upload Icon or Arduino IDE > File > Upload

Step 6.
When the sketch size show in the debug panel (The bottom of the IDE)
Tap the reset button on the Pro Mini - This starts the bootloader.
if you get error "avrdude: stk500_getsync(): not in sync: resp=0x00"
practice your timing with clicking reset button after seeing "Binary sketch size: 3.772 bytes (of a 30.720 byte maximum)"

If there are any error messages - Double check the wiring, The most common cause of error is
connecting the Rx and Tx lines back to front.


Hello folks,

After hearing about some local folks having trouble with this board, I bought one to investigate. I wrote about it in length in my Hebrew blog - but maybe the results would be of interest to readers here too.

It turned out that the ATmega328's clock fuses were set to the (factory default?) internal oscillator (which is 8MHz) with a by-8 division; hence the 16-second blink. When I reprogrammed the fuses to the proper values (for the external crystal) the board died, because apparently the crystal itself was defunct, so now the MCU had no clock and no ability to communicate with anything.

I applied an temporary external signal, rather brutally, to the MCU's XTAL1 pin  and managed to revive it; I programmed the fuses back to the internal oscillator without the division, so basically I have now a working 8MHz-Pro-Mini clone.

Important note: Trying to burn a bootloader using the Arduino IDE on a board with this specific problem is a bad idea, because apparently the burning process includes resetting of the clock fuses to the external crystal.

To summarize, there are indeed plenty of faulty boards of this kind - some may be saved by burning a new bootloader, essentially by the part where the fuses are set correctly; but if it's also a hardware problem, like I had, this will require some extra effort.

I used Atmel Studio and an AVRISP MKII programmer for this inquiry; The same can be done with other programmers and AVRDude but don't ask me how. Hope it helps!
My Adventures in the Making:


I had several of the DSWY version with the same fault description as yours. The problem turned out to be a build error. The 100nf cap on the reset line was was swapped with one of the ~22 pf  caps on the crystal pins.

I also followed your path of injecting a 1mhz clock into the processor to get it running. Once it was alive, I found the problem by simple visual examination.


The problem turned out to be a build error. The 100nf cap on the reset line was was swapped with one of the ~22 pf  caps on the crystal pins.

Oh! Is that the slightly thicker cap of the three in that area? I was wondering about that a little, but it didn't occur to me to investigate down that path... it would make perfect sense though. Too bad I... kind of removed the crystal during the process...  ]:), but the seller promised me a new board instead of the faulty one, so maybe I'll get a chance to try and re-solder those caps correctly. Thanks!
My Adventures in the Making:


Yes, the  100nf cap is  at least twice as thick as the two crystal loading caps.


I also encountered these problematic Pro Minis (through a friend who bought them and didn't manage to use them).
I tried to burn a new bootloader through a working Pro Mini with no luck.

I went with igendel and avr_fred assumption of the Capacitors.

and I switched the capacitors in the Picture, and then I succeded in burning a new bootloader.

Now I can load sketches through a regular USB2Serial cable (though the Reset still dosn't work well and I need to reset the Pro Mini manually with the reset button).

Hope this helps someone


to netanelf or anybody else involved: I 'm still puzzled.
A) The picture  posted is before or after caps swap?
B) Which caps are for the xtal and should be equal?

Please try to repost the image and giving clear annotation.

Thanks in advance


Jun 12, 2014, 11:44 pm Last Edit: Jun 13, 2014, 12:33 am by netanelf Reason: 1
I will try to clarify,

Here is the image of the Arduino Pro Mini I had (before any changes)

as you can see (i verified with a multimeter)
That C3 and C4 are the capacitors that go to XTAL1 and XTAL2, unfortunately, they are not the same size (-:

I think I found why the reset isn't working for me.
as you can see C1 that is connected to AREF on the ATmega should go to GND and not to RESET.
here is the Pro Mini's Schematics (from sparkfun - eagle library):

I think that:

  • C1 and C4 should be swapped (C4 should be exactly in the size of C3)

  • I didn't try this yet, but i suspect that C1 should be disconnected from the RESET pin and connected to GND instead

So i tried what I said and seperated C1 from C2 and now the reset works fine.
after swapping the capacitors, seperating C1 from C2 and connecting C2 back to the RESET pin my board looks like this:


Thanks to all,
I saved my Dswy_Robot this way..

* Connect Mega2560 with USB
* Choose Board-> Mega2560 , choose port
*  Open examples/ArduinoISP
* Upload
* Connect Dswy_robot   and  Mega2560 :
DSWY            Mega2560 
RES                 53
GND               GND
VCC                VCC
MIS                50
MOS              51
SCK                52

* Select Board Arduino pro or pro mini
* Burn bootloader.


Thanks to all,
I saved my Dswy_Robot this way..

* Connect Mega2560 with USB
* Choose Board-> Mega2560 , choose port
*  Open examples/ArduinoISP
* Upload
* Connect Dswy_robot   and  Mega2560 :
DSWY            Mega2560 
RES                 53
GND               GND
VCC                VCC
MIS                50
MOS              51
SCK                52

* Select Board Arduino pro or pro mini
* Burn bootloader.

So simple, so nice  :D

I fight few hours trying to download something to my Deek-Robot Nano boards but with this instruction i finally succeeded  :D
My software has no bugs, only random features.


To all above,
How do I use the UNO to bootload the mini?

I am a newbie to this....
I tried the guideline from: http://arduino.cc/en/Hacking/MiniBootloader.
and am using IDE 1.5.8. But it throws errors.
Note that I do not have any options in the "Burn bootloader". And If I am using the BOARD UNO  and use it as PROGRAMMER the AVRISPII it seems to me that it is my default normal UNO program burn...

Your help and especially the pictures are very much appreciated.
Y3G (...when there is LTE)

Go Up