Amen brother !!
Seriously? 70 years old? Compliments!
I can confirm. And I use an old Android phone.
Never had to set it myself, but with avrdude the option is -b <baudrate>, so for 115200 which I agree with TK should be safe, your command would be avrdude -b 115200 followed by the rest of the options and arguments you usually employ.
Please let us know how it goes!
Purchasing an inexpensive $100 Android tablet (Samsung Galaxy Tab A7 Lite) and using the “Zflasher AVR for Android” App seemed like the easiest way to update Anduril lights for me (since my only other devices were a MacBook and iPhone), but I have had issues using anything other than the “Write” Action and are very interested in other forum members experiences.
To clarify:
I have not flashed a 0 KB file using the “Write” Action of the “Zflasher AVR for Android” App, but I did use the “Read” Action on a functionally working “Sofirn SP10 Pro” in an attempt to backup the as-delivered Anduril image before I re-flashed it. The “Read” Action created a file in the Android “Downloads” directory that had a file size of 21.58 KB and I used the “Verify” Action specifying this file and received a message from the “Zflasher AVR for Android” App indicating that the “Verify” Action had completed successfully, but after this, I was unable to flash the “SP10 Pro” using the “Write” Action with a new image, instead receiving the message “Programmer not found” and the light would no longer function using either NiMH or Li-ion batteries. Before the flash failed, I believe I may have also clicked on the “Auto” button which did not seem to do anything, but my memory is not clear about this.
Even though the “Read” Action created a file in the Android “Downloads” directory with a file size of 21.58 KB, when I select this file using the “Write” Action, the file size is reported as 0 KB by the “Zflasher AVR for Android” App. I have verified this behavior on other Anduril lights and since I do not know why this occurs, I now only use the “Write” Action for files obtained from trusted repositories.
Some reference links for more information:
Can you try creating a new folder, maybe called images or such. Saving the read files to it, and flashing from that location.
Or taking the file when it shows the correct size, copying it elsewhere, then flashing from there?
It does kind of sound like a permissions issue.
I have never played with setting Android folder or file permissions. There has to be some way of setting permissions. If nothing else, it may be worth playing with.
Thanks for the suggestions.
I know nothing about Android, but will investigate this.
I have become much more cautious after bricking a light.
thanks, I googled the equivalent baud command for pymcuprog, and appended it to my command line to ping, backup and reflash… the new baud rate command did not change the fact that a TS10 reflash using the gchart adapter takes 4 minutes and 30 seconds…
I did not bother doing the same thing w AVRdude, because it would require me to backup and restore two separate files…
so I gave up and will just accept that it takes 4 minutes and 30 seconds for me to reflash a TS10 w a gchart adapter using my preferred desktop app, pymcuprog
sorry to hear your backup and restore troubles with zflasher
is using the MacBook w Terminal and pymcuprog not an option for you?
anyway, Im glad youre at least able to write new hex files w zflasher, but the inability to backup would be a deal killer for me… Im much happier being able to create backups on my desktop w pymcuprog… better than avrdude for me.
Sorry to hear setting the baud rate explicitly didn’t help
and thanks for reporting back. It’s probably some kind of Mac-aquism caused by the sorry excuse for a Unix look-alike that OSX tries to be, but that’s the kind of thing that’s almost impossible to diagnose remotely, otherwise I would try and help you further.
I was looking for the easiest “plug-and-play” solution, but I have followed your journey using a Mac and may pursue that.
thanks for the kind sentiment
I can live with it despite the time it takes… ![]()
that makes sense
the whole process had been a huge cluster
it took me about 2 months and multiple private mentors to finally achieve a working solution
I hope your learning curve is faster
I went a little bit of a weird way to flash my lights on an Intel iMac 2017:
-I installed UTM (https://mac.getutm.app/) a free and open source VM
-I installed Linux Mint Cinnamon in UTM
-“sudo apt install avrdude” in the Terminal after you booted up the VM
… and you can just use avrdude like on any standard Linux. macOS/UTM prompts you to allow use of the USB port when you plug in the flash dongle.
glad you got it working… imo pymcuprog is a better option than avrdude… because pymcuprog will roll the eeprom and flash,settings into a single hex file
w avrdude the eeprom requires a separate eeprom backup and restore than the flash contained in the hex file it creates
For the “write” command what protocol for usb you choose?
if using the Hank adapter to flash an Emissar or Fireflies: USBASP
if using the gchart 3 pin adapter to flash a Sofirn SP10 Pro or Wurkkos TS10: SERIALUPDI
if its for your Fireflies, this tutorial may help

you will need the Hank adapter, not the gchart adapter
I am using a flashing adapter obtained from forum member “gchart” and following the “ZflasherAVR” instructions from forum member “thefreeman” contained in this post:
Thank you Jon, I know the procedure, I asked because I think with wrong protocol ZFlasher can be used but it don’t work well.
So probably with wrong protocol it doesn’t do anything. The question is… why 0 KB when he use read function ![]()
File access permissions in Android.
File (actually, directory) access permissions should have prevented the app from creating the file in the first place, no? Once the file is created, the app that created it would have write access and would not have generated a zero-sized file because of permissions. Unless you mean space quota?