I have put together a breadboard version of the arduino by following the tutorial on arduino's main website https://www.arduino.cc/en/Main/Standalone.

I have done everything exactly how that tutorial explains it and have double checked my work to ensure I didn't mess up a connection somehow. I have a usb mini breadout board that I am connecting from the breadboard to my computer and the pin outs are as follows:

  • GND -> Breadboard GND
  • 5v -> Breadboard + rail
  • TXO -> IC pin 2
  • RXI -> IC pin 3
  • GND (GRN) -> IC pin 1 through .1μF cap

When I go to the arduino IDE and select the arduino duemilanove setting and upload a sketch I come out with this error:

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

I am using a pre-bootloaded atmega328 chip and have switched it out with two others to make sure it wasn't the switch, but that didn't help either.

Any ideas on what might be the problem?

  • Do you have an actual USB-UART bridge or just a bare USB port? Jun 29, 2015 at 2:33
  • Im using an FTDI breakout board from sparkfun sparkfun.com/products/9716
    – nfoggia
    Jun 29, 2015 at 2:35
  • Since you have 5V already, did you skip the power supply part? Jun 29, 2015 at 2:37
  • No i still have the voltage regulator and the capacitors on the power rails
    – nfoggia
    Jun 29, 2015 at 2:39
  • 1
    You used everything described on that page? Decoupling capacitors? The 16 MHz crystal? GND (GRN) - is not ground - hopefully you have that connected to DTR on the board (not GND). Try manually resetting the board by hitting the reset button on the breadboard, immediately after attempting the upload.
    – Nick Gammon
    Jun 29, 2015 at 4:48

2 Answers 2

  1. Make sure you have a 16Mhz crystal attached to your board at the XTAL locations properly.

  2. If you dont have one already, connect a 0.1uf capacitor (ceramic or metal film) to the reset pin for auto reset capabilities.

  3. The avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 issue is probably due to reset problems, where the arduino is not communicating to the computer. However, there are other possible reasons for this error. http://forum.arduino.cc/index.php?topic=28223.0

  4. Double check that TX on the arduino is connected to Rx on the computer and Rx on the arduino is connected to Tx on the computer

If problems keep persisting, post more information so we can help you more.

  • Yeah, I have checked all of those, including a few solutions on the forum you recommended. Occasionally I the pin 13 light will blink while it is uploading, but its not every time and it is unpredictable. I think my 16mhz crystal might be bad or something. Im going to order a few of them and see if that helps.
    – nfoggia
    Jun 30, 2015 at 2:42
  • Yeah, you should try that.
    – Naan
    Jun 30, 2015 at 15:42
  • Do you have a picture or schematic of your design? That would help
    – Naan
    Jun 30, 2015 at 16:38

To expand upon what was previously mentioned in comments, there are a number of things that need to be done before you can program an ATmega via a serial connection:

  • you need to have a bootloader flashed on the chip

  • you need to provide a clock source (internal or external) matching the fuse settings and the rate expected by the bootloader

  • your programming software must use the same baud rate as the bootloader is expecting

  • you need to have reset the chip recently enough before starting the upload that the bootloader has not timed out - either manually or via a small capacitor to your logic level serial connection's DTR or RTS line

You commented that your chip came from Sparkfun and was sold as having a bootloader. The programmed ATmega328p's they list claim to have the Uno's bootloader, so most likely these need to be programmed at 115200 baud like an Uno. You instead said that you had selected the Duemilanove setting, which would mean you were trying to use a baud rate of 57600.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.