Anduril 2 feature change suggestions

I have one of his newer ones, I choose “serialupdi” in ZFlasher.
Maybe a newer 3pin is required for the dd?

thanks for trying to help, unfortunately I dont have the ability to use Zflasher

tried using serialupdi in my command line, but, still not working…

at this point a new programmer seems like the next thing to try… the programmer I use for my TS10 does not work for my D3AA… oh well…

I went ahead and sent gchart a PM asking to buy a 3 pin programmer from him… (otherwise I see Jackson sells them too)

This is the syntax I use with avrdude to write the hex to the light:

avrdude -p avr32dd20 -c serialupdi -P /dev/tty.usbserial-110 -u -Uflash:w:[path to hex file]

I’ve never bothered backing one up.

In your example you’ve missed the serialupdi argument and the “-P” before the port.

@thefreeman did mention that the D3AA driver doesn’t always play nicely with the 3.3v older version of his programer, hence the new 4.5v which is the one that I have.

I’d try correcting the syntax of your command first and if it still doesn’t work it may be that you need the newer programmer.

1 Thank

Thanks! I tried the syntax you shared… still fail… must be my programmer

I went ahead and ordered a new programmer from gchart… :wink:

2 Thanks

Did you reinstall the driver (if on windows)? What’s the exact error?

thanks for trying to help… I use an iMac, not windows
I think I need a new programmer that is compatible w the D3AA

pymcuprog error posted here

I did not save a copy of the avrdude error, but it does not work either

at this point Ive tried everything I can think of…

it seems the programmer I use for my TS10 is too old to work on my D3AA, so I ordered a new one

gchart sent me this info on how to update my existing programmer, but this stuff is beyond my ability:

“if your existing adapter is recent enough to have the holes for wires and you happen to have a spare larger capacitor sitting around, your existing one can be MacGyver’ed to work. Linky.”

Just for the info value, check out the last several posts here:

The capacitor mod looks like it would be real easy to do… not even soldering required. But @dmenezes was not able to get that to work. Adding the jumper they also mention, did. Again, just for info sake.

1 Thank

thanks, that looks possible, I posted in the thread you linked, much appreciate your help

Received new programmer for D3AA from gchart. It works perfectly on my TS10, but not on my D3AA

does anybody have a guess what Im doing wrong?

this works on my TS10:
pymcuprog read -m all -f ~/Desktop/noblink-ts10.hex -t uart -u /dev/tty.wchusbserial1430 -d attiny1616

this does not work for my D3AA:
pymcuprog read -m all -f ~/Desktop/D3AA.hex -t uart -u /dev/tty.wchusbserial1430 -d avr32dd20

Do you get any kind of error?

the italics is my input, the rest is the output from Terminal :

TS10 successfully saves a hex to my desktop:
Last login: Wed Jul 3 16:12:51 on ttys000
Jonathans-iMac:~ jonathan$ pymcuprog read -m all -f ~/Desktop/noblink-ts10.hex -t uart -u /dev/tty.wchusbserial1430 -d attiny1616
pymcuprog.serialupdi.link - WARNING - Check failed
Pinging device…
Ping response: 1E9421
Reading…
Data written to hex file: ‘/Users/jonathan/Desktop/noblink-ts10.hex’
Done.
Jonathans-iMac:~ jonathan$

