Can't program ATMEGA328-programmer not responding

Hi,

I have an Arduino clone board (Haceduino), Duemilanove with a ATMEGA328.

When I try to upload the blink program to the board I get the following output from avrdude:


avrdude: Version 5.4-arduino, compiled on Oct 9 2007 at 11:20:31
Copyright (c) 2000-2005 Brian Dean

System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/meinaartvanstraalen/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/tty.usbserial-A600cfhT
Using Programmer : stk500v1
Overriding Baud Rate : 57600
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: Send: Q [51] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding


I already tried a different baudrate (19200). I also swapped the ATMEGA328 with one on another board. If I use the other board I can program the ATMEGA328 just fine (and the program also runs fine on the Haceduino).

I had this problem before so I asked for a replacement board from the supplier. They send me one, but it's still not working so I think it's a software issue.

I don't think the boatloader should be the problem because I can program the ATMEGA328 using another board. Also, if I select burn boatloader from the Arduino IDE it crashes when I use w/AVR ISP. And if I use "w/AVR ISP mkII" I get this error:


avrdude: usbdev_open(): did not find any usb device usb


I use Arduino IDE 0017 on OSX 10.6.1.

Thanks in advance!

I just installed Arduino IDE 0017 under Windows XP (via vmware fusion) and it works fine. What could be the cause of the board not working in OSX? While other boards are?

Anyone?

Have you tried a different USB cable?

Different USB port?

There are many messages regarding setup and permission on *nix operating systems. Have you tried any of those suggestions?

Thank you for your suggestions. I tried different USB ports and different USB cables, no change in behavior.

The strange thing is that it works perfectly on the same machine if I use Windows XP in vmware Fusion. So you are probably right it has something to do with OSX.

I have 2 other Arduino boards and they work smoothly with the same cable on the same USB port (on OSX).

The Duemilanove uses an FTDI FT232RL chip to communicate to the host computer.

What does the Haceduino use?

The Haceduino uses the same chip.

Have you seen this:

http://arduino.cc/en/Guide/Troubleshooting#macupdate

Yes I have seen that, but Arduino IDE starts up fine and I can program other Arduino boards just fine. So I don't think it's the java version :).

Anyone has the same problem? Is it a known problem?

Yep -- for whatever it's worth, I'm seeing the same thing:

  • When I try to upload a sketch from the OSX IDE to my Haceduino I get the "programmer not responding" error (Arduino IDE v18, OS X 10.6.2)
  • With the same board plugged into the same USB port using the same cable, I'm able to successfully upload a sketch using the Windows IDE running under XP in a Parallels virtual machine.

I'm having the same problem. I bought the board used from a friend, so I am leaning towards it being a software problem, and not a board problem. Unfortunately, this is my first attempt, so I can't narrow the possibilities much. Any help would be greatly appreciated.

Verbose output to follow.

Mac OSX 10.6.2
Arduino18
Duemilanove Atmega328

Binary sketch size: 896 bytes (of a 30720 byte maximum)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P/dev/tty.usbserial-A9007LBj -b57600 -D -Uflash:w:/var/folders/+t/+tA5zeP2ED0WCIeZNx+k6U+++TI/-Tmp-/build1118663668996004424.tmp/Blink.cpp.hex:i

avrdude: Version 5.4-arduino, compiled on Oct 9 2007 at 11:20:31
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/owen/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/tty.usbserial-A9007LBj
Using Programmer : stk500v1
Overriding Baud Rate : 57600
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: Send: Q [51] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Ok, so I can upload if I press the reset button until the initial packets are sent, and then stop. This is super annoying, but at least I know the board is fine. The problem seems to be that the upload can't occur while the sketch is running. Has anyone seen this before? Is there a fix?

The automatic upload works by turning DTR high which resets the Arduino.

It is possible...

  • DTR flow control is disabled (operating system problem)
  • The reset circuit on your Arduino has been disabled (hardware problem)
  • You have an older Arduino that does not have the automatic upload feature

Thanks for the tip! It turns out the Reset-En on my board had been disabled.

"The Duemilanove contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details." http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove

By touching some wire across the pads, I was able to reenable the auto-reset.

Just want to add some useful information to this thread, as I was having this problem as well, but mine had a different solution.

From the Troubleshooting docs on uploading:

Disconnect digital pins 0 and 1 while uploading (they can connected and used after the code has been uploaded).

For reference, those pins are the RX and TX pins, respectively.

Hello,

I am having the problem described by Meinaart and Mark Roedel - that is, a Duemilanove board that works fine with the Window IDE 0018 running under Windows 7 in a Boot Camp or VMWare on my Mac does not accept uploads on the same machine/port/cable/etc. from an IDE 0018 running under Mac OS X 10.5.x or 10.6.x. Resetting the board manually at the start of upload doesn't help, although I have not tried it too hard. I use the latest FTDI driver under Mac OS X, and it works - the board programmed from under Windows talks to the Serial Monitor running under Mac OS X.

Meinaart and Mark Roedel, have you found a solution?

I found and resolved the problem with my DIY Arduino Duemilanove clone that prevented uploading under Mac OS X but not under Windows.
The schematic of Duemilanove has a resistor named R2 with a value "100_NM". "NM" stands for "Not Mounted", but I did solder this resistor in and thus connected RTS# pin of FT232RL with the RESET pin of ATMega. This had no effect under Windows, but Mac OS X seems to force RTS low while the serial port is in use. That is, whenever I was trying to upload a sketch from the IDE, the ATmega was in reset, and avrdude reported that "programmer is not responding". I removed R2 from the board, and now it works fine in both Windows and Mac OS X. Better late than never...