Arduino IDE (1.8.13, 1.8.15 or 1.8.19) do not want to jtag or serial 2 UPDI -> ATTINY 3216, however, uploading the bootloader works in either case?

Hello all,

After hours of soldering I got my breakout board ready for the SOIC pckg AT Tiny 3216...
I am trying to run the new series 1, the chip since very promising, especially with a good amount of flash and easy programming (UPDI). Indeed, megaTineCore is there to use, however, no matter what I do, I can only flash the boot loader, while I cannot flash a simple "blink".

I have tried three different IDEs 18.15 18.19 and 2.0. Actually, the problem appears to be the same nonetheless the v 18.x is better (18.13 is apparently golden). OK, I am using the jteg2updi as a programmer via the Arduino Uno, I have not tried the serial option with the 'stocky diode'...

I am on Mac OS Catalina 10.15.7 and Uploading a sketch on Arduino Uno otherwise works flawlessly. For example, I have uploaded the jateg2updi scatch... without an error.

Been reading through the Spence Konde manual on gitHub, but obviously not enough. Thinking to start with the serial Turbo, however, why does not a simple UPDI work I am wondering.

Any ideas what I am missing?

**Error when trying to flash the "blink sketch":**
/Applications/Arduino 18.19.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino 18.19.app/Contents/Java/hardware -hardware /Users/imac/Library/Arduino15/packages -tools /Applications/Arduino 18.19.app/Contents/Java/tools-builder -tools /Applications/Arduino 18.19.app/Contents/Java/hardware/tools/avr -tools /Users/imac/Library/Arduino15/packages -built-in-libraries /Applications/Arduino 18.19.app/Contents/Java/libraries -libraries /Users/imac/Documents/Arduino/libraries -fqbn=megaTinyCore:megaavr:atxy6o:chip=3216,clocko=20internal,millis=enabled,bodvoltage=1v8,bodmode=disabled,resetpinopti=UPDI,startuptimeopti=8,bootloaderuart=default,wiremode=mors,printf=default,attach=allenabled -vid-pid=2A03_0043 -ide-version=10819 -build-path /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541 -warnings=none -build-cache /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_cache_945231 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.python3.path=/Users/imac/Library/Arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=/Users/imac/Library/Arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.arduinoOTA.path=/Users/imac/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Users/imac/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azduino6.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avrdude.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avrdude-6.3.0-arduino17or18.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -verbose /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_modified_sketch_56517/Blink.ino
/Applications/Arduino 18.19.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino 18.19.app/Contents/Java/hardware -hardware /Users/imac/Library/Arduino15/packages -tools /Applications/Arduino 18.19.app/Contents/Java/tools-builder -tools /Applications/Arduino 18.19.app/Contents/Java/hardware/tools/avr -tools /Users/imac/Library/Arduino15/packages -built-in-libraries /Applications/Arduino 18.19.app/Contents/Java/libraries -libraries /Users/imac/Documents/Arduino/libraries -fqbn=megaTinyCore:megaavr:atxy6o:chip=3216,clocko=20internal,millis=enabled,bodvoltage=1v8,bodmode=disabled,resetpinopti=UPDI,startuptimeopti=8,bootloaderuart=default,wiremode=mors,printf=default,attach=allenabled -vid-pid=2A03_0043 -ide-version=10819 -build-path /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541 -warnings=none -build-cache /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_cache_945231 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.python3.path=/Users/imac/Library/Arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=/Users/imac/Library/Arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1 -prefs=runtime.tools.arduinoOTA.path=/Users/imac/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Users/imac/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-azduino6.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6 -prefs=runtime.tools.avrdude.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -prefs=runtime.tools.avrdude-6.3.0-arduino17or18.path=/Users/imac/Library/Arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18 -verbose /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_modified_sketch_56517/Blink.ino
Using board 'atxy6o' from platform in folder: /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4
Using core 'megatinycore' from platform in folder: /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4
Detecting libraries used...
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny3216 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DARDUINO=10819 -DARDUINO_AVR_ATtiny3216 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.4\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=4UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -DUSING_OPTIBOOT -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore/api/deprecated -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/variants/txy6 /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/sketch/Blink.ino.cpp -o /dev/null
Generating function prototypes...
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -mrelax -w -x c++ -E -CC -mmcu=attiny3216 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DARDUINO=10819 -DARDUINO_AVR_ATtiny3216 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.4\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=4UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -DUSING_OPTIBOOT -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore/api/deprecated -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/variants/txy6 /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/sketch/Blink.ino.cpp -o /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/preproc/ctags_target_for_gcc_minus_e.cpp
"/Applications/Arduino 18.19.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-g++ -c -g -Os -Wall -std=gnu++17 -fpermissive -Wno-sized-deallocation -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mrelax -mmcu=attiny3216 -DF_CPU=20000000L -DCLOCK_SOURCE=0 -DTWI_MORS -DMILLIS_USE_TIMERD0 -DCORE_ATTACH_ALL -DARDUINO=10819 -DARDUINO_AVR_ATtiny3216 -DARDUINO_ARCH_MEGAAVR "-DMEGATINYCORE=\"2.6.4\"" -DMEGATINYCORE_MAJOR=2UL -DMEGATINYCORE_MINOR=6UL -DMEGATINYCORE_PATCH=4UL -DMEGATINYCORE_RELEASED=1 -DARDUINO_attinyxy6 -DUSING_OPTIBOOT -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore/api/deprecated -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/cores/megatinycore -I/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/variants/txy6 /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/sketch/Blink.ino.cpp -o /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/sketch/Blink.ino.cpp.o
Compiling libraries...
Compiling core...
Using precompiled core: /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_cache_945231/core/core_5bdad73e67a77d2e1aa261a7386c6d9e.a
Linking everything together...
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-gcc -Wall -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -Wl,--section-start=.text=0x200 -mrelax -mmcu=attiny3216 -o /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/sketch/Blink.ino.cpp.o /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/../arduino_cache_945231/core/core_5bdad73e67a77d2e1aa261a7386c6d9e.a -L/var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541 -lm
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-objcopy -O binary -R .eeprom /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.bin
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.eep
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-objcopy -O ihex -R .eeprom /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.hex
bash -c "/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-objdump --disassemble --source --line-numbers --demangle --section=.text /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf > /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.lst"
bash -c "/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-nm --numeric-sort --line-numbers --demangle --print-size --format=s  /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf > /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.map"
/Users/imac/Library/Arduino15/packages/DxCore/tools/avr-gcc/7.3.0-atmel3.6.1-azduino6/bin/avr-size -A /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.elf
Sketch uses 996 bytes (3%) of program storage space. Maximum is 32256 bytes.
Global variables use 10 bytes (0%) of dynamic memory, leaving 2038 bytes for local variables. Maximum is 2048 bytes.
/Users/imac/Library/Arduino15/packages/DxCore/tools/avrdude/6.3.0-arduino17or18/bin/avrdude -C/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf -v -pattiny3216 -carduino -D -P/dev/cu.usbmodem14401 -P/dev/cu.usbmodem14401 -b115200 -Uflash:w:/var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_11541/Blink.ino.hex:i 

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

         System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
         User configuration file is "/Users/imac/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem14401
         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.

