Avrdude communications issue

I have an arduino uno R3.
I am persistently getting this error on both Linux and Windows.
I am convinced it is rooted in a communications issue. I have tried many different options. I bought to sets of chips with the R3 boot code on them. I don't have a spare board, but have at one time been able to upload the blink sketch and a different sketch and back to blink. That is the only time I have successfully loaded a sketch. I configured a breadboard to allow reloading the boot code but the errors are always the same as below. The one time I succeded it was with this linux and IDE configuration. The chip seemed to have blink loaded on it ahead of my one success.

The most likely suggested remedy seems to be related to missing boot code. When I do the upload of sketch, I do see a Rx Led blink, so there is some communication.

After a month of attempts, I am a little bit frustrated and would appreciate advice from someone that knows this code better thank I.

Thank You very much for any suggestions.

jimmusil

Arduino: 1.8.19 (Linux), Board: "Arduino Uno"

/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/arduino-builder -dump-prefs -logger=machine -hardware /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/hardware -hardware /home/jamusil/.arduino15/packages -tools /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/tools-builder -tools /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/hardware/tools/avr -tools /home/jamusil/.arduino15/packages -built-in-libraries /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/libraries -libraries /home/jamusil/Arduino/libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10819 -build-path /tmp/arduino_build_970601 -warnings=none -build-cache /tmp/arduino_cache_91437 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/jamusil/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/jamusil/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -verbose /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/examples/01.Basics/BareMinimum/BareMinimum.ino
/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/arduino-builder -compile -logger=machine -hardware /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/hardware -hardware /home/jamusil/.arduino15/packages -tools /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/tools-builder -tools /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/hardware/tools/avr -tools /home/jamusil/.arduino15/packages -built-in-libraries /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/libraries -libraries /home/jamusil/Arduino/libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10819 -build-path /tmp/arduino_build_970601 -warnings=none -build-cache /tmp/arduino_cache_91437 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/jamusil/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/jamusil/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -verbose /home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/examples/01.Basics/BareMinimum/BareMinimum.ino
Using board 'uno' from platform in folder: /home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5
Using core 'arduino' from platform in folder: /home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5
Detecting libraries used...
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/variants/standard /tmp/arduino_build_970601/sketch/BareMinimum.ino.cpp -o /dev/null
Generating function prototypes...
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/variants/standard /tmp/arduino_build_970601/sketch/BareMinimum.ino.cpp -o /tmp/arduino_build_970601/preproc/ctags_target_for_gcc_minus_e.cpp
/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_970601/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/cores/arduino -I/home/jamusil/.arduino15/packages/arduino/hardware/avr/1.8.5/variants/standard /tmp/arduino_build_970601/sketch/BareMinimum.ino.cpp -o /tmp/arduino_build_970601/sketch/BareMinimum.ino.cpp.o
Compiling libraries...
Compiling core...
Using precompiled core: /tmp/arduino_cache_91437/core/core_arduino_avr_uno_3d57282f83829fa380184c1bda2a762a.a
Linking everything together...
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o /tmp/arduino_build_970601/BareMinimum.ino.elf /tmp/arduino_build_970601/sketch/BareMinimum.ino.cpp.o /tmp/arduino_build_970601/../arduino_cache_91437/core/core_arduino_avr_uno_3d57282f83829fa380184c1bda2a762a.a -L/tmp/arduino_build_970601 -lm
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_970601/BareMinimum.ino.elf /tmp/arduino_build_970601/BareMinimum.ino.eep
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_970601/BareMinimum.ino.elf /tmp/arduino_build_970601/BareMinimum.ino.hex
/home/jamusil/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-size -A /tmp/arduino_build_970601/BareMinimum.ino.elf
Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -V -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_970601/BareMinimum.ino.hex:i

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 "/home/jamusil/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
     User configuration file is "/home/jamusil/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/ttyACM0
     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=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 https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.

Can you remember how you did that? Using USB ("normal" upload) or using a programmer (or other board used as a programmer)? If the latter, you have wiped the bootloader and hence the errors.

Please describe that in detail. You need the board (Uno) and either another board that can act as a programmer or a dedicated programmer.

Thank you very much for your prompt response.

The one time I succeeded with a sketch was a chip that I am convinced already had blink loaded and I was able to update to a different simple sketch and then back to blink. When I loaded a different slightly larger sketch the chip became unresponsive. (That may be problem number 2 but it is not my first priority.) I have lost some of the details about why I succeeded that time.

My sketch setup is an unoR3 board via usb. The board says it is made in italy. The usb is to linux ubuntu 20.04.

I believe my first priority is to get the ability to load boot code on the atmega328P chips. I have several non-working ones. I recently purchased more chips, supposedly with R3 boot code in them. But I haven't seen evidence of that. Is there a way to ruin or alternately rescue these chips?

My effort to write boot code on a chip followed the following very nice example (see url). I built a breadboard and also used the unoR3 board without the controller in it, as shown in the illustration.
https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoToBreadboard

