I have made few different Arduino board which are programmable only via ISP because the Serial communication is giving me this error:

Binary sketch size: 3,026 bytes (of a 30,720 byte maximum) avrdude: stk500_getsync(): not in sync: resp=0x00

Serial communication is wired up wrongly but when I connect my FTDI I just swap the cable, that is not an issue in this case

I have followed the simple schematic of Arduino Nano and Arduino Pro mini which are pretty straight forward.

The AtMega is working, I get the signature and I burnt the bootloader successfully and uploaded the sketch, what I cant understand is why I cant upload my sketch over Serial even if the TX and RX are connected right and RESET is wired as the schematic from Arduino website.

This is the Promini schematic https://www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf

and this is mine enter image description here with the board ( I know, is not super nice as layout ) enter image description here

Now this board works fine, and the serial communication as well but when I try to upload any sketch , even a simple blinking light, the compiler returns that error above.

Where am I doing wrong? is the wiring of my reset pin wrong? I followed the instruction to add auto-reset and connect to VCC over a resistor.

BTW, it runs at 3.3V and 8mhz, I need to update the schematic.

Proof of serial working after uploaded the sample sketch from Arduino enter image description here

  • \$\begingroup\$ The other suggestion is, which bootloader did you upload? If you uploaded the standard Arduino bootloader, that is compiled to run @\$16\mathrm{ MHz}\$, so the serial bus speed will be completely wrong. You can test this by halving the baud rate in the Arduino IDE configuration. Could you verify what settings and bootloader you are using? \$\endgroup\$ Nov 7, 2015 at 22:37
  • \$\begingroup\$ The bootloader is 8mhz with the right chip, I tested different sketch which make an led blink, write serial, read serial ,etc.... nothing is wrong with the bootloader. I think is a matter with my reset pin which might be wired up wrong but I cant figure out how. \$\endgroup\$
    – max246
    Nov 7, 2015 at 22:52
  • \$\begingroup\$ The reset pin looks fine, and if you can use ISP there isn't likely to be an issue with it. Do you have access to a logic analyser? \$\endgroup\$ Nov 8, 2015 at 3:52
  • \$\begingroup\$ Yes I have a scope at work, should I check if the reset pin gets trigger when the upload over serial is sent? \$\endgroup\$
    – max246
    Nov 8, 2015 at 12:42
  • \$\begingroup\$ Check the reset signal, and also check the TX line from the ATMega - when it tries to upload you should see this spit out something. If you look at the TX you should be able to measure the Baud rate that the ATMega is generating. \$\endgroup\$ Nov 8, 2015 at 15:22

1 Answer 1


Unfortunately it seems you've made the classic mistake with UART/RS232 connections.

With UART, the RX of one device must connect to the TX of the other (and vice versa). In your design you have connected the TX of the FTDI connection to the TX of the ATMega328p (and RX to RX). As such the two devices won't be able to communicate with each other.

Worse still if you keep trying you are shorting out the TX pin of the FTDI chip every time it tries to send a packet because as the FTDI chip tries to send a low level bit, the TX from the ATMega328 is still driving the line high.

It seems that you are most likely using jumper wires to connect the FTDI interface rather than a board like this as the schematic symbol suggests. So as long as you get your RX and TX jumper cables the right way around that won't be an issue (you should probably specify information like that in your question to avoid confusion).

  • \$\begingroup\$ I think that is not the issue, I mean that is my bad designing on connecting the TX to TX instead of RX, but when I connect the cables to my FTDI chip, I can read the serial port if I upload a sketch over ISP that sends "hello". \$\endgroup\$
    – max246
    Nov 7, 2015 at 22:25
  • \$\begingroup\$ I have updated now with a new screenshot of the serial communication working but this is the error: Binary sketch size: 3,026 bytes (of a 30,720 byte maximum) avrdude: stk500_getsync(): not in sync: resp=0x00 \$\endgroup\$
    – max246
    Nov 7, 2015 at 22:30
  • \$\begingroup\$ Except that mistake, can you see anything else that I might have done wrong with the reset pin? I think is something about the RESET pin which is not correct. I am using a 10k resistor which might work maybe for 5V but I am using 3.3V. \$\endgroup\$
    – max246
    Nov 7, 2015 at 22:49

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.