Unable to upload code to Atmega328P (bootloaded as UNO) via USB UART TTL

Hello everyone,

for three days straight I have been struggling over a certain problem which is inability to program my Atmega via USB to TTL converter.

I wanted to use Atmega328P in my project. To be able to program it I have decided to burn an Arduino UNO bootloader on it and then use it as I would have been using standard Arduino.

Following the instruction from this link I've successfully burned the proper bootloader. It has an Arduino's heartbeat while connecting and disconnecting Atmega's first pin to the GND.

Then I wanted to use USB to TTL (C2102) converter to program my fresh - burned Atmega. I am using something like this.

My connections on Atmega are:

  • PIN7 to VCC
  • PIN8 to GND
  • PIN22 to GND
  • PIN 20 to VCC
  • 10k Resistor between PIN1 (RESET) and PIN7 (VCC)
  • 16Mhz Crystal between PIN9 and PIN10
  • Every Crystal's pins connected to GND via 22pF Capacitors

My connections between Atmega and USB to TTL converter:

  • RX to Atmega's PIN3 (TX)
  • TX to Amtega's PIN2 (RX)
  • GND to GND
  • 5V to VCC
  • DTR to Atmega's PIN1 (RESET) via 100nF Capacitor

I am opening Arduino IDE, picking proper board, port and programmer (Arduino UNO, mkII). Every time I try to upload something, I receive such error:

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "E:\Programy\Arduino\arduino-nightly\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x35
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x35

avrdude done.  Thank you.

I have been trying with different capacitors on DTR to RESET (10uF, 10nF, 100nF), I've tried to modify Atmega's connections a little, I've tried to manually reset the Atmega (plug and unplug PIN1 to GND), right after the program starts to upload. I've read like dozens of forums with similar problems but none of the suggested solutions worked for me.

I am helpless and out of ideas. At this point I am not even sure what is the problem. Software? My converter? Maybe something with Atmega or it's bootloader? I would appreciate any suggestions.

Few additional information:

  • Arduino IDE version: 1.8.15
  • Atmega: Atmega328P U
  • Operating system: Windows 8.1 / MAC OS Catalina (both does not work)
  • USB to TTL Drivers downloaded from Silicon Labs (CP210x)
  • Arduino Board: UNO R3 Clone, you might take a look eBay listing number 1184299414 (sorry I am able to attach up to 2 links as a new user).

Do you see the D13 LED flash immediately after attempting the upload?

Yes, when Arduino IDE displays "uploading" LED blinks 3 times.

In your 328 connections list I missed the required 0.1uF bypass caps between Vcc and ground and AVcc to ground.

I've seen those on schematics, but I haven't seen anyone using them on tutorial viedeos. Nevertheless, I've added 0.1 uF caps as you have suggested and tried to upload again. Unfortunately, nothing has changed :frowning:

I am attaching photos of my breadboard just in case.



Do you have an arduino board to put your chip in there and test the bootloader?

Unfortunately at this moment I have only this clone I have mentioned. It is possible that if nothing changes I'll just order the original UNO though.

Try to check with this tutorial Arduino as ISP and Arduino Bootloaders.

I gave up, went to buy original Arduino UNO. Following the instrucions on the site, everything worked as expected immidietly.

No.
More.
Clones.