Bootloader flashing output:

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

         System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
         User configuration file is "/Users/imac/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem14401
         Using Programmer              : jtag2updi
         Overriding Baud Rate          : 115200
JTAG ICE mkII sign-on message:
Communications protocol version: 1
M_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
S_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
Serial number:                   00:00:00:00:00:00
Device ID:                       JTAGICE mkII
         AVR Part                      : ATtiny3216
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9   10      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         32   32      0     0     0 0x00 0x00
           flash          0     0     0    0 no      32768  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : JTAGMKII_PDI
         Description     : JTAGv2 to UPDI bridge
         M_MCU hardware version: 1
         M_MCU firmware version: 6.00
         S_MCU hardware version: 1
         S_MCU firmware version: 6.00
         Serial number:          00:00:00:00:00:00
         Vtarget         : 5.0 V

avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9521 (probably t3216)
avrdude: erasing chip
avrdude: reading input file "0x00"
avrdude: writing fuse0 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse0 written
avrdude: verifying fuse0 memory against 0x00:
avrdude: load data fuse0 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse0 data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of fuse0 verified
avrdude: reading input file "0x00"
avrdude: writing fuse1 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse1 written
avrdude: verifying fuse1 memory against 0x00:
avrdude: load data fuse1 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse1 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse1 verified
avrdude: reading input file "0x02"
avrdude: writing fuse2 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse2 written
avrdude: verifying fuse2 memory against 0x02:
avrdude: load data fuse2 data from input file 0x02:
avrdude: input file 0x02 contains 1 bytes
avrdude: reading on-chip fuse2 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse2 verified
avrdude: reading input file "0b11000100"
avrdude: writing fuse5 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse5 written
avrdude: verifying fuse5 memory against 0b11000100:
avrdude: load data fuse5 data from input file 0b11000100:
avrdude: input file 0b11000100 contains 1 bytes
avrdude: reading on-chip fuse5 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse5 verified
avrdude: reading input file "0x04"
avrdude: writing fuse6 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse6 written
avrdude: verifying fuse6 memory against 0x04:
avrdude: load data fuse6 data from input file 0x04:
avrdude: input file 0x04 contains 1 bytes
avrdude: reading on-chip fuse6 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse6 verified
avrdude: reading input file "0x02"
avrdude: writing fuse8 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse8 written
avrdude: verifying fuse8 memory against 0x02:
avrdude: load data fuse8 data from input file 0x02:
avrdude: input file 0x02 contains 1 bytes
avrdude: reading on-chip fuse8 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse8 verified
avrdude: reading input file "0x00"
avrdude: writing fuse7 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse7 written
avrdude: verifying fuse7 memory against 0x00:
avrdude: load data fuse7 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse7 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse7 verified
avrdude: reading input file "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex"
avrdude: writing flash (512 bytes):

