Cheap single board computers

Raspberry pi et al

September 10, 2015 — February 9, 2020

computers are awful
diy
hardware

Ponderous details of making the current generation of cheap but recognisably modern machines do interesting stuff, especially single board computers: little systems on a single PCB, usually based on ARM-type architectures.

You want inspiration? Alex McLean released his new album as a Raspberry pi.

Originally I didn’t care about these machines; but they turn out to be convenient and fun. Also in this era of justified paranoia, I might want to run separate apps on separate computers for increased safety; disposable miniature computers make this affordable.

1 Platforms

There are various miscellaneous platforms with little brand recognition and less support; these generally leverage similarity to a major player such as raspberry pi.

🏗 see if there good alternatives in the wilds of Ali express There are various contenders such as odroids and such. See the overdetailed wikipedia page, hackerboards.com or one of the intermittent geek listicle/ reviews.

1.1 Raspberry Pi

To find a headless pi on the network:

#!/bin/sh
# https://gist.github.com/danmackinlay/2c970aec992a59eab7dda739b974ea9a

#!/bin/sh

# get broadcast addresses for each network
net=`ifconfig | grep -o -E "Bcast:(.*?) " | cut -f2 -d":"`

# loop over networks running the scan
for n in $net;
do
  # first find SSH machines silently to prime the arp table
  nmap -T4 -n -p 22 --open --min-parallelism 100 "$n/24" | grep -e "scan report for" -e "ssh" > /dev/null
done

# then run arp to show machines pi MACs
# https://udger.com/resources/mac-address-vendor-detail?name=raspberry_pi_foundation
arp -na | grep -E "(b8:27:eb|dc:a6:32)" | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

The default user on Raspbian is pi with the password raspberry. Change it.

Note that the Rpi4 needs firmware updates to avoid overheating and also just runs hot. Do not use the official case or the poor little guy will cook himself alive in there.

sudo apt update
sudo apt full-upgrade
sudo apt install rpi-eeprom

Check temperature:

watch -n 1 vcgencmd measure_temp

1.2 AI-focused hardware

1.3 Bela

Low-latency multi-channel audio machine: bela.

1.4 NVIDIA Jetson

NVIDIA make SBCs with GPUs such as jetson, although they don’t seem to have good audio natively…? Maybe HDMI.

2 Applications

2.1 Machine learning, AI

See Edge ML.

2.2 Art installations

Are you doing this because you want to run a machine in a gallery?

2.3 Media Centres

You want a computer which just sites there and plays MP3s for you and has a weird crappy custom keyboard that makes it difficult to find things? This is not too hard; the main complication is that there are many alternatives which change their names often. See Media centers.

Perhaps run volumio; that seems like the friendliest option, and Michelangelo the guiding genius is a super nice guy.

2.4 VPN Access Point

Nice idea. After wasting much time on this, though I do not recommend it. There is enough processing power, but the hardware is awkward. RPi firmware is not really designed for many clients and crashes in weird ways. Buy a router or build custom box.