D3AA fails to save hex to desktop:
Jonathans-iMac:~ jonathan$ pymcuprog read -m all -f ~/Desktop/D3AA.hex -t uart -u /dev/tty.wchusbserial1430 -d avr32dd20
pymcuprog.serialupdi.link - WARNING - Check failed
pymcuprog.serialupdi.link - WARNING - Check failed
Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.10/bin/pymcuprog”, line 8, in
sys.exit(main())
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/pymcuprog.py”, line 285, in main
return pymcuprog_main.pymcuprog(arguments)
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/pymcuprog_main.py”, line 80, in pymcuprog
status = _start_session(backend, device_selected, args)
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/pymcuprog_main.py”, line 549, in _start_session
backend.start_session(sessionconfig)
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/backend.py”, line 363, in start_session
self.programmer.setup_device(
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/programmer.py”, line 78, in setup_device
self.device_model = get_nvm_access_provider(self.transport,
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/nvm.py”, line 42, in get_nvm_access_provider
accessprovider = NvmAccessProviderSerial(transport, device_info, baud=frequency, options=options)
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/nvmserialupdi.py”, line 51, in init
self.avr = UpdiApplication(port, baud, self.dut)
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/serialupdi/application.py”, line 81, in init
datalink.init_datalink()
File “/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pymcuprog/serialupdi/link.py”, line 45, in init_datalink
raise PymcuprogError(“UPDI initialisation failed”)
pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialisation failed
Jonathans-iMac:~ jonathan$

======

I dont know what all the output from the D3AA attempt means. it also fails with this AVRDUDE:

Last login: Wed Jul 3 18:58:02 on ttys000
Jonathans-iMac:~ jonathan$ avrdude -p avr32dd20 -c serialupdi -P /dev/tty.wchusbserial1430 -U eeprom:r:desktop/D3aaeeprom-backup.hex:i

avrdude: UPDI link initialization failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: Leaving NVM programming mode

avrdude done. Thank you.

Jonathans-iMac:~ jonathan$

Hey Jon,

This is my command-line for reading my D3AA eeprom, which has been working 100% since I modded my @thefreeman adapter to work at 5V instead of the original 3.3V:

sudo avrdude -p avr32dd20 -c serialupdi -P /dev/ttyUSB0 -Ueeprom:r:eprom.bin

Comparing it to yours, I see those differences in order of (what I think is their) importance:

  • I don’t use the :i you have added at the end; not sure what it does.
  • We use different device names (but that is probably because you’re on a Mac while I’m on Linux);
  • We use different filename extensions (I use .bin because the file is indeed a binary; it does not follow the HEX format. But I don’t think AVRDUDE makes any distinction, it will probably work with whatever extension you use).

One other thing might be the version; here’s mine:

$ avrdude -? 
[...]
avrdude version 7.3, https://github.com/avrdudes/avrdude

What is your version? If it’s not 7.3, I would recommend you download version 7.3 from the above page and try with it (you’d have to do it in a Windows or Linux machine, or else compile it from source, as I see no binaries for Mac there). EDIT: for Macs, there’s always homebrew, as @Chris100575 suggested – but then you’re not running an ‘official’ binary and are trusting whoever contributed it to homebrew to have done a good job. My limited experience with homebrew was good, but that’s s couple of years ago, so I can’t vouch for them now. EDIT2: further on, @Chris100575 reported using avrdude downloaded from homebrew and having no issues, so it’s most probably a good option).

Finally, something I learned and perhaps you might be overlooking: I found the hard way that, once you make contact between the adapter and the flashing pads, you have to wait for a few seconds for the D3AA to ‘settle’ (stop flashing its LEDs, etc) before issuing the avrdude command. When I don’t wait, I get errors every time.

Hope this helps.

1 Thank

Have you tried running the Avrdude command to test the connection?

avrdude -p avr32dd20 -c serialupdi -P /dev/tty.wchusbserial1430 -n (edit - just seen the error from avrdude that UPDI link failed.)

As suggested above have you installed the latest version of avrdude? On a Mac you can do this via homebrew.

Homebrew is how I got avrdude running on my Mac, I can confirm that the current version via homebrew works with my D3AA.

1 Thank

Perfect! I wasn’t aware you were a Mac user too, I stand corrected.

1 Thank

TBF, given that all of the documentation is not written for Mac, I found it easier to use a Linux VM or Raspberry Pi. :joy:

1 Thank

thanks for your thoughts… I ran that command in Terminal and the response is: avrdude version 7.0

I tried using your syntax without the :i but still no luck

but, bear in mind I normally use pymcuprog
I have a brand new programmer from gchart and it works with my TS10, but not w my D3AA…

1 Thank

:i selects Intel hex format for the output. If you omit it, you’ll get binary data.

2 Thanks

Are you able to confirm that pymcuprog supports the avr32dd20? I’ve never used it myself but from my limited Googling was unable to find a list of supported devices.

Updating avrdude to the latest version and testing with that would be benefical, if that works then it confirms that the problem is with pymcuprog / older avrdude version.

2 Thanks

That explains a lot :slight_smile:
Seriously, thanks for the clarification.