Writing | ################################################## | 100% 0.10s

avrdude: 512 bytes of flash written
avrdude: verifying flash memory against /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex:
avrdude: load data flash data from input file /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex:
avrdude: input file /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex contains 512 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.10s

avrdude: verifying ...
avrdude: 512 bytes of flash verified

avrdude done.  Thank you.

Got some "progress",
when removing the capacitor (not really uF10, but 100uF) between the RST and GND, the chip is ok, it is responding, but the following is showing up:,
but not uploading the code, why?

Would really appreciate the hint what is going on?
I am using the cap 10uF for 25V, because I do not have the other :slight_smile: I guess this is not a problem, is it?

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

     System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
     User configuration file is "/Users/imac/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/cu.usbmodem14401
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200
     AVR Part                      : ATtiny3216
     Chip Erase delay              : 0 us
     PAGEL                         : P00
     BS2                           : P00
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 0
     StabDelay                     : 0
     CmdexeDelay                   : 0
     SyncLoops                     : 0
     ByteDelay                     : 0
     PollIndex                     : 0
     PollValue                     : 0x00
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
       prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
       fuses          0     0     0    0 no          9   10      0     0     0 0x00 0x00
       fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
       lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
       data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
       usersig        0     0     0    0 no         32   32      0     0     0 0x00 0x00
       flash          0     0     0    0 no      32768  128      0     0     0 0x00 0x00
       eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

     Programmer Type : Arduino
     Description     : Arduino
     Hardware Version: 3
     Firmware Version: 4.4
     Vtarget         : 0.3 V
     Varef           : 0.3 V
     Oscillator      : 28.800 kHz
     SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

An error occurred while uploading the sketch
Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: Expected signature for ATtiny3216 is 1E 95 21
Double check chip, or use -F to override this check.

avrdude done. Thank you.

OK, according to this AVR-Guidance/jtag2updi.md at master · SpenceKonde/AVR-Guidance · GitHub
Is it possible to use the USB to TTL. namely the CP2102 module for the serial connection?

Best.

The serialUPDi is set with the stocky between the rx and tx...
Indeed, again the boot loader flash works:

