Mini Pro + FTDI basic breakout: not in sync + programmer not responding [solved]

Hi everyone,

I'm currently setting up my Arduino Mini Pro (5V, ATMega328, 16MHz) so I can program it. When I try to upload code to the Arduino Mini Pro, I get the following error:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
Probleem bij het uploaden naar het board. Zie http://www.arduino.cc/en/Guide/Troubleshooting#upload voor suggesties.
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x19
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x19

I tried uploading a couple of times, and I have to say that "resp=0x19" differs with every try. It seems to be a random numerical code. I looked around for finding a solution for this error, but can't get the upload to work... Here's what I've done so far:

  • I made sure I selected the right board ("Arduino Pro or Pro Mini"), type ("ATmega328 (5V, 16MHz)") and port ("COM4", the only serial port available in Device Manager, and the only USB device connected) in the IDE.
  • I downloaded the FTDI drivers from here: ftdichip - VCP drivers (64bit, as is my system)
  • As I try a loopback test on the FTDI basic (with serial monitor), my serial communication is indeed echoed, so that seems to work. (I connected the RX to the TX of the basic breakout, without Arduino)
  • Somehow, I managed to pull off the upload once (don't know how). I uploaded the Blink example sketch. As expected, LED 13 blinks 1s on, 1s off when the Arduino is powered. However, when I open the Arduino IDE, it blinks differently. Additionally, when uploading, LED 13 is off. And after failing to upload it goes back to the Blink-pattern of the loaded sketch (1s on/off), rather than the alternative blinking pattern from before uploading. I attached a video: video on youtube.
  • When I push the reset button, LED 13 stops blinking. When I release the button, it blinks shortly, after which it continues blinking according to the Blink example sketch (1s on/off). Does that mean there is actually a bootloader on the Arduino?

I'm not how to approach this problem. I also tried resetting the Arduino before uploading, which did not solve the problem.

As a side-note, I am not sure if my Arduino looks good or not. I soldered a set of pins on it (soldered on the bottom, not the top where all the components are). I made a photo of my Arduino Mini Pro, which I attached below. The component that sits in front of the TX-pin at the 6-pin header, seems to be soldered a bit sluggishly, as opposed to pictures I see on the internet. Might this be a problem?

What's going on here? And how can I solve it? Many thanks!

Use multimeter, check continuity between the two sides of that cap. If there is continuity, that is the problem (the ftdi adapter will hold DTR low - if the cap is shorted, then that will hold reset low keeping the board in reset, instead of generating a pulse to reset the board and then allow it to start so you can upload). Resting a soldering iron ontop of the cap to melt the solder around it, maybe with a bit of added flux around it, sometimes fixes shorts under passives.

Thanks for the quick reply. I will test it tomorrow. I'll keep you posted.

DrAzzy:
Use multimeter, check continuity between the two sides of that cap. If there is continuity, that is the problem (the ftdi adapter will hold DTR low - if the cap is shorted, then that will hold reset low keeping the board in reset, instead of generating a pulse to reset the board and then allow it to start so you can upload). Resting a soldering iron ontop of the cap to melt the solder around it, maybe with a bit of added flux around it, sometimes fixes shorts under passives.

He says that the blink is working. i.e. The atmega is working.

However, We will like to see how you connected the adapter,photo please.

Here are some more photos of how the Arduino is connected to the adapter. First one is how the pins on the Arduino are aligned with the adapter (and how it is connected). The second one shows how I soldered the pins onto the Arduino.


The pins align as described in the Sparkfun hookup guide (link)

What I will recommend is that do connections like following using WIRES-

Pro Mini FTDI board
VCC VCC
GND GND
RX TX
TX RX
RST DTR

And try uploading the blink again. You may need to solder a pin to RST hole on the mini.

Do you mean I should not use the 6-pin header that I soldered onto the mini, but rather the holes on the side of the Arduino?

I noticed you mentioned 5 pins, rather than 6 that are present on my FTDI Basic Breakout. Assuming "GND" in your mapping refers to "GND/BLK", it seems that CTS is not connected. Is that correct, and will this work?

Yes. The header is a simplified way to connect all these pins. I doubt about the GND pin, it is connected to CTS ??
then, Hoe the Gnd is connected between the boards?
Hence, go as I showed you.

Ok, I connected the arduino through wires. Now I can upload the sketch most of the time. Guess the RST pin makes the difference. Thanks!

Cheers,
-Malhar

However, I might have been posting too soon. It managed to upload the sketch twice, but now it does not work anymore.. I think any connection I am trying to make is too unstable. Sometimes, the power flickers, sometimes the upload starts, but fails halfway. But most of the time I can't upload anymore, just like the 6-pin header connection I used before.

JeroenRood:
However, I might have been posting too soon.

You should use the programming header pins. If you connect to the RST pin you must use an additional 0.1uF capacitor to convert the DTR signal to a reset pulse. Since there is already a capacitor on the board to do that, and it is connected to the GRN or DTR pin on the Pro Mini programming header, most people use the programming header. Solder the header on pointing the other direction, away from the board as shown on the Sparkfun web site.

It looks like Sparkfun's right angle headers are the kind where the plastic spacers are not on the short side of the bend. This may be more typical:

shot.png

DrAzzy said this and I think he is wise:

DrAzzy:
Use multimeter, check continuity between the two sides of that cap. If there is continuity, that is the problem (the ftdi adapter will hold DTR low - if the cap is shorted, then that will hold reset low keeping the board in reset, instead of generating a pulse to reset the board and then allow it to start so you can upload). Resting a soldering iron ontop of the cap to melt the solder around it, maybe with a bit of added flux around it, sometimes fixes shorts under passives.

Desolder, remove, and discard the header from the Pro Mini. I find it easiest to cut the pins off at the bend so they are flush with the plastic standoff that is part of the header. Then pry the plastic standoff loose and discard it. Now you have individual pins exposed that you can grab one at a time with needle nose pliers, heat each solder joint one at at time, and pull the pin out, and move on the the next pin. Heat each solder joint as quickly as possible and remove heat as soon as possible after removing the pin. If you heat the board for too long, it will burn it and the pad or traces may be damaged. Come back a few minutes later with a solder sucker or desoldering braid to remove the solder out of the holes. Then solder a fresh right angle or straight male header back onto it.

While you have the soldering iron out, fix the soldering on the capacitor you mentioned at the top of this thread, according to DrAzzy's post. Check with a multimeter.

dmjlambert:
Desolder, remove, and discard the header from the Pro Mini. I find it easiest to cut the pins off at the bend so they are flush with the plastic standoff that is part of the header. Then pry the plastic standoff loose and discard it. Now you have individual pins exposed that you can grab one at a time with needle nose pliers, heat each solder joint one at at time, and pull the pin out, and move on the the next pin. Heat each solder joint as quickly as possible and remove heat as soon as possible after removing the pin. If you heat the board for too long, it will burn it and the pad or traces may be damaged. Come back a few minutes later with a solder sucker or desoldering braid to remove the solder out of the holes. Then solder a fresh right angle or straight male header back onto it.

While you have the soldering iron out, fix the soldering on the capacitor you mentioned at the top of this thread, according to DrAzzy's post. Check with a multimeter.

Yeah. I agree. The solution was a temporary one,I think.

Thank you all for your input. I will stick to the 6-pin header, following your advice. I'll invest in more stable connections (proper headers/jumper wires, or just solder everything with wires).

I think I've found the issue. It might relate to the first picture in my first message.

After I removed the green pin-header (which I initially soldered onto the arduino myself), I took a look at the capacitor that was highlighted in red on the picture. It seems to have leaked, because I was able to remove the white substance easily with a scalp. Might have been oxidation, or maybe a broken capacitor. So that's why it won't upload; it won't reset with the capacitor, as DrAzzy suggested.

Is there any chance I could replace this capacitor?

Yes, remove and replace it. You can use another SMD capacitor of similar physical size. It is 0.1uF. If you have a common round disc capacitor of 0.1uF you can bend the legs to fit and solder it in place. It could be tricky since the pads are very small. As an alternative you can just remove the capacitor and solder a common round disc capacitor of 0.1uF between the RST pin and the GRN pin. If you look at the Pro Mini schematic you will see that is how the capacitor is connected anyway.

If the situation is too daunting at your current skill level for soldering, you may just throw the Pro Mini in a broken parts box or bag and come back to it later. In the meanwhile, fresh Pro Minis can be had on eBay for very cheap ($1 to $2).

Thanks everyone for the pointers on what could be the issue! I think the round-disc capacitor replacement for the smd one is my way to go. Thanks for the tip on the RST -> GRN connection.

Let's make this work! Have a nice morning/afternoon/evening everyone! :slight_smile:

Hi, I had the same issue when trying to upload a sketch for a multiwii (supposed to be a arduino mini atmega 328p au) using a FTDI tool. I burned a bootloader using an arduino Uno (as isp) using Nick Gamon sketch. Then I tryied to upload the multiwii sketch and started to get the ´programmer not responding´message.
I was using Arduino Mini as board, but I changed it to arduino Uno and it worked.
Probably this is not going to be a solution for somebody else but wanted to share my case.