What Are Your Favorite SBCs (Single Board Computers), Why, and How Did You Get Into Them?
Like most people, I entered COVID as a normal hobby geek with a Linux server I played around with and a healthy hardware habit with a side of home automation and DD-WRT. I emerged from COVID enrolled in college, now with two servers (one new build, one rebuilt from my first one), two Pi, multiple instances of Home Assistant (one dedicated) and putting sensors on everything a sensor could go on and rewiring switches for wifi control of overhead fans, flashing every compatible router I could find on Amazon Warehouse with DDWRT in my home for an ad hoc mesh network (no, it didn't work, but I didn't care) while cabling everything to switches and creating a really hilarious network deathtrap tripping hazard, a massive media library (discovered Handbrake and making multiple resolutions) and a Sonos home theatre system. And yes, played an unhealthy amount of Animal Crossing and got an NVIDIA Shield Pro for streaming and Plex, as you do. I'm sure everyone can relate.
SBC's were the natural escalation; I had credit card bills to pay off and that's going to take a while.
I gatewayed with Pi like ten years ago but it took off during Later COVID when I noticed my credit score and started testing it as a NAS, Media Server (later: Cassiope Media Server, my second end to end Linux build), then got into learning about the kernel itself. I already had an Odroid (Home Assistant Blue) so why not go on, so project-based SBCs seemed healthy; I had a reason for buying one. This led to more Pi's--as I couldn't use Kernel Pi (Eurydice) for it and Andromeda Pi was masking my personal network, then I needed one for a Pihole (Iphigenia, Hecuba), which is how I ended up with a BeagleBone Black (Medusa) for an Open Thread Border Router. Still pretending I wasn't just collecting them like cats, I networked them together and just enjoyed looking at them and making them matching banners with figlet with the excuse I was learning how to do network-wide deployments over SSH (true) and learn Debian OS (technically, I am doing that) and started PoEing things (my credit card bills may not be getting lower, no).
The count stands at a total of 9: one (1) Pi Zero W, one (1) Pi Zero 2 W, one (1) Raspberry Pi 4B 4G, two (2) Raspberry PI 4B 8G, one (1) Odroid N2+, one (1) Beaglebone Black, one (1) PocketBeagle, and one (1) BeaglePlay. (Other: two Linux machines, Watson and Cassiope). Yes, they all have names and technically, each is associated with a project. The BeaglePlay's (Circe) associated project is 'create my own documentation on what it does because Beagles don't document'.
So which ones do you use, why, origin story, feelings: go.
(I'm moving in a week and half my hardware is being packed. I'm about to have to take down my network and Home Assistant and may be freaking out. I'm not sure I know where any light switches are here, either.)
At work we develop instrumentation used in outdoor surveys, and I am writing a new version of the software which downloads the data logger and so forth. This is done by connecting a little USB dongle to the instrument.
Lately, I've been thinking about the possibility of adding an SBC to the dongle itself. My new generation of the software has a low-level component written in C++ which handles the USB I/O and a GUI component written in Python. So the idea is the C++ tool would run on the SBC and the Python would be a client that could run on any machine with LAN access to it.
So I am wondering at this point what would be a good candidate for the SBC? It would not need to be particularly high performance I think? Low power requirements would be good. And it should support wifi and ethernet and be rugged enough for outdoor use. (It would be protected by the metal enclosure of the dongle but may still be subject to temperature swings and some rough handling.)
I am seriously regretting that I haven't bought more SBCs so I could give you an informed opinion and I desperately hope someone answers this.
With my Pi and Beagle limitations: the Pi Zero 2 with an ethernet hat and battery hat or power block would probably do it; the hats aren't hugely expensive and if there's one thing the Pi ecosystem has in abundance, it has cases for eveyrthing (Argon has a jawdropping modular case design for the Pi Zero; it's like art and that costs more than even the ridiculously inflated price of a Pi Zero 2, which is saying something). Right now, it's also--for what it is--overpriced. I'm trying to decide if the BeaglePlay would be worth your time to look into; it has wifi, bluetooth, ethernet and single-pair ethernet and integrates with Freedom Connect but it's very new, the documentation is bad to literally non-existent, you'd need to custom build the case, and it's design seems geared toward IoT, automation, monitoring and controlling remote sensors with any existing network protocol, and existing as a vague super cool enigma I am still not sure what to do with as it has a lot of onboard functionality built in and no idea how to use most of it.
I am totally watching this thread for people's suggestions.
Thanks! I was looking at the Pi Zero due to general familiarity with the Pi ecosystem, but BeaglePlay sounds interesting. I will definitely investigate.
One other thing I'm wondering about is what sort of linux distro would be best? It should boot fast and be robust in terms of not easily getting corrupted if it gets powered off without a proper shutdown. I have intentionally made the C++ software not manage any files locally for this reason, so it would only be the OS that could potentially bork itself.
Raspberry Pi OS is solid; that's the first kernel I reconfigured and recompiled myself and the first OS I felt comfortable making more major changes and at this point, it's basically fully designed for the abilities and limitations of a Pi. But there are many distros you can check that have made an effort to work specifically with the Pi. I concentrate now on with the Zeros and Beagles with low eMMC is getting a very solid and fast sd card to run off off and keep a clean copy.
Weirdly, I've really gotten into sdcards as drive; I finish my configuration and get it how I want, then make an image and either back it up or put it on a backup card; no downtime I mess anything up or need to reinstall, just switch cards (or move the card from one Pi to the other). I was thinking that might be convenient for you too; once you get a solid configuration done and your programs loaded and ready to run, you copy it and keep some backups on extra cards. Like yes, nvme and ssd and usb and eMMC are much faster but they are not convenient when it's Thing That Has This Very Specific Job where all I have to do is whip out my backup card, switch it out, and keep going.
I am so weirdly curious about what you decide to go with and why. This is one of the uses of SBCs I always thought was the most obvious: field work, especially if it's impractical to go over network or testing/data checks are intensive and need direct contact.