Low power nixos devices

I’m wanting to run some solar powered nixos servers (or nix configured…).

So far I’ve been deploying with industrial PCs (typically based on laptop intel chips), but the solar panels and battery sizes can become unwieldy for reliable year round 24/7 operation.

In terms of operation, these are typically just receiving some data at approximately 1Hz over a network or serial port and occasionally sending on some summary data via network. So, really not doing very much. No display needed etc.

Is the raspberry pi (power consumption stats at Power Consumption Benchmarks | Raspberry Pi Dramble) the “standard” or most common device for low powered nixos devices?

Are there other more suitable arm boards people are using? What about other CPU architectures or options?

Thanks in advance.

Joe

1 Like

64-bit ARM has the advantage that we provide lots of binaries via official cache (we call it aarch64-linux). From low-power devices I’ve heard mostly about RasPis around the nix* community.

If you’re interested in looking at MIPS options, I’m seeing web pages that describe the TL-MR3020 or GL.Inet “travel router” systems as eating maybe about half the power of the RPi (up to 150mA for wireless, plus 50mA for USB) - obviously the exact numbers will depend on your use case.

You may or may not get a full NixOS on there, but you did ask about “other options” - if you wanted to talk about using the Nix package collection to build a “turnkey” image for them, you could potentially be the first user of NixWRT other than me :wink:

This was exactly why I asked about other options. When using NixWRT, do you have to be physically present to do an update? My understanding is you flash a new image (either on a card) and then install it? Could that work remotely?

Trying this now thanks

Flash a new image then reboot, yes. Thus far I’ve been doing it from the router’s serial console, but I have recently started building images to include the nandwrite binary, so there is no reason in principle you couldn’t transfer the new image to the device over a network and then install it using an ssh connnection. In practice, I haven’t tried it yet, but I’m hoping it should be simple.

(Latest news on NixWRT is that my secondary wifi access point has been running it happily for about two or three days. Most of the work for that was in squeezing the NixWRT image down to fit in 4MB of flash)