Source code for the case drivers?

Im considering purchasing a argon one v3 nvme case for the pi 5, but i cant find any info regarding the firmware used to control power, fan and so on.

Is the source code for the rp2040 chip available?

It may seem silly to some, but im not purchasing a pi case that requires software to function, unless i can update the software myself.
Argon could in theory stop updating the software, potentially rendering the device useless unless there is sourcecode available…
Yes, this has happened to me before, (with another vendor, ) not repeating that mistake again…

I do love the case though, and really looking forward to place the order so a quick reply would be greatly appreciated!

1 Like

Hi, there was a software that controlled the argon fan but as many dist’s are changing the method used for programming the rpi the scripts from argon DONT WORK in much cases.
As libreelec is the biggest usage for the rpi , some good programmer imported the initial script and changed everything to make it work.
I Hope argon will make a new script as soon as possible, because the constat fan on will start to be noisy after a few weeks of usage.
The only (Maybe) problem is that the new script from the programmer is not a script but a kodi plugin

Thank you for your reply!
However, i was not referring to the shellscript, but the firmware for the rp2040 that controls the case.

Shellscripts are plain text, easily readable, but a .uf2 file is not.

I suppose there is no source code available, been spending the weekend trying to answer my question myself.

I dont have the proper tools nor the experience for reverse engineering a .uf2 file, and the forum doesnt really convey a sense of customer support…

So i will be ordering a pimoroni nvme board instead and put it in a 3dprinted box.

It wont be as nice looking, thats for sure, but at least i wont be locked out of my hardware due to lack of software.

It’s been a while since I dabbled, but the chip in the Argon One is essentially a Raspberry Pi Pico with a RP2040 chip.

Just like the Rawspberry Pi Pico one can get it into a state whereby the RP2040 can be flashed with a new .uf2 file just like a Raspi Pico.

This suggests that you should be able to use Thonny to read the Python code that is already flashed into the chip although you won’t be able to decode the base on which the Python works… There is probably a module to run the IR remote code that you, also, won’t be able to investigate, but all the power features Python code should be obvious if you find out how the power button on the RPi5 works. You can even see how the Python code for the remote works.

The RP2040 is a controller chip rather than a System On a Chip like the other Raspberry Pis. It does not boot the operating system on startup. The code is semi-permanently flashed into the RP2040 and does not change until another .uf2 file is flashed into it. If it works, there is no reason other than the RP2040 going pop that it will not carry on working. Do what I have done and download the latest .uf2 file just in case the flashed code does, in some way, get corrupted and you can flash the standby file into the RP2040 and get it going again.

If the code gets enhanced, you can flash the new file. If the Argon One continues to work the way you want, just leave it be.

Thank you kindly for your contribution!

I was unaware that the pico case-controller code was in fact written in python, nor that it was available via the uf2 file.

I thought that the uf2 binary would contain the whole program as well as the core “system”, that no .py files would be visible/readable.

I will have a closer look at the files this afternoon.

I couldnt take the chance though, so a pimoroni nvme board is on its way as it requires no extra sw to operate.

I may reconsider my choises at a later time since the case does look really nice and has a nice set of features for a affordable price.

As far as I know, the RP2040 is only used for the power button and the remote control. I think the reassignment of the remote control buttons is done by the RPi5 ‘talking’ to the RP2040.

The NVMe SSD should work with just the cable. The DAC also works like a DAC HAT.

AFAIK the .uf2 file cannot be read directly with Thonny or any other program other than a binary code editor. The .uf2 file is used to flash the base that makes Python work with the GPIO of the RP2040. There is a possibility that the base in the Argon One is for C code rather than python. Have a look at the RaspberryPi.org documentation on programming the RPi Pico.

To review the C or Python code you would have to flash a Pico with the .uf2 or use another computer to access the RP2040 in tha Argon One. The instructions for flashing both devices are very similar which suggests that you could use Thonny to access the code in the Argon One.