Hacker News new | past | comments | ask | show | jobs | submit login
Nine Raspberry Pis powering an office (2016) (monterail.com)
276 points by heywire 41 days ago | hide | past | favorite | 155 comments

My RPi's are like lottery tickets. I buy them with the thought of all they could be used for...then collect duct in the junk drawer.

I also tell myself I'm supporting the manufacturer, though it would appear they don't need my help.

Can I heavily recommend the use of them as a pihole + Wireguard VPN + DNSCryptProxy Server.

Pihole -> Great use for a network wide adblocker/DHCP server.

Wireguard VPN -> In combination with a DDNS setup and some port forwarding enables the use of a global private VPN. I think it's a prerequisite for a decent home-automation setup.

DNSCryptProxy -> Great for ensuring all DNS requests on the network via DNS over HTTPS. Kind of useful because frankly ISPs are sniffing DNS traffic. Also useful for bypassing DNS based ISP filters.

The above basically enabled me to create a 5 country wide private VPN by giving VPNs to family members. It enables me to print/scan things from abroad, access CPU resources/servers/GPUs/Webcams/automation and obviously browse as if I am in another place.

My family when they are abroad, can now work as if they aren't.

It also saves power (reducing analytics traffic), improves privacy and takes about a weekend to setup.

They also make great personal gifts too.

Any good tutorials on setting up Wireguard? This (and Pihole) have been on my todo list for a while.

I should probably write a blog on how to do this. I have a setup guide for myself, but unfortunately it contains a lot of obviously private details that I can't post (ie access to my cloudflare/VPN stuff).

A lot of my stuff is ad-hoc from my personal exploration and experience on Linux.

In regards to the wireguard specific stuff, this isn't a bad guide.


The harder part with the VPN stuff is the following.

1) Setting up a clear route of forwarding traffic to the pihole. To do so, you would need to setup netplan/systemd-networkd so your pi gets a static private IP. (Not that easy if you are doing a full ipv6 route too.)

2) Setup a DDNS mechanism (as you most likely are getting a dynamic IP). My suggestion for this was to get a domain name (8 quid a year) and use cloudflare as a DDNS host. You also need to punch a UDP port through your router to forward to your pi.

3) Then setup the rest of the wireguard stuff.

4) Setup the pihole and ensure all interfaces are covered so your VPN has a DNS server.

Part 2 is the hardest bit as I kind of needed some custom scripting to ensure cloudflare had working routes to my networks. e.g. https://gist.github.com/Kedstar99/2d8ab0e9bec3a5629562b4ab01...

The above script obviously running as a systemd service that restarts automatically.

Obviously you can use something else like noip or some other DDNS solution.

If you're a Linux person, just skip all the other non-sense and create a systemd-networkd file. It's by far the simplest solution I've used, and doesn't require goofy unit files to start/stop/restart via wg tool.


Then choose your firewall of choice to setup NAT and forwarding. I used firewalld, but not sure I'd recommend it. It's just the first solution I got working.

You can set up a Pi-Hole (DNS sinkhole) and Pi-VPN (Wireguard installer and CLI-frontend for small deployments) very quickly. And you can do it on any debian VM or computer, not just Pi.

Once you have the base OS ready to go, it will take you less than 30 minutes if you know how to muck with your DHCP/firewall settings in your router.


Install Pi-Hole, then edit your DHCP server to hand out the Pi-Hole as the DNS server.


After installing Pi-hole, install this. Choose Wireguard, not OpenVPN. port-forward the Wireguard UDP port to your VPN server. use the "pivpn" command to create client configs and the "qr" subcommand to scan the config into your phone.

I'd recommend just using Tailscale. It's wonderful.

Tailscale is great. It's really changed my world and it's so dang simple.

I did this a few months ago. I’d previously tried a few years ago, and found no good online resources. Now they’re a dime a dozen.

The community around WG has gotten much easier for noobs to get into, and the porcelain around the tool itself has made it quite easy to use, IMO.

I like wg-netns. It allows setup of a wireguard tunnel, similar to wg-quick does, in a Linux network namespace. So I can run some processes using the VPN, and others without.

By specifying the namespace in a systemd service file, I can let a service use a specific VPN.


The easiest way on the Pi is to install the HomeAssistant plugin, but it's quite easy to set up on a Linux too. Generate two keys, copy paste them in a five line config, same thing on the client. On a phone install the app and scan a QR code that you rsync over to your PC. There's a tutorial on the Wg website.

> Any good tutorials on setting up Wireguard? This (and Pihole) have been on my todo list for a while.

Pihole pretty much installs itself (it even has a pre-made image). WireGuard will take reading, testing and failing.

I recommend doing these things one thing at a time, and doing the Pihole first.

The easiest way is to use some kind of manager on top of wireguard. Tailscale is very good and free for a single user (or with headscale) Otherwise there is innernet, wiretrustee, ...

I used trailofbits/algo a long time ago for initial setup. Worked well at the time.

I use pivpn - it’s a pretty straightforward helper for both openvpn and wireguard

> DNSCryptProxy -> Great for ensuring all DNS requests on the network via DNS over HTTPS. Kind of useful because frankly ISPs are sniffing DNS traffic. Also useful for bypassing DNS based ISP filters.

If you're using PiHole, you can just use cloudflared to do DoH. https://docs.pi-hole.net/guides/dns/cloudflared/

On a different note, biggest reason I've never installed a VPN at home is because I just prefer a deny-everything home network and worry I'll misconfigure something and cause a security issue.

I use DNSCryptProxy because I can use it with Firefox as a local TRR server, supports additional filtering, supports DNSCrypt and ODoH caching and is open source.

It also picks from 140 or so anonymous DoH relays, with specifics for nologs and dnscrypt support.