I have an electronics background so I was fairly confident. I followed exactly the recommended software actions in the illustration. I have the 16 mhz clock crystal and the recommended parts. Since I got errors from the boot loader activity I did not move on to the sketch step.

The following is the error log from the attempt to burn boot code.

CHIP B1

This is with the demilove board setting.

sudo ./arduino
[sudo] password for jamusil:
Picked up JAVA_TOOL_OPTIONS:
/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19-linux64/arduino-1.8.19/hardware/tools/avr/bin/avrdude -C/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19-linux64/arduino-1.8.19/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/ttyACM0 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m

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 "/home/jamusil/Downloads/Arduino/Ide1x/arduino-1.8.19-linux64/arduino-1.8.19/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/root/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyACM0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
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.

Error while burning bootloader.

Thanks Again!
Jim Musil

Either I misunderstand what you did or you misunderstand the instructions. Your Uno needs to have the processor; it will run the programmer code.

  1. Insert the processor in the Uno board.
  2. Power it up; you should see a few short flashes of the L-LED; this is the activity of the bootloader.
  3. If the processor has the bootloader, it in general also has the blink sketch preloaded. So after the bootloader times out, you should start seeing a forever repeating pattern of 1 second on / 1 second off on the L-LED.

Yes, I misunderstood the instructions.

Thank you for the information. On my board the L led flashes randomly at the start. Then it does not drop into a 1 second beat but continues to flash (get gradually brighter and dimmer) somewhat randomly.

I am convinced that even though I have ordered 5 chips two times, from different sources (that claim to have a bootloader for uno r3) , I don't necessarily have a working bootloader.

When I try to add the blink sketch to the board (using a recently purchased chip) using the IDE (1.8.19), I get the same error code 'not in sync: resp=0x00' multiple times.

I am sure that I need chips with boot loaders.

I don't want to waste too much of your time. I may give this a rest for a time. Thank you for your assistance.

Jim Musil

That sounds like a faulty Uno board; with an 328P processor (as used on an Uno), the L-LED can not get brighter and dimmer, it can only be on or off.

If you insert one of your 328P chips with bootloader in the breadboard and connect a LED plus resistor between pin 19 of the processor and GND, do you get the flashing of the LED as described in post #4? Leave all wiring to the Uno board out but you need to supply 5V in some way.

Because your Uno might be faulty, try to use a processor that hasn't been in Uno yet.

If your Uno does not use the CH340 (used on many cheap clones) TTL-to-USB converter (the chip closest to the USB port, you can try the Loop-Back Test Instructions. The official Uno uses the 16U2 which is a square chip with legs (pins) at all sides).

What did you buy; you can take a sharp photo and insert it in a post if you don't know.

Don't worry about my time :wink:

OK
Tiny steps forward.

The Loopback test PASSES. Also I see message in the syslog.

Following Your suggestion:
If you insert one of your 328P chips with bootloader in the breadboard and connect a LED plus resistor between pin 19 of the processor and GND,

I did use a unused chip for this experiment.

I do not believe that I see any activity on pin 19. I did try adding a resistor from +5 to pin 1 to see if a reset helps.
I did not use the crystal and capacitors.
I also used my voltmeter to measure pin 19. I did both with it open and with a 10K load resistor. Neither had a response.

I did borrow +5v from the uno board, which my voltmeter confirms is the right thing.
The chip has it's code etched in in a way that is almost invisible.
With a magnifying glass, I find the following numbers on the chip.
Arduino new chips.

(ATMEL LOGO) 354735
ATMEGA328P U
225E5H

Does this confirm that I am missing the boot code?

Thanks again,
jimmusil

My source for the chips was the following.

https://www.ebay.com/itm/403833791133?chn=ps&var=673724152763&_trkparms=ispr%3D1&amdata=enc%3A18-pubuxoS8qZ-XoX-g2NOw65&norover=1&mkevt=1&mkrid=711-117182-37290-0&mkcid=2&mkscid=101&itemid=673724152763_403833791133&targetid=&device=c&mktype=pla&googleloc=9023184&poi=&campaignid=17597089569&mkgroupid=&rlsatarget=&abcId=9300988&merchantid=586214813&gclid=CjwKCAjw79iaBhAJEiwAPYwoCKv51Jgm4d6xvJHIPOmhojNLdh0ZiqHH3ts-p4K31RqttWIHv2WKKxoCm2YQAvD_BwE

jimmusil

The reset was something that I overlooked. The pin might have an internal pullup to prevent it from floating, I'm not sure. So it's a good idea to tie it to Vcc with a resistor. You can reset the chip by briefly shorting the pin to GND.

If the bootloader was programmed, the fuses in the processor should also have been set to use an external crystal. And therefore you need the external crystal and the 22pF capacitors on the breadboard.

You will not be able to determine if a bootloader is installed or not based on the information on the chip; if that was what you were expecting. I do not know all the markings on the chip; the 225 in 225E5H is probably the manufacturing date (2022, May), the E might be the chip revision though I haven't seen datasheets with it.

If the loopback test passes, your board is probably OK. With your multimeter (and the schematic of the Uno), you can check if there is connectivity between the TX and RX pins of the 328P socket and the 16U2 (pins 8 and 9); you should measure 1k.