SerialUPDI
UPDI programming for Arduino using a serial adapter
Based on pymcuprog, with significant modifications
By Quentin Bolsee and Spence Konde
Version 1.2.3 - Jan 2022
Using serial port /dev/cu.usbserial-0001 at 57600 baud.
Target: attiny3216
Set fuses: ['0:0x00', '1:0x00', '2:0x02', '5:0b11000100', '6:0x04', '7:0x00', '8:0x02']
Action: write
File: /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex
pymcuprog.programmer - INFO - Setting up programming session for 'attiny3216'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny3216
pymcuprog.serialupdi.physical - INFO - Opening port '/dev/cu.usbserial-0001' at '57600' baud
pymcuprog.serialupdi.link - INFO - STCS 08 to 0x03
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.link - WARNING - UPDI init failed: Can't read CS register.
pymcuprog.serialupdi.physical - INFO - Sending double break
pymcuprog.serialupdi.physical - INFO - Double-break sent. Retrying.
pymcuprog.serialupdi.physical - INFO - Opening port '/dev/cu.usbserial-0001' at '57600' baud
pymcuprog.serialupdi.link - INFO - STCS 08 to 0x03
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.link - INFO - UPDI init OK
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - Setting UPDI clock to 4 MHz
pymcuprog.serialupdi.link - INFO - STCS 03 to 0x09
pymcuprog.serialupdi.physical - INFO - Switching to '57600' baud
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Using 16-bit UPDI
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.application - INFO - PDI revision = 0x04
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.application - INFO - Entering NVM programming mode
pymcuprog.serialupdi.link - INFO - LDCS from 0x07
pymcuprog.serialupdi.application - INFO - Apply reset
pymcuprog.serialupdi.link - INFO - STCS 59 to 0x08
pymcuprog.serialupdi.application - INFO - Release reset
pymcuprog.serialupdi.link - INFO - STCS 00 to 0x08
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.nvm - INFO - No specific initializer for this provider
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Using 16-bit UPDI
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.application - INFO - PDI revision = 0x04
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.application - INFO - Device ID from pyupdi = '1E9521' rev 'C'
pymcuprog.nvm - INFO - Device ID: '1E9521'
pymcuprog.nvm - INFO - Device revision: 'C'
pymcuprog.nvm - INFO - Device serial number: 'b'323531313737e3fd1f24''
Ping response: 1E9521
Setting fuse 0x0=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x1=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x2=0x2
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x5=0xc4
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x6=0x4
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x7=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x8=0x2
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Finished writing fuses.
Chip/Bulk erase,
Memory type eeprom is conditionally erased (depending upon EESAVE fuse setting)
Memory type flash is always erased
Memory type lockbits is always erased
...
pymcuprog.programmer - INFO - Erase...
pymcuprog.serialupdi.nvm - INFO - Chip erase using NVM CTRL
Erased.
Action took 0.01s
Writing from hex file...
Writing flash...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 464 bytes of data to flash...
[==================================================] 4/4
pymcuprog.programmer - INFO - Write complete.
Writing flash...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 2 bytes of data to flash...
pymcuprog.programmer - INFO - Write complete.
Action took 0.20s
Verifying...
pymcuprog.programmer - INFO - Reading 464 bytes from flash...
pymcuprog.programmer - INFO - Verifying...
pymcuprog.programmer - INFO - Reading 128 bytes from flash...
pymcuprog.programmer - INFO - Verifying...
Verify successful. Data in flash matches data in specified hex-file
Action took 0.13s
pymcuprog.serialupdi.application - INFO - Leaving NVM programming mode
pymcuprog.serialupdi.application - INFO - Apply reset
pymcuprog.serialupdi.link - INFO - STCS 59 to 0x08
pymcuprog.serialupdi.application - INFO - Release reset
pymcuprog.serialupdi.link - INFO - STCS 00 to 0x08
pymcuprog.serialupdi.link - INFO - STCS 0C to 0x03
pymcuprog.serialupdi.physical - INFO - Closing port '/dev/cu.usbserial-0001'```

while, when trying to upload the sketch no, wondering what is going on here hmm...

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

     System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
     User configuration file is "/Users/imac/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/cu.usbserial-0001
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

avrdude done. Thank you.

An error occurred while uploading the sketch```

The fact that you're seeing "Firmware Version: 4.4" means that you're probably talking to the Uno bootloader rather than the ATtiny3216 bootloader, somehow. The optiboot_x bootloaders start up around version 9.1

There wasn't enough info in your posts to figure out the exact problem. After you burnt the bootloader to the 3216, you changed the PORT setting to something that is a usb/serial converter to the serial port of the 3216, rather than the Uno, right?

Yes, I am now following this wiring Using megaTinyCore • Wolles Elektronikkiste namely the Option 2: USB-to-TTL adapter as UPDI programmer