Why would I go for just 1 arbitrary provider rather than the lowest latency choice out of 140?

I also think the latter point is a bit overblown. So long as you keep your kernel updated and you only expose a single high UDP port, it should all be fine. I have ufw enabled on each pi, along with various logging mechanisms in place to see if things seem reasonable. That and 2fa for actual ssh access.

> Why would I go for just 1 arbitrary provider rather than the lowest latency choice out of 140?

Because a ISP that can compromise any one of those 140 different single points of failure can now make that one have the lowest latency and give you malicious DNS results just like you never secured anything.

This is the same problem as allowing 140 different CAs to issue certificates for subdomains of com, rather than forcing the fucking registry to do it when you get a domain name in the first place.


>minisign_key is a public key, used to verify that the content is legitimate. Lists can thus be served from any location, even from an untrusted ISP: dnscrypt-proxy will immediately detect and reject something that has been tampered with.

>https://dnscrypt.info/stamps-specifications/ >https://dnscrypt.info/faq

An ISP will not be able to spoof the sources or these stamps. They wouldn't put the effort in. Even if they did, it is factored and thought about.

More harmful would be a malicious DoH relay but I trust the devs.That I think is fixed by mandating the use of DNSSec too for my relays.

YMMV but I’ve noticed that cloudflared has stability issues over time whereas dnscrypt has been rock solid for me (I run both on different systems). Probably going switch everything to dnscrypt esp since it supports odoh now.

cloudflared service itself has been running fine. If there were other issues, such as connectivity, then I don't know. Didn't experience any.

OTOH, I'm beginning to migrate to pfsense and pfblockerng at home. So, it is possible that I may retire my pi-hole at some point. Currently I'm running both as I transition and test.

I migrated away from cloudflared to dnscrypt-proxy because cloudflared didn't start up properly for me. On each reboot I had to manually stop and start it otherwise it was flooding the logs with failures. It was a bit weird and frustrating to diagnose.

I ended up Tailscale for Wireguard myself. I was really worried about letting all these server software out on the wide open internet because I can't guarantee I'll be around 24/7 to monitor in case of a security problem and this way I can be lazier. :)

The added benefit is that I can force all devices to use PiHole while connected to Tailscale and have DNS-adblocking on the go!

Upvote for Tailscale.

I find it super useful!

Even if just for remoting into various boxes; the kids for instance often tether their PCs off their phones or I'm tethered and want to remote to my LAN.

(I have terrible internet)

I do something similar but different choice of software. There is much more that is possible using this approach (distributing exact same hardware with preinstalled configs to each network particpant). These RPis are gateways. They are gateways to an overlay network controlled by users and not surveilled by "tech" companies trying to sell ad services. I like to imagine them as modern day IMPs. https://en.wikipedia.org/wiki/Interface_Message_Processor

for $18 you can have this instead : https://www.amazon.com/dp/B0932J39HC?ref=myi_title_dp&th=1

I run pihole with 256MB version(which is $1 less) for two years fanlessly, and this includes enclosure too, load the software and hook it to my wireless router's ethernet port and just forgot about it.

I tried using a Pi4 for a pihole and it kept crashing. Overheating I think. But, if I solve that, the SD card would kill it eventually.

I've had a bunch of Pi Zero W cameras in 24x7 use for years in a very harsh desert environment where ambient air temps regularly exceed 120F, and have never had a single crash of any of them, not even a failed SD card despite being written to daily for storing motion-activated images (the sunrise/sunset is always captured). I don't even have fans on these, and they're in the compact pi foundation red and white case for camera use. It's really been quite impressive.

What I've heard is a crashing Pi is usually due to sagging voltage on an inadequate power supply, and that's probably even more an issue on the more demanding/powerful Pi4. On my cameras I just use the wall warts adafruit sells for the Pi, and haven't had any power problems.

Again, I'm using the supply it shipped with. Not that having to use their supply because they screwed up the spec is an acceptable situation, mind you.

As long as you use something like the official PSU and don't connect particularly power-hungry USB devices to it you should be fine.

As far as the SD card goes you can boot off an external hard drive or SSD via USB and that should guarantee longevity.

My biggest problem with headless Pis was that they would randomly disconnect from the wifi network and disappear, turning off power saving on wifi didn't solve it. In the end the real solution ended up being to just create a 2.4ghz-only network and connect them to that. Somehow they just don't play well with networks that have the same SSID for 2.4 and 5ghz on my Ubiquiti gear.

I hate to beat the drum but, as I've said in some other replies, I used the official PSU.

Be careful with the gear you use on your Pis, just like any system. If you’re using a no-name USB-C power supply and dirt cheap generic SDHC cards, you will likely have problems. By default, the Pi4 doesn’t come with a power supply and while you might be tempted to power it from your PC, spend the money for the official power brick, or, even better, get the official Pi Power over Ethernet hats. For SD, buy from a reputable source and get a brand name (Samsung or Sandisk).

This is anecdata from my part, but I’ve got eight or 10 Pis running (Flightaware/ADSBexchange, PiHole/Influx/Grafana/Wireguard, a couple of Octoprint, Home Assistant - with a relay HAT for triggering dampers, Showmewebcam, and a handful of other things). Once I switched to good power supplies and good SDHC cards, my problems went away. My most heavily loaded machine is the PiHole machine which also has influx running and writing to the SDHC card - it’s probably a ticking time bomb, but it’ll celebrate it’s fourth birthday on the same card in two months.

I walked into the Cambridge Raspberry Pi shop on launch day and bought a Pi 4, a power supply, and an SD card with NOOBS. It isn't my hardware that's at fault and, even if it was, it doesn't excuse developing hardware that doesn't work with in-spec USB-C power supplies and depends on inherently fragile storage media.

