[SOLVED] Can't upload sketch on Mac 10.10 Yosemite

Seen this problem at least 20 times in this forum, and none of the solutions worked. Tried getting FTDI drivers, reinstalling Arduino IDE, switching FTDI cables, getting an FTDI adapter.

Just completely frustrated at this point that the guys at Arduino don't have a guide that allows us to use them. Most likely will be moving to another platform if I can't solve this.

Using Arduino Pro Mini, 5V 16Mhz. On a Macbook Pro running Yosemite. I click upload on the Arduino IDE, and I get the standard avrdude sync error. Obviously a DTR/RTS issue where the line is not being pulled low. And yes, I know that the drivers on Apple supplies on Yosemite are not enough, so I got the FTDI drivers separately after removing the Apple drivers.

I really hope you guys can solve this...

I suggest do the loopback test, that will tell if your FTDI adapter and drivers are working well.

http://forum.arduino.cc/index.php?topic=73748.0

Post pictures of your setup. Do you have that FTDI adapter plugged right onto the programming header of the Pro Mini?

I did the loopback test and it worked. Everything I typed was written back.

I don’t believe that the communication or FTDI drivers in terms of connection to the board is an issue. This looks simply like like there is a problem uploading to the board because of the DTR/RTS line. I feel like the driver doesn’t either signal it low, or the Arduino-FTDI-Mac combo has some serious issues.

I attached a pic. Not sure if it’ll help because it is simply just an FTDI cable attached to the Arduino Pro Mini. Ignore the two green wires. They aren’t connected to anything.

What does the whole FTDI cable look like and does it have documentation about what each color wire is for?

What colors are you connecting to each header pin and what are the labels of each pin on the Pro Mini you are using?

You don’t absolutely need DTR because you can press reset manually at beginning of download. But you should be able to observe LED blink pattern disruption on the Arduino to see if it appears to be resetting via DTR if it has the stock blink sketch still installed.

I bought the FTDI cable from Adafruit: https://www.adafruit.com/products/70

Here is a pinout diagram: https://raw.githubusercontent.com/guyz/pyesp8266/master/ftdi_pinout.png

I don't get what you mean by "observe LED blink pattern disruption".

It has been a while since I received my Pro Mini, but I believe mine came pre-loaded with the blink sketch, so when hooked up it blinked the on-board pin 13 LED once per second. That is the LED next to pin 10. If yours has that, when you try to upload, does the blinking pattern change momentarily and then resume? This would indicate an automatic reset is working. If you don't have the blink sketch pre-loaded then that test would not do you good.

But I think you may have other problems. I look at the Adafruit web link you gave, and there is a Diagram link there which shows the colors and what they mean. They match the other pinout diagram you gave the link to. So far so good. But why in the picture you posted showing it hooked up to your Pro Mini are the colors not as advertised? To me they look yellow, white, green, red, blue, black.

I don’t think the blink sketch is loaded.

I used a different FTDI Cable. Attached is a picture with the Adafruit cable. The LED does blink once during upload.

Ok, that is good. So what we've established so far is the FTDI cable passes the loop back test, and the Pro Mini appears to be alive because the LED blinks during upload. You probably have a working bootloader on the Arduino. Do you also observe the LED on the Arduino blinks when you press the reset button?

What have you selected on the Tools menu for Board and Processor?

How are you attempting upload, is it with the upload button in the IDE, or with a menu selection like Sketch, Upload? You are not attempting to use the Upload Using Programmer, right?

In the IDE preferences, there is an option to show verbose output during upload. I recommend selecting that. Then try the upload and post the verbose output. Use the code tag when you reply and put the verbose output in the code markups please, so the text won't get reformatted.

The LED does blink when I press the reset button.

In the tools menu I selected "Arduino Pro or Pro Mini" and "Atmega 328 (5v, 16 Mhz)".

I'm clicking Sketch, Upload.

Arduino: 1.6.6 Hourly Build 2015/07/16 05:13 (Mac OS X), Board: "Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

Sketch uses 450 bytes (1%) of program storage space. Maximum is 30,720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
WARNING: Category 'USB' in library Keyboard is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Mouse is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Keyboard is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Mouse is not valid. Setting to 'Uncategorized'

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

Please re-attempt, only first go into the IDE preferences and check the box for Show verbose output during upload.

My bad, I think I clicked Cancel last time. Here is the verbose output:

Arduino: 1.6.6 Hourly Build 2015/07/16 05:13 (Mac OS X), Board: "Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

Build options changed, rebuilding all

Sketch uses 450 bytes (1%) of program storage space. Maximum is 30,720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-A400hagI -b57600 -D -Uflash:w:/var/folders/cb/jk9q_cqx29b8732_txnk8b4r0000gn/T/build4298499344083126838.tmp/sketch/sketch_jul19a.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
         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/tabchas/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbserial-A400hagI
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
WARNING: Category 'USB' in library Keyboard is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Mouse is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Keyboard is not valid. Setting to 'Uncategorized'
WARNING: Category 'USB' in library Mouse is not valid. Setting to 'Uncategorized'

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

Ok, here is where we stand: The "programmer" that is "not responding" is the bootloader program which is running on the Pro Mini. The serial device "/dev/cu.usbserial-A400hagI" is what is trying to contact it with baud rate 57600, which is what the bootloader on the Pro Mini should be programmed to use. If your serial device "/dev/cu.usbserial-A400hagI" is what passes the loopback test, then I have a pretty good feeling about the FTDI adapter, the Mac, and the drivers being OK.

The next thing I would try is installing Arduino 1.6.5 and not use the hourly build, because that hourly build does not have great numbers of people using it for Pro Minis and it is possible during some development work parts of the app could be broken. The chances of this being a problem are probably small, but it is something fairly easy to eliminate as suspect.

Another thing I would do is burn a fresh bootloader on the Pro Mini. This would require an ISP programmer, or another Arduino which is working and you can load the ArduinoISP sketch on it to turn it into an ISP programmer.

also I would re-accomplish the loop back test while the FTDI is connected to the Arduino by jumping the RX and TX pins of the Arduino.

Solved by using another Arduino Pro Mini. That one might have been shorted during soldering, or have other issues. I'll do further debugging of it later.

For future reference, using the FTDI VCP drivers on Mac is the way to go and a necessary step.

Thanks!

Ok, great!