Loop back test passwd. I will configure the breadboard and do the remaining test later. My schedule got busy so I may be off for a day or two. I did not expect to determine the boot status based on the chip markings. I Only was responding to your offer to take a picture, which wasn't possible.

Thanks again for your assistance.
jimmusil

Ok - I think I'm making some headway.

I remembered that I had seen one chip that had a bootloader and blink on it.
I had programmed my brother's sketch and then set it aside.
So I found that I could reload blink to it.

I programmed that as an ISP and that took.
I then connected the breadboard and was able to load the bootloader to another chip.

So I have achieved my initial goal of being able to load bootloader to chips.

This is a huge success.

Things I have learned:
Be sure to use the 64 bit version of the 1.8.19 software. I think the extract of the zip gave me both.
Understand that before you can run the bootloader you have to program the ISP sketch.
Then the breadboard configured as shown in the attached works to bootload a chip.
https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoToBreadboard

In looking at the text output from the bootloader it looks to me like it is touching the fuses as well.
The bootloader text output looks like success.!

Unfortunately, now when I load the sketch that he had from the past (that worked) it gives me the same error message that we were originally looking at. In short:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

I will do some research from the error message file. I will attach it. Not sure if you can support the sketch. It is called '759_or_761_danger_bell_crossing_gate' and was something he bought several years ago and had success with back then.

I'll attach the sketch as well as the error file.

Thanks again for your assistance.

jimmusil

(Attachment CrossingGateSketch is missing)

(Attachment CrossingGateErrorMsgs is missing)

Two More attachments -since the first two were rejected.

B3CrossingGateErrorMsgs.txt (10.5 KB)

CrossingGateSketch.txt (2.08 KB)

One of my earlier thoughts. Note the the boot loader runs at a slower baud rate than the avrdude. I find an error there regarding the serial port that wasn’t an issue for boot loader.
jimmusil

I am going to wait a few days and see if a new uno board changes my issue in any way.
Thanks
jimmusil

For completeness - I just succeeded with my project.

I started with (found) one chip that would run blink. So I loaded the 'ArduinoISP' sketch on it.
To start with - I loaded boot on a bunch of clearly marked chips using the 'ArduinoISP' sketch and a breadboard for the chip to be loaded.
The markings were useful for my records on organizing the activity.
Then I loaded 'blink' on each of the chips to verify that they were writable and good.
Then finally I loaded the sketch that I needed on the chips and that was also a success.

Thank you again for all of the advice.

jimmusil

Great :+1:

Can you now burn the bootloader to each of those new chips? Or only to the ones that had not been in the programmer yet?

Can you try to summarise all the problems that you encountered and the solution for each of them. It can be a nice reference for you and anybody else that might encounter the problem.

The original issue I posted as a communication issue was rooted in the fact that only one of the 11 chips I tried had the boot loader. I eventually found the one chip which had blink sketch installed on it. An advantage, side effect, of the 'communications issue' errors was that none of the chips received code at that time. So I was able to program all of the chips to add 'boot loader' using the 'Arduino ISP' sketch on the Uno board with an auxiliary breadboard holding the chip I wanted to program. The design at https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoToBreadboard was my model.

It is very useful to learn that the 'Arduino ISP' sketch is in fact a sketch and that 'sketch' word should be inserted in any references for 'ArduinoISP' to reduce confusion with the fact that command nomenclature changes slightly with different versions of the IDE.!

After installing the boot loader, as a precaution, I installed blink sketch before I installed the actual sketch I needed programmed. I learned later that this step was not necessary, but I thought it might make support people's job easier if something was wrong with my sketch.

I did replace the UNOr3 board with a new one, but the old board was working fine, I just wasn't sure of it at the time.

It would be really good if an enhancement to the software, or a new tool, could detect quickly the lack of boot loader on the ATMega328P chip (in Avrdude?) instead of waiting through ten unsuccessful tries to fail communicate.
The error looks like this:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

The help pages do indicate that lack of boot loader is one of the options for the symptoms I had, but I had trouble believing that two sets of chips ordered 'with the boot loader' didn't really have it.

I learned also that Avery Labels #5254 for cassette tape spines make a great 1/4 width label for writing identification on chips, since I had several chips.

I used IDE 1.8.19 and did most of my work under Ubuntu Linux.

I'll be glad to respond to any other detail question, if needed.
Thanks again to the support person who responded to my questions.

jimmusil

Unfortunately, that's literally impossible. If there is no bootloader, the AVR will not respond to any commands on the Serial port used for the communication (or will respond with random data, if the currently-loaded program is trying to use the serial port.) And there's no way to tell the difference between that and some other error that causes the same behavior.

(Oh, you could do it if you had an ISP programmer connected as well. But then you wouldn't need to be using the bootloader in the first place. (Nano Every and Uno WiFi 2 do this - instead of having a bootloader, they've incorporated a programmer into the USB/Serial chip.))

Thanks for the response. I understand.
jimmusil

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.