I missed this -- but my comment elsewhere about the FW update for overheating definitely applies for a launch day Pi4!

What power supply were you using?

My Pi 4 running 2 instances of Octoprint kept crashing until I switched to their official power supply. On previous models I always got away with whatever power supply I had around but the 4 doesn't play around when it comes to power consumption.

The one it came with!

I've had various Pi models over the years starting with the original and I've never gotten a power supply with it. You must have bought a bundle deal, which could mean a good or bad one depending on the seller..

I had to replace the one mine came with. It was new-ish, so I was able to get it for free under warranty, but be aware- quality control for their power supplies is not great (at least as of ~2017)

If it was one of the original Pi4s you would need to get the FW update that fixed the USB chip power that was the source of many overheating issues -- though that came out relatively soon after release.

Not if you get a good SD card, or a USB SSD.

When I was trying, boot from USB wasn't available.

you can disable all logging in pihole - which i do and my sd card from 2016 is still going strong.

All the stuff I used to do on a large and clunky hot power hungry noisy Intel box is now comfortably running on a cluster of Raspberry Pi's tucked away in the basement ceiling where nobody can see them. I wish they were a little faster in some cases (particularly serving the Nextcloud UI) but overall I much prefer this setup, especially since I can add Raspberry Pi's to facilitate specific roles like I would in a production data center deployment.

I've got a web server, a SAN, a couple pi-holes, and a home automation controller. I plan to spin out my databases and Prometheus onto their own Raspberry Pi's. All of them are configured using Ansible. I can recreate one in a hurry if it dies and data backed up to a ZFS partition on the SAN pi. I have a couple additional Raspberry Pi's that I temporarily hook up to the network and run a script to sync the latest ZFS snapshots over for backup purposes.

I'm sure you could find SOME use for them :)

> particularly serving the Nextcloud UI

Nextcloud is an absolute dog. Even on a server with loads of power and an SSD-based database over a local connection with all the caching options turned on… it’s still not snappy. I wish we had better FOSS options in this space.

Agree totally. It's not FOSS but I've had good experience with FileRun.

I loved Pydio but it was simply too slow.

They’re just plain handy to have around. I use mine as an Airplay receiver with shairport-sync, an ebook opds server with Calibre Web and as a development machine so I can continue working on websites when I only have access to iOS. It’s great!

Beware of proper insulation, even low energy devices can start a fire

I use mine all the time for experiments. They're super useful for doing quick one-off experiments to see if something will work. Sometimes I'll keep using them, other times I'll switch to a different platform.

Friday I was trying to figure out if I could remotely read realtime usage off my power meter. I've tried using a SDR for it but it uses some proprietary frequency hopping system that is difficult to understand and I don't have enough domain knowledge to reliably implement. But it had a debug port on it with what looked like an IR transmitter in it, and some reading online indicated that it might be flashing at a rate that indicates usage. It was too weak (and it was too bright outside) to see it with my phone, so I decided ot just try it out.

30 minutes later I had a Raspi with a IR receiver and lirc and I could confirm that it was pulsing at a rate of 1 pulse per watt-hour (1000 pulses per kWh).

The actual reader implementation I will probably do on esp32 because Raspi is overkill for this, it just needs to read the pulses and broadcast messages to MQTT, and I'll 3D print an enclosure so it's not just taped to the side of the meter. But the Raspi made it really easy to just try this idea out without making any commitments to it. That alone is worth keeping a few around.

This project will make a great blogpost once you complete it. I for one would be interested to hear more. My power meter was replaced a couple of years ago (to a more modern remote-read version) and I would definitely like to directly access usage information in real time.

Do you worry you might get in trouble if a technician sees some strange device attached to your meter? I know you're not actually doing anything wrong, but I feel like it could be awkward trying to explain that to some angry representative of the utility company.

I do. That's why I was trying every possible way to do this using SDR or some other non-noticeable way. FWIW it's not even really attached to the port, because the port itself is behind the glass, it's just that the IR LED inside the port is visible. So really it's kind of sitting on top of the glass bubble.

I also checked the local municipal code (my utility is city-owned) and there doesn't seem to be anything in the code that says I can't do it.

That said, I intend to put a notice next to it that says something along the lines of "This is a non-contact measuring device that counts IR pulses. Please call XXX with any questions."

There is also the $4 Raspberry Pico: https://www.raspberrypi.com/products/raspberry-pi-pico/

Unless you have embarrassingly poor soldering skills like I do, in which case you have to pay a little extra for pre-soldered pins. But it’s a great little device, and with Thonny and MicroPython, you can get small projects up and running with a really quick turnaround.

Yeah, this is me too. I have essential tremor, so soldering anything takes a great amount of effort. I'll always pay extra for the ease of using the pins.

I use one for the clock in my bedroom. I use FullPageOS to load a web page that contains the time, date and weather (Open Weather gives you 60 checks per minute for free - way more than I need). The clock is on a full size monitor so the wife and I can see it without our glasses on.

I basically deployed a nodejs app and configured FullPageOS to load that local page. The clock itself is just HTML and JavaScript (jQuery, bootstrap, moment.js) - there is no servers side code beyond basically the "connect+serve-static to server the index.html file.

Oh, and it plays the comet from Star Trek Deep Space Nine's Title Credits on the hour in the background.

what do you use for the display?

Just an old monitor (2 actually, I mirror it on the other side of the wall) - 17in - I don't think it's even 1080.

I just pulled out one this weekend after my ISP decided to refresh my IP and gave me on that was apparently used by Satan himself. All google services were just blackholing my traffic, it was breaking everything. I have never seen it that bad before, I've gotten CAPCHAs before, but never have I seen it just plain never respond to SYNs. I tried to force it to refresh but their router was insistent on me keeping that cursed IP address.

