Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

avrdude with Arduino Nano Every #980

Closed
mcuee opened this issue May 30, 2022 · 7 comments
Closed

avrdude with Arduino Nano Every #980

mcuee opened this issue May 30, 2022 · 7 comments
Labels
duplicate This issue or pull request already exists

Comments

@mcuee
Copy link
Collaborator

mcuee commented May 30, 2022

Ref: https://www.avrfreaks.net/forum/uploading-code-new-arduino-nano-every

Quite some boards from Arduino, including Nano Every (ATmega4809) needs the COM port to be opened / closed at 1200baud to start the Bootloader or on-board programmer.

As per the above, there is a way to use a batch file under Windows. Just wondering if there is a way to enhance avrdude to carry out this one as a command line option. Or this will always need to be done by the user outside of avrdude.

mode %COMPORT% baud=12 dtr=on > nul
mode %COMPORT% baud=12 dtr=off > nul

Without the above, it will fail.

PS C:\work\avr\avrdude_test\avrdude-v7.0-windows-x64> .\avrdude.exe -v -patmega4809 -cjtag2updi -PCOM7 -b115200

avrdude.exe: Version 7.0
             Copyright (c) Brian Dean, http://www.bdmicro.com/
             Copyright (c) Joerg Wunsch

             System wide configuration file is "C:/work/avr/avrdude_test/avrdude-v7.0-windows-x64/avrdude.conf"

             Using Port                    : COM7
             Using Programmer              : jtag2updi
             Overriding Baud Rate          : 115200
avrdude.exe: jtagmkII_getsync() attempt 1 of 10: sign-on command: status -1
avrdude.exe: jtagmkII_getsync() attempt 2 of 10: sign-on command: status -1
...
@mcuee
Copy link
Collaborator Author

mcuee commented May 30, 2022

Run log using the official Windows binary

PS C:\work\avr\avrdude_test\avrdude-v7.0-windows-x64> mode COM7 baud=12 dtr=on > nul
PS C:\work\avr\avrdude_test\avrdude-v7.0-windows-x64> mode COM7 baud=12 dtr=off > nul
PS C:\work\avr\avrdude_test\avrdude-v7.0-windows-x64> .\avrdude.exe -v -patmega4809 -cjtag2updi -PCOM7 -b115200 -e -D -Uflash:w:.\Blink_Every.ino.nona4809.hex

avrdude.exe: Version 7.0
             Copyright (c) Brian Dean, http://www.bdmicro.com/
             Copyright (c) Joerg Wunsch

             System wide configuration file is "C:/work/avr/avrdude_test/avrdude-v7.0-windows-x64/avrdude.conf"

             Using Port                    : COM7
             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:              1.07
  hardware version:              1
S_MCU:
  boot-loader FW version:        1
  firmware version:              6.07
  hardware version:              1
Serial number:                   00:00:00:00:00:00
Device ID:                       JTAGICE mkII
             AVR Part                      : ATmega4809
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             Serial program mode           : yes
             Parallel program mode         : yes
             Memory Detail                 :

                                               Block Poll               Page                       Polled
               Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
               prodsig                 0     0     0    0 no         61   61      0     0     0 0x00 0x00
               sernum                  0     0     0    0 no         10    1      0     0     0 0x00 0x00
               osccal16                0     0     0    0 no          2    1      0     0     0 0x00 0x00
               osccal20                0     0     0    0 no          2    1      0     0     0 0x00 0x00
               tempsense               0     0     0    0 no          2    1      0     0     0 0x00 0x00
               osc16err                0     0     0    0 no          2    1      0     0     0 0x00 0x00
               osc20err                0     0     0    0 no          2    1      0     0     0 0x00 0x00
               fuses                   0     0     0    0 no          9   10      0     0     0 0x00 0x00
               fuse0       wdtcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse1       bodcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse2       osccfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse4       tcd0cfg     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse5       syscfg0     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse6       syscfg1     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse7       append      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse8       bootend     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               lock                    0     0     0    0 no          1    1      0     0     0 0x00 0x00
               data                    0     0     0    0 no          0    1      0     0     0 0x00 0x00
               userrow     usersig     0     0     0    0 no         64   64      0     0     0 0x00 0x00
               flash                   0     0     0    0 no      49152  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 HW version: 1
             M_MCU FW version: 1.07
             S_MCU HW version: 1
             S_MCU FW version: 6.07
             Serial number   : 00:00:00:00:00:00
             Vtarget         : 5.0 V

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.28s

avrdude.exe: Device signature = 0x1e9651 (probably m4809)
avrdude.exe: erasing chip
avrdude.exe: reading input file ".\Blink_Every.ino.nona4809.hex"
avrdude.exe: input file .\Blink_Every.ino.nona4809.hex auto detected as Intel Hex
avrdude.exe: writing flash (1118 bytes):

Writing | ################################################## | 100% 0.86s

avrdude.exe: 1118 bytes of flash written
avrdude.exe: verifying flash memory against .\Blink_Every.ino.nona4809.hex:
avrdude.exe: input file .\Blink_Every.ino.nona4809.hex auto detected as Intel Hex

