The Argon ONE case is very pretty (but then it is not cheap so you’d expect that). It has variable control over the built-in fan and I had to ramp up the settings as the fan was initially off even though the case was very warm – now the whole thing runs cool. See long-term review comment at the end – problems…
It also has a multi-function power button which operates as follows:
If the power is currently OFF, a short press turns the power ON. Otherwise there are 3 press options: >=3 seconds for soft shutdown and power cut, >=5 seconds for forced shutdown, double–tap for reboot.
Installing software to control the fan:
curl https://download.argon40.com/argon1.sh | bash
The default software setting automatically assumes that after a power failure, you want the power to remain off. You can change that behaviour with a simple i2c command which is available on the RPi command line after installing the software. NOte that I originally wrote this blog entry in June and the company had delivery problems due to the pandemic – it looks like they are back on track in August.
Personally, after power loss, I want the RPi to resume to staying ON AS IT ALWAYS HAS done.
The LAST thing I want is a dead PI after power failure (which can still happen even if you have a UPS). If a mains power breaker goes and your UPS times out, using the wonderful power button on this case you have to BE THERE to get the Pi powered up again. Not clever – at least not at first sight.
Initially, with a slight hack, I easily bypassed the on-off switch without making any circuitry changes (just removing a little bit of the included PCB).
After hacking – with a slight piece of PCB removed to access the original RPi USB C connector (and before anyone says “you shouldn’t have hacked it” – as it happens I ordered two cases – though the external packaging for the second unit looks nothing like the first – read on as you DON’T have to hack this case given the info below).
Here’s the finished hack job minus connector cover – I plan to use an external OLED status display…
The top half of the case is aluminium and it has a solid feel to it. Note that the ability to boot the RPI4 from USB is covered elsewhere in the blog and is relatively new (not so for the RPi3 which has had this USB-boot feature from day one albeit with the relatively useless USB2).
cI do like the label for port connections – nice. And here’s the short video…
And here’s the update – ARGON40 emailed me back after a couple of days and here is the content of their email:
Apologies for the late response. You can check out our i2C guide in the link below to see if you can do something with your Argon ONE Case:
https://github.com/Argon40Tech/Argon-ONE-i2c-Codes/blob/master/README.md
We hope that this will be able to help you out.
So, setting MODE 2 allows the unit to turn ON automatically after loss of power. Erm, what?
As it happens, helpful blog subscribers sent me in the correct i2c command to fix the power off issue. Run this at the command-line and you have an auto-power-up Pi.
i2cset -y 1 0x01a 0xfe
Easy – that command should be in the instructions, really. While this case doesn’t solve where to store that massive SSD drive you just bought, it does everything else including a having quiet, cool, neat-looking housing for your Raspberry Pi4. Hopefully future revisions of the manual will make this all a lot clearer and I’d really like to see an extended case with enough room for an SSD and adaptor though I realise that’s probably pushing things a bit.
Back in July 2020 I was expecting a replacement case for the one I hacked. I have to say, the company were very helpful when contacted. And for clarity – apart from the obvious hole in the side, my board is now un-hacked and working as expected – comments in here indicate that very early boards may not necessarily perform the same way.
Did I mention the command line program argonone-config ? No and I think others might have missed that too. Here in HOT Spain I just ran that and selected option 1 – FAN always on.
Sales in July 2020 were apparently delayed due to Covid and I understand some of you had difficulty placing an order for this case. Well, August 17, 2020 – my replacement case just arrived here in sunny Spain and very nice, thank you. New photo (below) on the back end of the instructions but still nothing about default power off or on – good job I’ve covered that in here.
So now I had my new (replacement) case – I connected up my RPi4 and… nothing. I pressed the power button – on came the Pi. I cycled the power, nothing. So the default behaviour is as before – and that’s ok.
curl https://download.argon40.com/argon1.sh | bash
That was the fan control installed.
Next I issued the argonone-config command to set the fan always on – my preference when here in sunny Spain. And finally, to change the power-on behaviour:
i2cset -y 1 0x01a 0xfe
Not what I expected. I even tried prefixing the command with “sudo”
Error: write failed
using:
sudo raspi-config
Under peripheral settinbgs -I enabled i2c settings – even though this was a clone of a machine which could already control I2c. Still nothing but an error.
Right this minute I’m writing off to Argon40 – meanwhile – i2c is working on that Pi as I had an OLED display on it – meanwhile on my PI which already has a working Argon ONE case, when I use:
i2cdetect -y 1
At location 1A I see 1A – on this board I get blank…. something to ponder… and now I look at it, no fan either on 192.168.1.18
Then I realised – I had a bent pin – one of the i2c pins on my PI – I fixed that and everything seemed ok, but on power cycling, the i2c command failed to bring the unit back on and THEN I realised they’ve now modified the design, there’s a LINK option inside – defaults to pins 1 and 2 shorted – change that to 2 and 3 shorted and the unit will INDEED power up automatically.
And finally to clarify questions received about this case – I originally had one of the first cases (it is still in the UK) and at the time had no idea that there was an i2cset command – the combined case/RPi4 would always fail by design) to power up automatically after loss of power so I figured the only way was to hack it, bypassing the case on/off switch… THEN I discovered the i2cset command and asked the company for a replacement case which has JUST arrived this week – in the meantime I un-hacked the original (leaving a hole) and managed to get another case from the UK – same version – and that, like the first, responded to the I2cset command.
The newly-arrived case will NOT let you use the i2cset command BUT it has an internal link which is missing in the earlier design.
In the photo below it should be pretty obvious which is which – bottom left corner the links (missing in the rightmost case) are set here for auto-power-on – best of both worlds. 1-2 is factory default – I simply moved the header to 2-3.
Before I go it is worth mentioning that I am using an external SSD (128GB) to boot and run the RPi – in one example, powered by the RPi – in the other, powered by an external powered-USB3 hub. In the internally-powered version I need to keep the case fan running constantly to minimise heat, with the externally powered SSD, the case + RPi run cool to the touch. In each example, the software is identical and no monitors, mice or keyboards are attached – just the SSD.
Long Term Review – July 2021
I’m trying to use one of these cases with RPi4 as a media centre since discovering how good Kodi can be in 2021 – in many ways better than mmy Android boxes for movies and TV- so up until now I’ve never had an hdmi lead or audio lead in there. In both cases, some of my leads just will not fit tightly and that has given me both analog audio and hdmi audio issues.
My Bluetooth is very weak using this case.
I can confirm that Argon V2 have this jumper that is default set to “1-2 3” and it serve to keep the Pi off after power failure. When put in “1 2-3” position, the Pi is powered on on power restore.
As a note, since I use DietPi, the I2C was off by default, and the fan was always on while the jumper was in position “Always On”.
So, after enabling the I2C and reboot (with diet-config), the fan stay On (at 100%) only for the boot process, then accordingly to config file and the temperature sets, it go off or at the defined speed.
Hope this lines helps somebody.
Photos of the package v2 :
Thanks for sharing.
I have an extension card (audio), which uses I2C address 0x1a.
Do you have any idea on how I could remove the address conflict with the Argon One controller?
Can your audio board change addresses? I’m not sitting in front of the Argonb One so I can’t remember if it has links. For a quick answer – contact Argon40… cs@argon40.com
If using a ups to shutdown the rpi and rpi shutsdown, but ups mains
return going off battery and never actually cuts power the rpi never
gets a power off/on to reboot.
I don’t see anyway to reboot the rpi in this situation.
Any ideas?
Oh… “killpower” on the ups not usable since the rpi is a slave on a networked ups.
Looks like shutdown and manual reboot only way to go if power doesn’t actually get cut.
Hey Peter,
I bought argon case for my raspberry pi 4B 8gb ram model but it’s not fitting right. I bought this from ebay where it clearly mentioned 4B. Is there any different argon case for 4B and 4 model?
I was not even aware there were different versions of the Pi4 other than 2GB, 4GB and 8GB variations (I believe the 1GB model was dumped early on). See https://www.raspberrypi.org/products/
I purchased mine December 2019. One of the HDMI ports stopped working. They said they would send replacement and I finally received it. It was the same version as before without the jumper pins. Not a issue with me. I will probably be replanting it with M.2 case.
Me too – I’m just waiting to hear back from the company myself. I have several RPi4 machines so there is room for both cases 🙂
Have you seen the new Argon One M.2 case yet? It’s here!
https://www.argon40.com/argon-one-m-2-case-for-raspberry-pi-4.html
Hi there!
Is it possible to change the power button functions? I want to change the “Long press (>=3s)” for the “Short press (<3s) in order to have the sfot shutdown and power cut with a short press..
I really appreciate any help you can provide.
You’ll have to email argon40 about that..
I did that with no answer for now 🙁
not working for me 🙁
i2cset -y 1 0x01a 0xfe
executed flawlessly (no error)
i2cdetect -y 1
returns exactly your screenshot with “1a” set
i2c is enabled in raspi-config… but no autoboot on power failure 🙁
am I doing something wrong?
i upload a photo of my Argon, serial number seems to be different from yours: 190918V1
any ideas? thanks
Erm, no because both of mine worked – then with the new case that command didnt work but the link does…
confirmed from customer support: on old boards doesn’t work 🙁 this is the answer:
Unfortunately, if the code doesn’t work, it means that you have the original power board which does not support this feature. There also isn’t any option to update the firmware.
The “Always-on” function was never really a feature of the initial design of the Argon ONE but we did come out with some beta boards for testing this feature. Those were manufactured in 2020 and were distributed randomly. That’s why we decided to share the code in GitHub for the “Always-on” function.
We will be releasing a new version of the Argon One though that streamlines automatic booting by Q4 of 2020.
You have to wonder why they didn’t think of “always on” as an option right at the beginning. Well, as I originally wrote about hacking mine to bypass the power button – not all is lost.
I got the same answer. I asked if it would be possible to buy the replacement board once it comes out. Unfortunately they could not confirm that, but would pass on the suggestion.
@Peter is there a chance to download firmware from new cases and upload it to the older?
This will be a workaround for everyone that need the always on mode, but has old board.
I’m not sure – mine just wworked. The company are responsive if you want to ask them. Do let us know when you get a response.
Hi. I contacted Argon40 about available firmware downloads for the Argon One. This is their response:
“Thank you for contacting us. We don’t have any firmware updates for the case at the moment.
Best Regards,
Carlos”
So there isn’t a way to update firmware for the case itself. There can only be software revisions for the scripts that interact with the case and the Pi.
Erm the case is just a case. The software resides on the Raspberry Pi.
Looks like there’s some firmware on the ArgonOne case. Here’s the reply I got from their customer Service:
—
Thank you for contacting us. Unfortunately, if the automatic booting command doesn’t work, then it means that your boards are outdated.
We’ll be releasing a new version of the case soon that streamlines the automatic booting process.
We’ll update you when it’s available.
Best Regards,
Carlos
—
Both my ArgonOne case don’t work. Reading between the lines it appears I may need to buy a new case to get this feature.
Good luck – I’m still waiting for my promised replacement case….
My new case arrived and as detailed on the blog – the old I2c command does not work on this new case, instead, there is a 3-pin link inside – if you want auto off – link pins 1-2 (default) – if you want auto-on, link pins 2-3
Check which case version you have. I have both types.
Hi Peter,
Pretty sure I have the old case. But just in case, can you take a picture of where the 3 pins are? I assume there are 3 pins and a 2 pin jumper. But don’t see it in the case I looked. Will open up the other Argon case I have over the weekend.
Just finished updating the blog – new photos and text at the end… that should clarify the matter.
In response to LucaM – lets hope the company communicate w- we can get get in here and then everyone can have confidence they can fix the earliest cases. I’ve already fixed mine so now I have two (with a third to follow) all able to auto-power up without issue – I know that for sure, as always-on is very important to me.
The case is supposed to run warm – it is a passive heatsink to avoid having a noisy fan start up
Erm, there is of course a heatsink in there but there is also a fan. The fan control works but their settings are not that good, with a little tweaking the case runs cool with almost no fan sound unless your ear is pressed to the case.
Agreed, I also have the case…. Was just point out to others that the case getting warm isn’t a problem – it is part of the design.
Have Argon said anything about having a default on and use button for off mode? That would be useful for headless applications. For my use (RetroPie) it works ok as it is.
No reply from Argon yet Tony – if and when they reply I’ll put it in here. Headless, yes and also in my case unattended. I had to completely bypass the switch.
Regards
Pete
I have had problems with the HDMI ports as well. I’ve been meaning to contact Argon40 about it. It’s a great case if I didn’t have this problem.
The micro HDMI ports are very poor, I have had mine replaced twice as moving the cable the picture is lost on the screen. I replaced the cooling pads today with some decent 1.5mm ones bought on eBay and it now stays under 40c most of the time with the fan coming on at 40c.
Thats handy to know as I rarely every use the hdmi – only for testing if network doesnt come up.
Hi Peter
I’m new to SBCs and raspberry pi, I got the same case for the raspberry pi 4 which also runs very warm, I just wanted to know what settings you changed, so that the case runs cool.
Thanks
In the booklet there’s a manual setting for the fan, I ramped it up until I could just hear the fan close up – seems cool now and it kept the setting. Next I need to ask the company how we’re supposed to use the power I2c settings in the update link above (i.e. if we do know how to use the i2c settings, how do we make sure they stay put after power cycling).
I’ve left the question as an issue in their repository on Github.
Peter,
I tried the following:-
i2cset -y 1 0x01a 0xfe
It seems to be maintained across power cycling. I think it effectively bypasses all control of the power switch on the case.
It can then be put back to its defaults using:-
i2cset -y 1 0x01a 0xfd
Hope that helps.
Steve thats great. I’ll note this and check tomorrow and report back – that is if my broadband work. New Vodaphone modem on the way.
Did this end up working? I was able to execute the command but it didn’t appear to stick after power cycling.
Hi
Not yet. I hacked the first case to bypass power. Second case I will try using the i2c command but this is not good.
Myles, You could test that the i2cset command is working as expected by using it to control the fan. For example:-
i2cset -y 1 0x01a 0x64
This should turn the fan on at 100%. It will reset when the service cuts in every 30 seconds to check the temperature.
In my experience “i2cset -y 1 0x01a 0xfe” then shutting down with “halt” and removing power and then reapplying power will boot straight back up. Reverting to the default (0xfd) then requires use of the power switch on the back again.
What I couldn’t find was a way of reading back the values of any of the data/registers using i2cget. Every attempt returned the value 0xc8. Maybe that is by design.
Good Luck
Steve
Hi SteveH – I concur and have updated the blog accordingly as well as using this info on my latest Raspberry Pi 4 and Argon case. After issuing that I2C command on the latest firmware (the CURL command in the manual), I now have a working auto-power-on Pi.
Hi Peter Scargill,
What do you mean by: “latest Raspberry Pi 4 and Argon case”
Do you mean the fixed one that has no USB-C Power issue?
I have tried the lastest “firmware” script from the manual. But still after running: “i2cset -y 1 0x01a 0xfe”
When I power off the Pi, cut the Power, give it back. Still have to press the button.
Note: I have one of the first Pi4 (still with power issue) and one of the first Argon One
Thanks in advance.
Yes, good points – I mean getting the latest Argon firmware from their site – as for Pi4, I have 3 of them, none has a power issue so I can’t comment on that.
Pete
UPDATE:
They responded in the Repo.
It seams that there are different Versions of the Argon One “Board” with different Firmwares on it.
If someone has the old one, it wont work with Code, because the MCU needs an Update.
They are thinking of a Jumper Method for that to keep “the old ones and new ones” Always On.
With that said it dose not realy depend on the Pi itself. More on the board of the Argon One.