For a temporary workaround I set up a VPN endpoint on a VPS and configured a disused Pi3 to route through to the VPN endpoint, then turned it into an AP and had everybody connect through the Pi instead. It bypassed the breakage for the day so I could leave the connection off overnight to force my ISP to reallocate that IP.

It is this kind of Swiss Army Knife type job where the Pi is a perfect solution.

If you have control over the router that's connecting to your ISP, and assuming it allows such a thing, try changing its MAC address. EdgeRouterX for example allows this. Chances are, you get different IP.

Years ago when I first had the service installed I tried this once, and discovered a $20 "additional device" surcharge on the next bill.

If you still haven't found a use for them: they make for good low-power, always-on, headless networked servers for processing-light tasks.

Other commentators mentioned pihole/DNS, WireGuard, and music streaming, but you can also use them for a (slow) NFS server, persistent Syncthing node, Maestral host[1] (third-party Dropbox client written in Python (that can actually run on the Raspberry Pi, unlike the official Dropbox client)), or device that maintains a connection to a distributed network (e.g. Hyporborea/cjdns).

[1] https://github.com/SamSchott/maestral

I do the same thing, with a different mix of services:

- The obligatory PiHole.

- An ssh server, which I use to access my internal network.

- A script that scrapes a website daily.

- A database to support a web development project.

- A web server to support a web development project.

- An NFS server, for data backups.

While it is probably underpowered to serve the needs of some people, it serves my needs. Since I don't fiddle around with it very much, it has proven to be very reliable.

>- A database to support a web development project.

What language, frameworks, modules and how do you store and present it?

It's a basic Apache/PHP/PostgreSQL setup. This is a private project that I am working on to collect information on and plan recreation programs. The scope is sufficiently narrow that I don't see much of a need to expand beyond that setup.

Indeed. One actually useful case I found was using an rpi with shairport-sync + owntone to allow airplay streaming. I got a quality DAC from hifiberry [0].

Another use was running HomeAssistant, but I migrated that to my real server.

Another use is having an external InfluxDB + Grafana monitoring setup so I can view stats even if the server goes down.

Lastly, you can take X amount of raspberry pis and run a kubernetes cluster with k3s. [1]

Since I don't play with my cluster much, most of my pis just sit around gathering dust...

0: https://www.hifiberry.com/

1: https://k3s.io/

That's a big one, unless you're doing actual IO on the Pi itself, if you have a server you can likely virtualize or docker whatever you were going to do with the Pi.

I have a few Pis around the house, but likewise, the primary use-case that has stuck has been as an Airplay target (using shairport-sync). I'm not using a RPi specific DAC, but rather a cheap USB DAC. I have two of these around the house and haven't had to touch them for years.

The second use-case I have is as an Octopi server to run my 3D printer. I have found this interface to be significantly more user friendly than uploading new designs to an SD card.

If you are looking for project ideas or inspiratation, take a look at the official Raspberry Pi magazine: MagPi.

Each issue is full of projects with step-by-step instructions on creating the project.

Each issue of the magazine can be downloaded for free as a PDF (or alternatively purchased as a print magazine):

The MagPi Magazine: https://magpi.raspberrypi.com/issues

I have three. One was going to be a home security and automation server, but in the end, every feature it had was either something my family wound up hating, or something that worked 9 out of 10 times and was therefore useless, or something that proved slightly harder than I expected and was therefore too much trouble. So now, all it does is loudly announce the time of various things, like "Time to pick the kids up from school".

The other two pis are sitting in a project crate, ready to use if I ever find myself with extra free time again.

Try installing DietPi with Pihole

Use one for an offline emulator (using e.g. RetroPie). Kids love it and they don't have to be so careful with it.

We mostly play SNES games but I sometimes play stuff from my childhood when they're not awake.

to be honest they don't need your help by buying them, but they do need help with advocacy if you are in the uk and are part of nonprofit fund and foundations looking to give money to organizations


they are primarily funded by government, ngo's, and other foundations.

I've thought about getting one or two...

I can see the appeal.

But I have come to the sensible conclusion that an Intel NUC is far more useful, to me, as a general purpose computing device, media server, file server, linux dev box and occasional casual Minecraft gaming device for the kids!

Seemingly once I've specced up a RPI, they are not exactly super cheap at that point!

Same here. I buy them, set them up for some interesting thing, and then I decided to just convert the fleet into a single NUC with ESX. Faster, easier to manage.

I don’t know why, but there are few things I enjoy more than living vicariously through people who document raspberry pi projects and use cases.

I think it scratches the same itch for me as it does for my wife looking at Instagram recipes.

The end result clearly looks amazing. I'd really like to get into doing that, but every time I try, it ends up being way tougher than it looks and the net result is nowhere near as clean as it is in the pictures.

This comment isn't aimed at you specifically, but I hope it helps:

You're looking at the 10th, 20th, 30th+ attempt being documented/curated on the internet. You've gotta break a few eggs to make an omelet, so don't let that not-so-perfect first try slow you down if you derive value from tinkering.

If you hadn't have posted it, I would have!

Much like writing code, you collect knowledge along the way and the next one is hopefully better.

The Pi4 is an amazing piece of hardware. While relying on sd cards is a sure way to get a disappointing surprise, they now support booting off a USB drive, which is amazing. Couple it with even a sata ssd and a USB adapter and you’ll be amazed how fired up it becomes. A Linux without a GUI boots in mere seconds. My biggest complaint really is the availability, especially now. I had to buy one of those mini Intel Atom PCs because I just couldn’t find a Pi4 anymore at a reasonable price.

I run an invoicing tool off mine, PiHole, NextCloud, UPS monitoring and HomeAssistant to control lights and heating in my home.

