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.
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
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.