Again, it seems that the boot loader can be uploaded, while uploading the sketch gets me all the stckerrors...

Bootloader debug:

/Users/imac/Library/Arduino15/packages/megaTinyCore/tools/python3/3.7.2-post1/python3 -u /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/tools/prog.py -t uart -u /dev/cu.SLAB_USBtoUART -b 230400 -wd 1 -d attiny3216 --fuses 0:0x00 1:0x00 2:0x02 5:0b11000100 6:0x04 7:0x00 8:0x02 -f/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex -a write -v 
SerialUPDI
UPDI programming for Arduino using a serial adapter
Based on pymcuprog, with significant modifications
By Quentin Bolsee and Spence Konde
Version 1.2.3 - Jan 2022
Using serial port /dev/cu.SLAB_USBtoUART at 230400 baud.
Delaying next op after each page write command by 1.0ms (-wd).
Target: attiny3216
Set fuses: ['0:0x00', '1:0x00', '2:0x02', '5:0b11000100', '6:0x04', '7:0x00', '8:0x02']
Action: write
File: /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex
pymcuprog.programmer - INFO - Setting up programming session for 'attiny3216'
pymcuprog.deviceinfo.deviceinfo - INFO - Looking for device attiny3216
pymcuprog.serialupdi.physical - INFO - Opening port '/dev/cu.SLAB_USBtoUART' at '115200' baud
pymcuprog.serialupdi.link - INFO - STCS 08 to 0x03
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.link - WARNING - UPDI init failed: Can't read CS register.
pymcuprog.serialupdi.physical - INFO - Sending double break
pymcuprog.serialupdi.physical - INFO - Double-break sent. Retrying.
pymcuprog.serialupdi.physical - INFO - Opening port '/dev/cu.SLAB_USBtoUART' at '115200' baud
pymcuprog.serialupdi.link - INFO - STCS 08 to 0x03
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.link - INFO - UPDI init OK
pymcuprog.serialupdi.link - INFO - STCS 06 to 0x02
pymcuprog.serialupdi.link - INFO - Setting UPDI clock to 8 MHz
pymcuprog.serialupdi.link - INFO - STCS 02 to 0x09
pymcuprog.serialupdi.physical - INFO - Switching to '230400' baud
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Using 16-bit UPDI
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.application - INFO - PDI revision = 0x04
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.application - INFO - Entering NVM programming mode
pymcuprog.serialupdi.link - INFO - LDCS from 0x07
pymcuprog.serialupdi.application - INFO - Apply reset
pymcuprog.serialupdi.link - INFO - STCS 59 to 0x08
pymcuprog.serialupdi.application - INFO - Release reset
pymcuprog.serialupdi.link - INFO - STCS 00 to 0x08
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.nvm - INFO - No specific initializer for this provider
Pinging device...
pymcuprog.programmer - INFO - Reading device ID...
pymcuprog.serialupdi.application - INFO - SIB: 'tinyAVR P:0D:0-3M2 (02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Device family ID: 'tinyAVR'
pymcuprog.serialupdi.application - INFO - NVM interface: 'P:0'
pymcuprog.serialupdi.application - INFO - Debug interface: 'D:0'
pymcuprog.serialupdi.application - INFO - PDI oscillator: '3M2'
pymcuprog.serialupdi.application - INFO - Extra info: '(02.59B17.0)'
pymcuprog.serialupdi.application - INFO - Using 16-bit UPDI
pymcuprog.serialupdi.link - INFO - LDCS from 0x00
pymcuprog.serialupdi.application - INFO - PDI revision = 0x04
pymcuprog.serialupdi.link - INFO - LDCS from 0x0B
pymcuprog.serialupdi.application - INFO - Device ID from pyupdi = '1E9521' rev 'C'
pymcuprog.nvm - INFO - Device ID: '1E9521'
pymcuprog.nvm - INFO - Device revision: 'C'
pymcuprog.nvm - INFO - Device serial number: 'b'323531313737458c3716''
Ping response: 1E9521
Setting fuse 0x0=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x1=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.01s
Setting fuse 0x2=0x2
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x5=0xc4
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.01s
Setting fuse 0x6=0x4
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.01s
Setting fuse 0x7=0x0
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.02s
Setting fuse 0x8=0x2
Writing literal values...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 1 bytes of data to fuses...
pymcuprog.programmer - INFO - Write complete.
Verifying literal values...
pymcuprog.programmer - INFO - Reading 1 bytes from fuses...
pymcuprog.programmer - INFO - Verifying...
Action took 0.01s
Finished writing fuses.
Chip/Bulk erase,
Memory type eeprom is conditionally erased (depending upon EESAVE fuse setting)
Memory type flash is always erased
Memory type lockbits is always erased
...
pymcuprog.programmer - INFO - Erase...
pymcuprog.serialupdi.nvm - INFO - Chip erase using NVM CTRL
Erased.
Action took 0.01s
Writing from hex file...
Writing flash...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 464 bytes of data to flash...
[==================================================] 4/4
pymcuprog.programmer - INFO - Write complete.
Writing flash...
pymcuprog.programmer - INFO - Write...
pymcuprog.programmer - INFO - Writing 2 bytes of data to flash...
pymcuprog.programmer - INFO - Write complete.
Action took 0.07s
Verifying...
pymcuprog.programmer - INFO - Reading 464 bytes from flash...
pymcuprog.programmer - INFO - Verifying...
pymcuprog.programmer - INFO - Reading 128 bytes from flash...
pymcuprog.programmer - INFO - Verifying...
Verify successful. Data in flash matches data in specified hex-file
Action took 0.04s
pymcuprog.serialupdi.application - INFO - Leaving NVM programming mode
pymcuprog.serialupdi.application - INFO - Apply reset
pymcuprog.serialupdi.link - INFO - STCS 59 to 0x08
pymcuprog.serialupdi.application - INFO - Release reset
pymcuprog.serialupdi.link - INFO - STCS 00 to 0x08
pymcuprog.serialupdi.link - INFO - STCS 0C to 0x03
pymcuprog.serialupdi.physical - INFO - Closing port '/dev/cu.SLAB_USBtoUART'