I have one serving as a controller and monitoring server for my 3D printer that I turned into a chunky little tablet with a 7” touchscreen and OctoPrint.

And another one for backups at the office.

> A Linux without a GUI boots in mere seconds.

IIRC Lakka (a Linux that boots straight into Retroarch, based on the same micro-distro Kodi uses, I think) is booted and interactive, with a GUI, in like 2-3 seconds. I think it's using direct rendering to achieve that, though, not X or Wayland.

[EDIT] And that's off an SDCard.

I should’ve been more specific! I meant Raspbian Lite :) That one certainly doesn’t boot in seconds off an SD card.

Right, I wasn't trying to one-up you, and a "full" Linux distro of any kind will take longer than that, just pointing out that the bottleneck is not the hardware. The thing can boot really fast.

Oh, don't worry, I assumed that you weren't, I just realised that I wasn't too specific so I just specified it. Sorry if I accidentally implied that you were, I wasn't trying to.

Still, I learned about micro-distros which was quite an interesting thing to discover :) I might try and mess around with some on the Pi Zero I have to see if I can figure out a cool use for something like that.

What’s the invoicing tool you are using?

It’s a small Laravel app my friend wrote for himself and shared with me.

Tom Lawrence (YouTuber who makes networking related videos) uses the open source one called InvoiceNinja. Apparently it’s pretty good!

Want to try pxe boot instead of buying 3x crappy ssd but haven’t gotten round to it yet. In theory that should sidestep the SD card issue

The technical detail blog post has a bit more information. At first I was wondering why they decided to go with an RPi instead of a few enterprise servers, and it looks like they're utilizing the GPIO interfaces to interact with relays to power some of it.


Ok, we've changed to that from https://www.raspberrypi.com/news/nine-raspberry-pis-power-th... above. Thanks!

This is a really cool project and as a hacker of the Raspberry Pi since v1b I love to see it.

Clicking on the Monterail about page I really do appreciate when companies list their teams. It's that small bit of credit that I feel goes a long way. It appears more common in European companies. American companies will typically list the board and executives; ICs are treated as interchangeable cogs with no credit given except internally.

I believe part of the reason for American companies to not list teams publicly is to guard against easily poaching talent using that data.

LOL. Like that information isn't readily available on LinkedIn, FB, Twitter, Github, etc. There are ways ($$$) to retain talent.

We use a small drink kiosk touch pad powered by Rasperry Pi, using this simple software project: https://github.com/rwth-i6/drink-kiosk

Works great. Except the SD card seems to be dying now after 3 years of constant usage (well, less usage during the enforced home-office times).

Fwiw Alpine Linux is very easy to set up in diskless mode. That's what I used for my first Pi 4 install. It does boot up and load packages from the sd card, but after that everything runs from RAM.

Check out the high endurance SD cards they typically support 10 to 100 times the writes other SD cards do and aren't that much more expensive. They are most often used in dashcams and the like.

Or for a kiosk you could probably run exclusively from RAM and never touch the SD card after the initial boot.

We found that booting from USB and using a 2.5" SSD drive is durable.

If this works for you: I've found that it's good practice to mount root as read-only once your software configuration is stable, and try to use tmpfs for everything.

3 years for SD card is very long. Mine requires SD card replacement after 3-4 months. I hate that storage medium.

Add something like this to your /etc/fstab. Will save a few touches to the SD card and enhance system security a little. My last SD went for 3+ years on a decently busy little Pi.

  ## Decrease touches to root partition a little with noatime flag
  /dev/mmcblk<NUM>p<NUM>  /               ext4    defaults,noatime  0       1

  ## decrease writes because tmp activity by mounting as tmpfs
  tmpfs /tmp tmpfs ddefaults,nodev,nosuid,noexec,noatime,mode=1777 0 0

  ## /dev/shm security measure
  tmpfs /dev/shm tmpfs defaults,noexec,nodev,nosuid 0 0

Try disabling syslog and swap.

I have RPi's with wireguard all over my house hooked to various devices (cameras, boiler, lawn watering system, pool filtration, temp/hygro sensors, centralized home automation hub, home assistant, etc...).

Can connect to them from anywhere in the world to check what's going on with my house and in some cases act on it.

They also gather every possible piece of data they can get their hands on and log that to a centralized, off-site InfluxDB instance so I can ramp up a grafana instance and check what's been happening in the last <time period>.

Convergence of a few things that happened relatively recently to make this possible / easy:

   1. Wireguard: all my computers and it thins are on the same virtual LAN

   2. Pi 4 has a *way* better Wifi antenna and can sit quite far from the Wifi router and still be very useful.

   3. Grafana

   4. InfluxDB

I had an office with close to a thousand ports spread over a dozen VLANs waiting on a Juniper "expert" to configure routing / NAT / firewalling. Between hardware that was delivered non-functional, other hardware which wasn't properly licensed, and the lack of experience of this "expert", nothing was working for the first several days.

In a fit of frustration, I asked for all VLANs to be sent to one port, then I set up a Raspberry Pi to do DNS and DHCP using a NetBSD host-based router to actually forward and do NAT. I told them it would stay that way until the Juniper gear was set up 100% and tested.

They're excellent little machines, inexpensive, and wonderful to keep around "in case of emergency". Learn how to root off of a USB drive or to limit writes to the SD card, and they're wonderfully reliable, too.

I've been using the Raspberry Pi3/4 for:

1. Pihole + p1 power meter 2. Internet quality monitoring 3. Grafana + Graphite for my home computers 4. Always on Ubuntu Repository Mirror with external 8TB drive 5. A 3b hosting my website powered by solar

I should add 'router' but my internet is faster than my Pi4 can handle. Maybe the compute module or pi400 can handle gigabit internet.

However, almost everything I listed here could be hosted on a single low-power x86 box and that would even be more power-efficient too.

