SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By Cannikin
#126321
I just picked up two Pro Mini 3.3's and I'm getting errors as well when trying to upload through my FTDI board. My error is a little different:
Code: Select all
avrdude: stk500_recv(): programmer is not responding
I've seen this on my Duemilanove if, for example, I have the wrong board selected to upload to. Now, on several other posts people talked about a certain LED blinking sequence when the board was first powered on--i didn't have anything on mine, just a quick single blink of the green LED on power up (same as on reset). Maybe this is a clue?

I figured I would try the bootloader method but no dice. :( I set up my Uno and followed instructions to the letter. Here's the error I'm getting:
Code: Select all
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): unknown response=0x12
The mini blinks a couple of times but that's about it. So if the bootloader can't event be set, what else can I do? Is it possible I really do have two bad boards? I've been playing with Arduinos for more than a year now so I'm pretty confident this isn't just a noob mistake. It's my first time using a Mini Pro, however. Anyone have any advice?
By SFE-Michelle
#126439
Unfortunately we had a batch of the 3.3V Pro Minis get the 5V bootloader in April 2011. This prevents the computer from seeing the chip making it impossible to upload code. Installing the correct bootloader should solve the problem. If you have any questions on how to install the bootloader or don't have the means to do so (or have any other question) send us an email at techsupport <at> sparkfun <dot> com. Sorry about the problem.
By Jeff_Carlson
#126732
Cannikin,

If you have the correct board chosen, then I would do as rubinoae suggests in his first post and check the functionality of the FTDI board. Simply place a jumper across the Rx and Tx lines, and see if you observe an echo in the serial monitor of what you type.

Alternatively, you can wire your Duemilanove to your FTDI board and try to upload a sketch by the following connections:

FTDI -> Duemilanove:

Gnd -> Gnd
CTS -> Gnd
3.3V -> 3.3V
Tx -> Rx
Rx -> Tx
DTR -> Reset

I believe this is the correct wiring, but you should probably wait for someone else to double check that as I do not have not have one in front of me at the moment. It may be necessary to forgo the DTR-> Reset connection and instead manually reset during upload, but I am unsure of that.

Also, It might be a good idea to double check that you have received the 3.3V version of the FTDI board and not the 5V version.

If your Duemilanove works with its own FTDI chip, then this *should* rule out any driver issues you could be having, but it might wise to reinstall the drivers just in case.

Finally, I would suggest you check your wiring and solder connections.

I hope you can get it working, as I know these problems are a pain to track down. If you've confirmed that your FTDI board is working and are still unable to install the bootloader with your Duemilanove, then I would suggest sending the chip back to SparkFun as they are *very* good about replacing such things.

Jeff
By samarkh
#129296
rubinoae, you are a god!
I followed your post, as I had the same issues, meaningless error and a 3.3v pro mini that won't take any code!
I think that this wants pinning and / or a health warning given out with the mini pro boards.

Yours Simon M.
By GpKaiKala
#132849
Hi,

is there any reason that would prevent me from trying to burn a new bootloader following exactly the steps of the 1st post on a Seeeduino Film?

I also use a 3.3V FTDI breakout from Sparkfun and have tried more or less what rubinoae had tried. The FTDI loopback test works fine in my case, too.

Is Seeeduino using a different bootloader maybe? Or does the ArduinoISP sketch need any modification before uploading it to an Arduino Uno?

Any ideas?
By cappy
#133774
rubinoae wrote:**SOLVED** (skip down to the solution toward the bottom if you are in a hurry)

I originally asked for help in this post:viewtopic.php?f=32&t=27105 but thought I should post my own solution since I was having a slightly different problem and what worked for those individuals did not work for me.

Symptoms:
When trying to upload a sketch, any sketch, to an Arduino Pro Mini 3.3v using an FTDI Breakout Board 3.3v I received the following errors from the IDE:

avrdude: stk500_getsync(): not in sync: resp 0x00
avrdude: stk500_disable(): protocol error, expect 0x14, resp 0x51


When connected to the FTDI board which was in turn connected to the computer via USB I would get eight blinks from the LED by pin 10 and the red LED would remain illuminated. I clicked upload on the IDE the Arduino Pro Mini would reset, LED by pin 10 would blink a couple times, then TX red LED on FTDI board would flash three times. The result would always be these errors.

Let me first describe what I was using and what I tried:

Hardware and Software:
  • Arduino Pro Mini 3.3v w/ATmega328 (I actually have two of these and BOTH were failing)
  • FTDI Breakout Board 3.3v
  • Arduino Uno (not part of the original problem but used in the solution. I never had any issues uploading sketches to the Uno at any time)
  • Appropriate USB cables
  • Arduino IDE v0022
  • FTDI VCP Drivers v2.08.14
  • Windows 7 64-bit