Reading | ################################################## | 100% 0.22s

avrdude.exe: 1118 bytes of flash verified

avrdude.exe done.  Thank you.

@mcuee
Copy link
Collaborator Author

mcuee commented May 30, 2022

Run log from Arduino.

Forcing reset using 1200bps open/close on port COM7
C:\Users\xiaof\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\xiaof\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega4809 -cjtag2updi -PCOM7 -b115200 -e -D -Uflash:w:C:\Users\xiaof\AppData\Local\Temp\arduino_build_648363/Blink_Every.ino.hex:i -Ufuse2:w:0x01:m -Ufuse5:w:0xC9:m -Ufuse8:w:0x00:m {upload.extra_files} 

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 "C:\Users\xiaof\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM7
         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:              1.07
  hardware version:              1
S_MCU:
  boot-loader FW version:        1
  firmware version:              6.07
  hardware version:              1
Serial number:                   00:00:00:00:00:00
Device ID:                       JTAGICE mkII
         AVR Part                      : ATmega4809
         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    0      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         64   64      0     0     0 0x00 0x00
           flash          0     0     0    0 no      49152  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: 1.07
         S_MCU hardware version: 1
         S_MCU firmware version: 6.07
         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.28s

avrdude: Device signature = 0x1e9651 (probably m4809)
avrdude: erasing chip
avrdude: reading input file "C:\Users\xiaof\AppData\Local\Temp\arduino_build_648363/Blink_Every.ino.hex"
avrdude: writing flash (1118 bytes):

Writing | ################################################## | 100% 0.86s

avrdude: 1118 bytes of flash written
avrdude: verifying flash memory against C:\Users\xiaof\AppData\Local\Temp\arduino_build_648363/Blink_Every.ino.hex:
avrdude: load data flash data from input file C:\Users\xiaof\AppData\Local\Temp\arduino_build_648363/Blink_Every.ino.hex:
avrdude: input file C:\Users\xiaof\AppData\Local\Temp\arduino_build_648363/Blink_Every.ino.hex contains 1118 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.22s

avrdude: verifying ...
avrdude: 1118 bytes of flash verified
avrdude: reading input file "0x01"
avrdude: writing fuse2 (1 bytes):

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

avrdude: 1 bytes of fuse2 written
avrdude: verifying fuse2 memory against 0x01:
avrdude: load data fuse2 data from input file 0x01:
avrdude: input file 0x01 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 "0xC9"
avrdude: writing fuse5 (1 bytes):

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

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

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

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

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

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

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

avrdude: verifying ...
avrdude: 1 bytes of fuse8 verified

avrdude done.  Thank you.


@mcuee
Copy link
Collaborator Author

mcuee commented May 30, 2022

Maybe this is the same as the discussion for Leonardo.

@mcuee
Copy link
Collaborator Author

mcuee commented Jun 2, 2022

I will close this one and refer to #788.

@mcuee
Copy link
Collaborator Author

mcuee commented Jul 28, 2022

I have a similar issue with Atmega32 using avr109 bootloader.

PS C:\work\avr\avrdude_test\avrdude_bin> mode COM9 baud=12 dtr=on > nul
PS C:\work\avr\avrdude_test\avrdude_bin> mode COM9 baud=12 dtr=off > nul
PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM9 -b 115200 -p m32a
 -D -U flash:v:.\m32a_muzi_no_bootloader.hex:i

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x7f

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e9502 (probably m32a)
avrdude_git.exe: verifying flash memory against .\m32a_muzi_no_bootloader.hex:

Reading | ################################################## | 100% 0.18s

avrdude_git.exe: 1376 bytes of flash verified

avrdude_git.exe done.  Thank you.

@mcuee
Copy link
Collaborator Author

mcuee commented Jul 28, 2022

Note to self: how to build avr109 for Atmega32/32a (16MHz external crystal, 115200 baud rate and 2048B bootloader size, short PB4 to ground to enter bootloader)

PS C:\work\avr\avrdude_test\others\avr109_atmel\AVR109_atmega32> make
...
PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c usbasp -p m32a
 -D -U lfuse:w:0x3f:m -U hfuse:w:0x10:m
...

AVR109_atmega32_GCC.zip

Strange that I can not get avr109 to work with Arduino Uno (ATmega328p) -- flash writing failed (not writing anything) but eeprom writing is okay.

C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM2 -p m328p
 -b 57600 -D -U flash:w:.\blink_uno_no_bootloader.hex:i

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: reading input file ".\blink_uno_no_bootloader.hex"
avrdude_git.exe: writing flash (924 bytes):

Writing | ################################################## | 100% 0.23s

avrdude_git.exe: 924 bytes of flash written
avrdude_git.exe: verifying flash memory against .\blink_uno_no_bootloader.hex:

Reading | ################################################## | 100% 0.24s

avrdude_git.exe: verification error, first mismatch at byte 0x0000
                 0xff != 0x0c
avrdude_git.exe: verification error; content mismatch

avrdude_git.exe done.  Thank you.