That's a nice looking panel, would like to hear a little more detail on the wiring and switching of AC loads. At work we're only allowed to go up to 50V, for everything else we have to call in an electrician and that costs $$$.

edit: found some more detail in the direct link - very interesting. I wonder if you have to get something like that inspected wherever it was installed.

nice. i've done simliar projects with unipis in hotels as its cheaper than crestron. Seeing that din rail brought back some memories. you can attach an infrared reciever to the pins and use lirc to then basically do whatever from a universal remote aswell which is a cool upgrade. put infra on a pizero on the network so it can go in ceiling or discretely somewhere. you might also find the AC has an http interface . they often modbus but samsung have http ones too. so u may be able to control that. one thing you can do is read the serial signals coming out of an AC controller and record the bytes. then just store them as instrucitons and send the same bytes over the same wire to hack it. takes a lot of fiddling.

How are you emulating an IR remote on a raspi?

I dropped down to Rust and gave the thread max priority in Linux but still couldn't toggle the port fast enough (the remote outputs square waves where the signal for the same button varies by low hundred of microseconds. The frequency changed rapidly enough that I can't use the rpi's built-in pwm).

It seemed I'd need a dedicated board running something more embedded-y the rpi communicates with. Instead, I'm going to try to solder transistors to the capacitive buttons on the existing remote and re-use it's board. Unfortunately I can't get replacement remotes and I'm just learning how to solder, so I'm not confident in success.

That's pretty cool. I mean I've worked in offices with tons on Pi's but they've been mainly just driving monitoring and visualisation displays. Seeing some other automation and streaming stuff in neat.

Disappointed. When I read "powering an office", I thought they had found a way to run their business-critical applications and storage on Pis. Now that would be an achievement.

Pretty cool!

I wonder if there is a rpi alternative with more gpu power and multiple hdmi outputs just for this use case. You could probably run all the logic on a single rpi.

The rpis driving the screens are probably under-utilised and complicates the setup.

On the other hand, by having multiple rpis, you reduce the risk of everything going down and ethernet cables (or wifi) could be simpler to setup than having super long cables from a central board up to every screen.

Nine raspi's... and the mother of all gpio expansion boards. Holy shit that control board is glorious. I want this for my living room :)

As a controls engineer in a past life, I like seeing projects like this. Johnson Controls, Honeywell, etc. have been eye gouging customers on proprietary hardware.

I've toyed with the idea of starting an open source building automation hardware company. There's quite a few open BAS software packages floating around now too.

Can a Pi match the sort of real-time performance of something like a Controllogix PLC?

No, not on its own.

What I've seen done for this sort of application is to stack the RPi on top of, say, an Arduino Mega or SAMD51 in team. The Pi handles database, network (NTP, HTML interface, update work) and the micro is sort of a real-time port expander.

Think of an access control scenario ( doors not ports ) where you have n doors ( potentially 2n readers, either wiegand or directly RS485 ) you then have 2n contact closure sensors ( door position and request-to-exit ) and an output relay to control the lock hardware power. The real-time needs of this type of thing scale to super-wide while the database lookup scales separately.

You keep a fraction of the user table on the micro controller, based on frequent use of the doors attached directly. Hang another micro controller when you've used up your I/O but connect it to RS485 doing the "same thing" with different labels/IDs. But the Pi just keeps the full list, the full log if wanted, and gives a target for your user update work and adding new doors.

I think what people like about the Pi is the modularity and ecosystem. I can get a hat for relays and sensors and things (and a super-duper hat thing for door control if you dig deep enough)

You have to engineer all of the reliability ( RTC, watch-dog timers, power state control, opto-isolation of inputs, debouncing of buttons, on and on...) but if you have more time than money, you can learn a fair deal about a particular field by building something rather than buying it.

Then when you finally have horsepower at your disposal, you may actually appreciate the value of the readily-available devices built to perform such duties reliably.

I'd enjoy a good writeup on how and why simple processors make better real time controllers than vastly more powerful ones.

It'll be infinitely easier to program than ladder logic, that's for sure

Seriously? I've hit "real" programming and bounced off but I spent a few months as a PLC tech and ladder logic was very easy.

What about powering the information system ?

Indeed, before I clicked the link I thought this was about replacing the entire IT infrastructure (servers, laptops and PCs) by RPis.

Disappointed to see that this was about controlling some LEDs and billboard screens instead.

I mean, let’s be real, what could it actually power? I can think of a few applications but it certainly won’t be much.

- dhcp / dns / radius for the office - maybe internet router, if they don’t have a too fast connection (>500 mbps) - egress MTA - intranet wiki or ticketing - resource monitoring

But yah, I agree with others, the title is a bit click-bait.

Yeah but that said my question is serious, I've seen offices relying on servers and desktops .. when in fact their entire operations could fit on an iphone (circa iphone 10).

I have the feeling that a lot of information systems are not exchanging much but require huge payloads to coat things enough to keep cute in the html5/es6 era

Quite often what would have been done with a bunch of bytes on a dumb terminal now requires full blown windows + browser, network shares of useless files, mail servers holding massively redundant content

100% true. Some websites are more than 100 MB to fully load. That’s absolutely insane to me. Tons of JS to process on the client side and very often some Java / .net code on the server side. (I’m not mentioning PHP/Python/Perl because those end up being less resource hungry and could actually run on the Pi ;) )

Could someone explain it to me what burger memes are about? I'm not sure if displaying meat on screen is a good idea unless you run a fast food shop.

Is showing anything on a billboard screen a good idea, given the power consumption when nobody is looking?

I personally love RPis. My company is balena.io and they too basically run on the little guys!

I only count 7 Pis where are the missing 2?

A manager needs firing.