If you are like me then unfortunately you have spent about three weeks and countless hours sifting through forum posts on Sparkfun.com and Arduino.cc trying every possible solution to resolve this error. I tried all of the solutions listed below and many others, NONE resolved the problem:
  • checking and rechecking, soldering and resoldering headers on the Arduino Pro Mini to ensure there isn't a faulty connection (according to most other posts this resolved most instances of these errors)
  • buying new USB cables
  • replacing the FTDI board (Since i never had issues uploading sketches to my Uno and both
  • considering replacing the Arduino Pro Mini
  • wired the FTDI to the Arduino without using the programming headers
  • checked, rechecked, and triple checked port and board setting in the Aduino IDE
  • tried different reset timing and sequences
  • uninistalled and reinstalled all drivers and IDE
  • changed port settings, numbers, baud rate, etc
  • turned off my firewall

I quickly started to believe the problem was with my FTDI board, PC, or settings so I used the tests below to elliminate those variables.

FTDI loopback test:
  • You can verify proper operation of the FTDI board by putting a jumper on the TX and RX pins
  • then connecting the FTDI via USB to you computer.
  • Then run the Arduino IDE and open the Serial Monitor.
  • Enter a character in the input textbox and click "send". If the FTDI board is working and drivers and settings are correct you should see your input echoed in the textbox below.
Program another Arduino using the FTDI board:
So I happen to have an Arduino Uno handy and this really saved my behind. Since I never had any issues uploading sketches to the Uno at any point during this headache Sparkfun tech support suggested I attempt to upload a sketch to the Uno using my FTDI board. I was hesitant at first thinking the Uno required 5v and the FTDI board that I had only supplied 3.3v. To my surprise, it worked!
  • You only really need to connect the RX, TX, VCC, and GND for the communication to work and this is how I did it:

    FTDI ----Arduino Uno
    RX-------TX (pin 1)
    TX-------RX (pin 0)
    3v3------3.3V
    GND-----GND
  • connect the FTDI via USB to my computer
  • open the Arduino IDE and selected the correct COM port and Board (Uno in this case).
  • This next step is important because I did not connect the RESET between the FTDI and Uno. When I clicked on upload i watched the FTDI board intently, when the TX LED (the red one and may be rather dim) flashed the first time I pressed the RESET button on the Uno.
  • If all goes well you should successfully upload the sketch to the Uno.

Both of the above tests proved my FTDI hardware, drivers, and settings were correct. That pretty much left me with the possibility of two faulty Arduino Pro Minis. Since the LED activity on the Arduino Pro Minis appeared to indicate the hardware was functioning correctly I turned toward troubleshooting the bootloader.

**SOLUTION** Reinstall 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 seperate programmer.
6. Power the Uno off and wire the Uno to the Arduino Pro Mini in the following fashion:

Uno---------------Pro Mini
3.3v-----------------------VCC
GND------------------------GND
Digital Pin 11(MOSI)----pin 11 (MOSI)
Digital Pin 12(MISO)----pin 12 (MISO)
Digital Pin 13(SCK)-----pin 13 (SCK)
Digital Pin 10----------RST

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

This was a magical moment for me. All kinds of LEDS were blinking and flashing. After a few seconds the IDE said: Done burning bootloader, thank you. If this is also your result you have successfully reinstalled the bootloader on you Arduino Pro Mini. Next, connect the FTDI board to the Arduino Pro Mini and attempt to upload a sketch. I was so excited that this worked I let my wife sucker me into going to the arts and crafts store so she could buy some new sewing thread. Don't fall for this. Every sketch I have uploaded to my Arduino Pro Minis has been successful form this point on. The end.
Why do you have to reprogram an Arduino Uno- to program the Arduino Pro Mini?
Wy can you not program the mini using the Arduino IDE?
By rubinoae
#133775
cappy wrote:Why do you have to reprogram an Arduino Uno- to program the Arduino Pro Mini?
Wy can you not program the mini using the Arduino IDE?
You would use the Arduino IDE to upload sketches to the arduino but my problem was with the bootloader. In order to reinstall the bootloader you have to have an ISP programmer. You can use the Arduino Uno as an ISP programmer using the ISP sketch and wiring it up correctly to the Arduino that needs the new bootloader.
By cappy
#134280
You can use the Arduino Uno as an ISP programmer using the ISP sketch and wiring it up correctly to the Arduino that needs the new bootloader.
Can I also use a Duemilanove (328) as an ISP programmer, as long as it is connected correctly to the target board?

In my case, I need to re-bootload a few target 328s to run at 8Mhz.

Using your steps above, I'm trying to find out if I can do this...

1. Configure a Duemilanove (328) as an ISP programmer.
2. Wire up a Duemilanove (328) to a Diecimilia, with the target 328 in place of the original 168
3. Rebootload the target 328 on the Diecimilia board with a new bootloader so that it will run @ 3.3V & 8Mhz.
By cappy
#134328
rubinoae wrote:
Can I also use a Duemilanove (328) as an ISP programmer
I'm almost positive you can. Follow the link to the ISP tutorial and be mindful of the different pins.
I've looked at the schematic for the Duemilanove board as well as the Diecemilia board.
The ISP connector pinout is the same for both.

I've tried the board-board bootloader update, it didn't work.

So I moved the target 328P to a breadboard, and wired it up using this reference

http://arduino.cc/en/Tutorial/ArduinoToBreadboard

I get the same error as when I tried the board-board method
"avrdudude: stk500_getsync(): not in sync: resp=0x15"
Apparently, the Duemilanove isn't able to talk to the target 328P chip.
(or at least that's what my impression of what the error message means. I'm able
to download the ISP sketch to the Duemilanove)

I've verified my wiring several times.

I could use some help at this point.
By s-p-e-x
#135691
I believe the issue here is the auto-reset doesn't always work properly when you're using an Arduino as an ISP.

I'm using a seeeduino which lets me switch off the auto-reset. When I did that, my 0x15 error went away.

[Now I have other problems... ]
By Marmite Laser
#140971
Hi

Just found this board for exactly the question originally asked. I checked my FTDI loopback: fine.

I'd also seen a comment that some bootloaders don't wait very long at all for you to start upload, so I tried this:

Press and hold the Arduino reset button
Start the compile/download
When the Adruino loader reports "Binary sketch size: xxxx bytes (of a xxxxx byte maximum)", release the reset button.

Worked for me