Here is the output from the Arduino when uploading the bootloader via the uno:

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

         System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
         User configuration file is "/Users/imac/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem14401
         Using Programmer              : jtag2updi
         Overriding Baud Rate          : 115200
JTAG ICE mkII sign-on message:
Communications protocol version: 1
M_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
S_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
Serial number:                   00:00:00:00:00:00
Device ID:                       JTAGICE mkII
         AVR Part                      : ATtiny3216
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9   10      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         32   32      0     0     0 0x00 0x00
           flash          0     0     0    0 no      32768  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : JTAGMKII_PDI
         Description     : JTAGv2 to UPDI bridge
         M_MCU hardware version: 1
         M_MCU firmware version: 6.00
         S_MCU hardware version: 1
         S_MCU firmware version: 6.00
         Serial number:          00:00:00:00:00:00
         Vtarget         : 5.0 V

avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9521 (probably t3216)
avrdude: erasing chip
avrdude: reading input file "0x00"
avrdude: writing fuse0 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse0 written
avrdude: verifying fuse0 memory against 0x00:
avrdude: load data fuse0 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse0 data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of fuse0 verified
avrdude: reading input file "0x00"
avrdude: writing fuse1 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse1 written
avrdude: verifying fuse1 memory against 0x00:
avrdude: load data fuse1 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse1 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse1 verified
avrdude: reading input file "0x02"
avrdude: writing fuse2 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse2 written
avrdude: verifying fuse2 memory against 0x02:
avrdude: load data fuse2 data from input file 0x02:
avrdude: input file 0x02 contains 1 bytes
avrdude: reading on-chip fuse2 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse2 verified
avrdude: reading input file "0b11000100"
avrdude: writing fuse5 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse5 written
avrdude: verifying fuse5 memory against 0b11000100:
avrdude: load data fuse5 data from input file 0b11000100:
avrdude: input file 0b11000100 contains 1 bytes
avrdude: reading on-chip fuse5 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse5 verified
avrdude: reading input file "0x04"
avrdude: writing fuse6 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse6 written
avrdude: verifying fuse6 memory against 0x04:
avrdude: load data fuse6 data from input file 0x04:
avrdude: input file 0x04 contains 1 bytes
avrdude: reading on-chip fuse6 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse6 verified
avrdude: reading input file "0x02"
avrdude: writing fuse8 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse8 written
avrdude: verifying fuse8 memory against 0x02:
avrdude: load data fuse8 data from input file 0x02:
avrdude: input file 0x02 contains 1 bytes
avrdude: reading on-chip fuse8 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse8 verified
avrdude: reading input file "0x00"
avrdude: writing fuse7 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse7 written
avrdude: verifying fuse7 memory against 0x00:
avrdude: load data fuse7 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse7 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse7 verified
avrdude: reading input file "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex"
avrdude: writing flash (512 bytes):