When I see companies build bespoke solutions like this I can’t help but wonder which client paid for that.

Don’t get me wrong I would love to spend the time to build a system like that, as an engineer it sound fun!

No doubt this project came at the cost of someone paying the company for value that was not transferred

Sorry for being Daniel Downer here…

Engineers who get dedicated time to work on fun projects are better, happier engineers. Everyone wins.

We implement “15% time” for this and other reasons (and we certainly didn’t invent the idea). Some great ideas came out of it that grew into products and features. But mostly it’s stuff that was fun or interesting but didn’t directly lead to any revenue. That’s not just ok- it’s an important part of getting better as an engineer.

All their clients paid for it, does it really matter? Clients aren't concerned with what the consultants does with the money once the invoice is paid. Could you imagine your employer/client involved with your own life like that? "I don't think spending our money on a trip to Maldives is an effective use of our money. Maybe we are paying you too much." Like that would fly, literally, anywhere?

Yes, it's called "profit". You can distribute it to shareholders, and you can also use some of it to improve the live of employees.

As a rule, every client contributes with something. Probably not at the same rate.

Curious, if you visit a company you contract with do you apply this to everything? "So, did we pay for this coffee machine? How about this TV?"

I sure do this, if they stock the bathrooms with single ply.

> The team had a long list of tasks they wanted to transfer over to the control of Raspberry Pi:

All those tasks are "home automation" for the office. You can buy solutions for this, e.g. meeting room free/busy, but inherently there's a large amount of customisation and the COTS ones tend to be surprisingly expensive.

Another way to think of it is that the business owners decided not to take some profit out of the business in order to improve the culture of the workplace.

Or.... it just comes out of overhead?

That is surprising. I guess it's still economical for them to use these horrible computers despite the fact the mean time between failures is at best three weeks.

Do you have any references for MTBF or the Pi's failure modes in general? SD cards going out are pretty much the only thing people talk about, and that problem is easy to solve. Another thing is bad power supplies, again easily solved (and not the Pi's fault).

I have always used a few since the days of the original version. On my experience they last until I drop them, crush them with some tool, or step over them.

The power supply tends to be much shorter lived. I severely oversize those and even then they like to stop working after just a few years. The SD card is the shortest lived component by far, but it lasts longer and has a better failure mode if you disable swap. (Why do pi distros enable swap at all?)

Oh, and of course, since version 3 the power cable is the hardest component to get right. You need a very good cable, and you probably don't even know the specs on most of the ones you have...

I've had a lot of luck using the Samsung Evo Select micro sd cards, and use them almost exclusively with my RPis. I've recently been trying PNY Elite-X as well with good results, though I think I've only got one Pi running those (and two Wyze cams).

My experiences with raspberry pis has been exclusively and extremely negative.

The first one I owned had some kind of electrical fault that bricked and destroyed my TV.

The second one I owned had a fault where a few of the capacitors on the back fell off upon me plugging it in for the first time.

The third one I tried had a fault where it would spontaneously shut down if I had any USB devices plugged into it for any reason at all (in this case it was a mouse and a flash drive).

The fourth one I owned had the same problem, and the way I fixed it was desoldering its onboard wifi receiver running it at an absurd underclock and overvolting the USB2 input with my bench power supply.

With that said, let me talk about their hardware.

The USB-C implementation on the raspberry pi 4 violates the USB spec. When this was brought up to the engineers over there, they completely memory holed the problem, saying it works on USB2 chargers through an adapter. I call bullshit because during normal use it will draw more than 12.5 watts (which exceeds power limits on USB2 cables).

I have never seen the micro HDMI port on anything made before 2013 so the adapters required to make it work with modern TVs may as well be proprietary ones sold by RPi.

The camera input connector is encrypted for some reason, so if you wanted to use a camera through there it has to be one of raspberry pi's.

Despite them claiming it's opensource, it really isn't. The only thing that they have made opensource is the schematics which are largely useless for integrating into your own designs. The main processor onboard (and a handful of other ICs) isn't even commercially available. They claim it is, but that's only if you order it in minimum quantities of a few hundred thousand or something.

So in order to use the RPi4's most basic features, you need a proprietary charger, a proprietary camera, and a proprietary video output dongle. These things are more locked down than most laptops.

And that's just the problems with the RPi4. That has absolutely nothing to do with the litany of problems the past versions have had, which I don't feel like listing here. One of the issues that comes to mind is that the RPi 3 had a problem where it would spontaneously shut down if the lights in the room flickered wrong.

Worst of all, because these clowns have mindshare it means that other more well-behaved SBCs will never get any form of community tech support or large enough marketshare to make any notable change.

> The third one I tried had a fault where it would spontaneously shut down if I had any USB devices plugged into it for any reason at all (in this case it was a mouse and a flash drive).

I have a power supply that is so weak that Pi would reboot when I plug a USB keyboard in it. Solution: never use weak power supplies on Pi's.

> I have never seen the micro HDMI port on anything made before 2013 so the adapters required to make it work with modern TVs may as well be proprietary ones sold by RPi.

Pi Zero uses mini HDMI due to size constraints. Pi 4 has 2 HDMI outputs! Instead of adapters, I always prefer "right" cables. More expensive but convenient. E.g. https://www.amazon.de/Snowkids-zukunftssicheres-TV-Kabel-unt.... Also, ironically, my 2012/2013 ASUS Zenbook has a microHDMI port.

> The fourth one I owned had the same problem, and the way I fixed it was desoldering its onboard wifi receiver running it at an absurd underclock and overvolting the USB2 input with my bench power supply.

Have you tried 2-3A power supplies? E.g. https://www.amazon.de/Anker-PowerPort-Wandladeger%C3%A4t-kom.... Though I found the "official" supply cheaper and went with it.