C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM2 -p m328p -b 57600 
-D -U eeprom:w:.\hex\entest.eep:i

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: reading input file ".\hex\entest.eep"
avrdude_git.exe: writing eeprom (512 bytes):

Writing | ################################################## | 100% 3.29s

avrdude_git.exe: 512 bytes of eeprom written
avrdude_git.exe: verifying eeprom memory against .\hex\entest.eep:

Reading | ################################################## | 100% 1.39s

avrdude_git.exe: 512 bytes of eeprom verified

avrdude_git.exe done.  Thank you.

C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM2 -p m328p -b 57600 
-D -U eeprom:v:.\hex\entest.eep:i

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: verifying eeprom memory against .\hex\entest.eep:

Reading | ################################################## | 100% 1.38s

avrdude_git.exe: 512 bytes of eeprom verified

avrdude_git.exe done.  Thank you.

avr109_gcc.zip

@mcuee
Copy link
Collaborator Author

mcuee commented Jul 30, 2022

The following fuse settings works fine for Arduino Uno (ATmega328P). Baud rate of 57600 is just nice and baud rate of 115200 will not work.

Again I need to manually reset the chip or use the above com port trick.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c usbasp -p m328p 
-U lfuse:w:0xff:m -U hfuse:w:0xd8:m -U efuse:w:0xfd:m

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: reading input file "0xff"
avrdude_git.exe: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude_git.exe: 1 bytes of lfuse written
avrdude_git.exe: verifying lfuse memory against 0xff:

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

avrdude_git.exe: 1 bytes of lfuse verified
avrdude_git.exe: reading input file "0xd8"
avrdude_git.exe: writing hfuse (1 bytes):

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

avrdude_git.exe: 1 bytes of hfuse written
avrdude_git.exe: verifying hfuse memory against 0xd8:

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

avrdude_git.exe: 1 bytes of hfuse verified
avrdude_git.exe: reading input file "0xfd"
avrdude_git.exe: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude_git.exe: 1 bytes of efuse written
avrdude_git.exe: verifying efuse memory against 0xfd:

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

avrdude_git.exe: 1 bytes of efuse verified

avrdude_git.exe done.  Thank you.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c usbasp -p m328p
 -U .\bootloader_avr109_m328p_pd4_57600.hex

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
                 To disable this feature, specify the -D option.
avrdude_git.exe: erasing chip
avrdude_git.exe: reading input file ".\bootloader_avr109_m328p_pd4_57600.hex"
avrdude_git.exe: input file .\bootloader_avr109_m328p_pd4_57600.hex auto detected as Intel Hex
avrdude_git.exe: writing flash (30054 bytes):

Writing | ################################################## | 100% 0.02s

avrdude_git.exe: 30054 bytes of flash written
avrdude_git.exe: verifying flash memory against .\bootloader_avr109_m328p_pd4_57600.hex:
avrdude_git.exe: input file .\bootloader_avr109_m328p_pd4_57600.hex auto detected as Intel Hex

Reading | ################################################## | 100% 0.02s

avrdude_git.exe: 30054 bytes of flash verified

avrdude_git.exe done.  Thank you.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM9 -b 57600 
-p m328p -D -U flash:w:.\hex\Blink.ino.standard.hex

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: reading input file ".\hex\Blink.ino.standard.hex"
avrdude_git.exe: input file .\hex\Blink.ino.standard.hex auto detected as Intel Hex
avrdude_git.exe: writing flash (924 bytes):

Writing | ################################################## | 100% 0.31s

avrdude_git.exe: 924 bytes of flash written
avrdude_git.exe: verifying flash memory against .\hex\Blink.ino.standard.hex:
avrdude_git.exe: input file .\hex\Blink.ino.standard.hex auto detected as Intel Hex

Reading | ################################################## | 100% 0.26s

avrdude_git.exe: 924 bytes of flash verified

avrdude_git.exe done.  Thank you.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM9 -b 57600 -p m328p -D -U flash:v:.\hex\Blink.ino.standard.hex

Connecting to programmer: .
(Does not work).

PS C:\work\avr\avrdude_test\avrdude_bin> mode COM9 baud=12 dtr=on > nul
PS C:\work\avr\avrdude_test\avrdude_bin> mode COM9 baud=12 dtr=off > nul
PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude_git.exe -c avr109 -P COM9 -b 57600 -p m328p -D -U flash:v:.\hex\Blink.ino.standard.hex

Connecting to programmer: .
Found programmer: Id = "AVRBOOT"; type = S
    Software Version = 1.5; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:

avrdude_git.exe: AVR device initialized and ready to accept instructions

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

avrdude_git.exe: Device signature = 0x1e950f (probably m328p)
avrdude_git.exe: verifying flash memory against .\hex\Blink.ino.standard.hex:
avrdude_git.exe: input file .\hex\Blink.ino.standard.hex auto detected as Intel Hex

Reading | ################################################## | 100% 0.25s

avrdude_git.exe: 924 bytes of flash verified

avrdude_git.exe done.  Thank you.

bootloader_avr109_m328p_pd4_57600.hex.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

1 participant