Writing | ################################################## | 100% 0.10s

avrdude: 512 bytes of flash written
avrdude: verifying flash memory against /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex:
avrdude: load data flash data from input file /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex:
avrdude: input file /Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/bootloaders/hex/optiboot_txyz.hex contains 512 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.10s

avrdude: verifying ...
avrdude: 512 bytes of flash verified

avrdude done.  Thank you.

This works?

Anyway, when trying to upload the sketch , the return is casual stk500 problems...

There is a cap uF10 between the RST and GND pin on Arduino, this apparently does not really help me... returns this errors:


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

         System wide configuration file is "/Users/imac/Library/Arduino15/packages/megaTinyCore/hardware/megaavr/2.6.4/avrdude.conf"
         User configuration file is "/Users/imac/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem14401
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATtiny3216
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9   10      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         32   32      0     0     0 0x00 0x00
           flash          0     0     0    0 no      32768  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

An error occurred while uploading the sketch
Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: Expected signature for ATtiny3216 is 1E 95 21
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

However, this cap should be there to use the UNO as the programmator, which is also evident, because the wrong signature is found to be programmed?

Best.

Another thing got to my mind, if you look at the ATTINY3216/17 datasheet, then on the p.24 it can be read that " Important: The only way to unlock a device is through a CHIPERASE. No application data are retained. " so I am wondering is there a way to do this via the, eg. avrdude ? Or this is not event important in this case?

Best.

HI,
thanks for your reply, as you can see I have shared all of the "outputs" that I get via the programming either via the jtag2updi or serial2updi.

I am using : megaTinyCore, Arduino Uno, IDE 1.8.13 and at tiny 3216
The jtag2updi sketch was successfully uploaded on the UNO.

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

         Using Port                    : /dev/cu.usbmodem14401
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_778793/jtag2updi.ino.hex"
avrdude: writing flash (3984 bytes):

Writing | ################################################## | 100% 0.65s

avrdude: 3984 bytes of flash written
avrdude: verifying flash memory against /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_778793/jtag2updi.ino.hex:
avrdude: load data flash data from input file /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_778793/jtag2updi.ino.hex:
avrdude: input file /var/folders/gd/y3wynx2j3xj650_wqzqz8tsc0000gn/T/arduino_build_778793/jtag2updi.ino.hex contains 3984 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.52s

avrdude: verifying ...
avrdude: 3984 bytes of flash verified

avrdude done.  Thank you.

The ' bootloader ' was as well uploaded, the output can be seen below.
I am having a problem with uploading a basic sketch either via the serial... or jtag...
the problem is given below.

Indeed, the firmware version is as follows:
M_MCU:
boot-loader FW version: 1
firmware version: 6.00
hardware version: 1
S_MCU:
boot-loader FW version: 1
firmware version: 6.00
hardware version: 1

If I want to use the jtag2updi, how should it be used?
So far the settings are as follows:
Tools > Board > megaTinyCore: ATTiny3216...
Chip: ATTiny3216
Clock:10Mhz
...
Port: /dev/cu.usbmodem14401 (yes, Mac, Catalina...)

Board info:
BN: Arduino Uno
VID: 2A03
PID: 0043
SN: 85633323430351F05100

Programmer: jtag2updi

Should I seek the update of the "optiboot"?
Is the firmware as given above, OK?

Although uploading the boot loader works, why would not someone upload the code to the tiny easily straight via the UPDI ?
How to erase the bootloader, at tiny3216, delete all the memory on at tiny?
Avrdude works well via the command line, but not sure how to access the at tiny via the jtag2updi and delta the chip?

Actually, where and what guidelines should be followed to setup the Arduino with regard to the programming? It seems that hardware wiring is OK.

Ok, the problem is resolved, I had to downgrade the megaTinyCore 2.6.4 and it works without a problem!

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