> One of the issues that comes to mind is that the RPi 3 had a problem where it would spontaneously shut down if the lights in the room flickered wrong.

Most likely your power adaptor would not be able to maintain stable voltage when your lights flickered.

Anyway, have been running 3B+, a few Pi0s for a few years and this is the first time I read about so many problems with Pi's falling on one head. To keep my SD cards alive longer, I use DietPi and had only one SD card die on me over ca. 10 pi-years of uptime.

> more well-behaved SBCs

I am all ears!

I tried multiple power supplies. I even tried bench power supplies and overvolting them. Nothing worked. It fails for the same reason power strips fail if you plug too much into them. The Pi needs ~110% of what the input can even supply (that's ignoring the spec that says it should be 2.5 amps) and anything plugged in down-stream will need to take pieces out of that.

>Pi 4 has 2 HDMI outputs!

Two full-sized HDMI ports could fit on the board. At least, I could fit them. I question the competency of all the engineers working there.

>Most likely your power adaptor would not be able to maintain stable voltage when your lights flickered.

No. It was due to the wifi/bluetooth tranceiver not being potted and it would hard-reset if disturbed too much by the photoelectric effect.

>Anyway, have been running ...

Anecdotal evidence. They are built like absolute trash and it's a miracle anybody says they work for any reason.

> more well-behaved SBCs

Wake me up when someone makes one with ECC ram. I will not entertain using one unless it does.

Possibly the engineers working there took account not only the size of the HDMI connector, but also the plugs that go into them. if you put two connectors next to each other, you would only be able to use one at a time.

>Anecdotal evidence. They are built like absolute trash and it's a miracle anybody says they work for any reason. As is your experience. I have had about 8 pi's (zero,2,3,4) without any issue and I have never heard anybody else with the amount of issues you've had. I think they are ubiquitous because they are inexpensive, well documented, and fairly well made. They would clearly not be as popular if everyone had your experience.

>well made

They are made from the floor sweepings in Sony's factory.

You don't hear about the failures because most people just buy them and throw them away. I would venture to guess that about 60% of their customers are one-time buyers that try to power it on once and throw it away because it doesn't work. The other 40% either won the lottery or put up with its constant stream of shit because they have a near monopoly. The same is true for 3d printers.

I'd argue that you don't hear about failures as most people aren't experiencing them.

Out of at least a dozen people I know using them, every single person has multiple RPis that has been in pretty regular use. On top of that you have a plethora of documented uses and projects across the internet, ranging from home automation to arcade machines.

You seem to be painting an entire community with the same brush, but most of the people in this community would gladly help you solve the issues you seem to be facing. Perhaps the issue lies not with the RPis but with how you're using them....

I wish I could transfer my incredible raspberry pi luck to the actual lottery. I'd have won so many times.

In reality, fully working raspberry pi boards are normal. I must have at least 10. I admit I no longer use the original model (so slow) but last time I tried it worked just fine. I think that's pretty great for the money, especially considering the state of the market before they came along which I think you might be forgetting.

Last year I decommissioned a Pi 2 that had been running nonstop pretty much since it came out, with the same SD card. I used it as a camera/motion detector for my garage, so it isn’t like it had the perfect environment. I also have a pi 3 that runs nonstop collecting data from a couple usb peripherals. I have a pi zero W running as a print server for the last 2-3 years, and a pi 4 with multiple services and docker containers for the last 1.5-2 years. I have never experienced an SD or pi failure. I only buy the power supplies recommended by the pi foundation. I also gracefully shut down vs. yanking power (but I do not have these on UPS, so they do occasionally experience power outages)

That is all anecdotal evidence. All four that I have tried using have failed catastrophically for different reasons. See my reply to a different comment on the same thread.

As is yours. I was only sharing my own anecdotes to show that both extremes exist.

I've got multiple RasPis from 2nd, 3rd, and 4th gen that all have lasted years. I know of a Rpi 2b still running in a shed in the New Mexico desert that holds at about 90*F that's still going after 5 years.

I had a 3B running as a car infotainment system with hard shutdowns at least daily for three years. Sold that car and it's now in a drawer, but slated for use in an arcade perhaps.

I've got another 3b running as a Unifi controller that's been running for 2+ years.

I've got two 3b and one 4 running OctoPi (3d printer server) without issues for 3+ years.

Given the mass adoption and heavy usage of RPis, I would venture to day most people don't find them to be "horrible computers". I think in 5+ years the only time I've had an RPi fail at the hardware level and die was due to powering it via the 5V headers and accidentally reversing polarity. Might have also shorted one out when an enclosure was flooded due to bad weather seals.

All anecdotal, but I find most of the time when Pi's fail it's often either voltage sag, poor quality sd cards, or excessive writes to the SD. The SD cards are definitely a weak link in the RPi ecosystem.

Whenever possible, ensure your Pi isn't reporting undervoltage and look for ways to minimize writing to disk (or attach a USB drive for any heavy writing necessary).

There are better solutions other than the Raspberries, often even cheaper, less power hungry and more open, but they struggle to gain visibility because they don't spend in advertising as much as the Raspberry Pi Foundation (Broadcom?) does.

Here's a list of over 400 boards. There's also a .csv file to downlaod for offline quick comparison. https://hackerboards.com/

Out of interest, where do you see their adverts?

Advertising doesn't need to be explicit. I won't comment further as I was roasted here when I wrote what I thought about the RPi Zero scarcity (which lasted years) when it was launched.

Sure, but that's normally the sort of adverting that goes along with a big advertising spend. I had imagined almost all their advertising exposure is from giving product away for people to review, and of course the charity aspect got headlines originally. I suppose you might say the silly low price of the pi zero was a form of advertising. I don't think they'll do a stunt like that again.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact