regarding firmware releases/versions: until the Argon40 folks are more forthcoming with this information, I made due with the following (verifying I have the latest firmware).
First, I downloaded the ArgonOne.uf2
file as indicated in the manual. MD5 sum as of 20240614 is 928a7cc22eba8f07500f02f269e5fac3
.
Poking around with xxd
and then just strings
, I found a singular date in plain text:
strings ArgonOne.uf2 | grep 2024
Jan 26 2024
Going by this, the latest firmware is Jan 26 2024
.
I bought my ArgonOne V3 case end of May/start of June, so then the question is: does it have this latest firmware?
For this next trick, I needed something called picotool
, which let me dump the image off the pico back onto my computer.
While there are some efforts out there to extract individual sections of data, I just ran strings
again:
sudo picotool save -p installed_firmware.bin
strings ./installed_firmware.bin | grep 2024
Jan 26 2024
NOTE: the -p
option (also the default) to picotool
produces a 26K file. The ArgonOne.uf2
file is 53K. A rough xxd
comparison shows the program code missing some initial header data, and whatever the other ~26K is (supporting library object code?). If you desire the ENTIRE 2MB storage, replace -p
with -a
.
Assuming this isn’t some general pico related date (the pico SDK 1.5.1 appears to have been used, and they seem to have started with a demo/example), and without further extracting individual elements of the firmware, perhaps a way of roughly getting the firmware versions (both what is available as latest, and what is currently installed).
FOLLOW UP: Just to double check that I’m on the right track, I applied the latest firmware, as downloaded from the ArgonOne site, then re-extracted the firmware and did some comparisons:
md5 *.bin
MD5 (everything.bin) = f5ec9806829be243c20c2b4a8b85fc07
MD5 (everything2.bin) = f5ec9806829be243c20c2b4a8b85fc07
MD5 (firmware.bin) = 93d7168ecfe932a06c6e75bb80ecf203
MD5 (firmware2.bin) = 93d7168ecfe932a06c6e75bb80ecf203
“everything.bin” is the entire 2MB data off the pico
“firmware.bin” is JUST the program section off the pico
The #2 variants are the same extractions, but after I applied the ArgonOne.uf2
file.
So, it appears I am definitely running the latest firmware.
What I can do for the future, now that I have that date, is occasionally check their available image and see if the date has changed.