another man's ramblings on code and tech

My Raspberry Pi Experience

I've played around with a few Raspberry Pis in my time. As a developer, it's kind of hard to not find a way to use one of those neat hobby boards. I've helped people set up NASes, emulators for old arcade games, and remote home monitoring solutions all from Raspberry Pis. Here's some advice and expectations I have from my experience with them.

Be ready for lots of tinkering

Raspberry Pi OSes often come with a good selection of built in repositories to work with. A version of Python, most HTTP servers, most programming languages, and most popular projects will be available in some form. However, often times you're going to have to do some digging to get less popular or more cutting edge software and services to run on them. I had a lot of problems getting Python 3.6 installed on my last Pi, but did eventually. I had a lot of problems tinkering with network shares on my Pi, but eventually got them working smoothly. You're going to run into some friction while working with your Pi; expect the unexpected and be ready to get your hands dirty building projects and installing custom repositories.

First timers should follow a well documentented tutorial

Because of my above point, beginners should follow a well documented and up to date tutorial specifically written for the model of Pi they're working with. Because of this, good starter projects would be working with RetroPi or setting up DOSBox on your Pi. Beginners should also avoid highly hardware dependent projects, as you'll see with my next point.

Work in slowly with hardware projects

I've had varied success with hardware projects on my Pis. It often takes me a long time to get my wiring correct on my breadboards and even longer to get my code actually using the lights and adapters I've attached to it. With hardware I'd work in slowly, starting with beginner projects and working your way up to more advanced builds. Or avoid it entirely! There's lots of projects that don't require soldering lights and buttons to your machine.

Be careful with Pis meant to have high uptime

Every Raspberry Pi I've ever setup or seen setup as a server meant to have high uptime has had major hurdles to get over. Power problems are common issues with Pis. They frequently cannot support having high power use USB devices attached for longer periods; I've seen webcams and RGB keyboards take down Pis at random times due to their power drain. Additionally, watchdog services on their own often aren't enough to remedy the problem. So if you are planning on setting up a high availability Pi, like a PiHole box or a remote web server, make sure to buy a good power cable and be prepared for lots of debugging.

Remember their limitations

Raspberry Pis are great little boards, but don't have high expectations from them. I'd never stream media to a Pi setup on my TV or use it for anything that requires super low latency; they just can't be trusted to do it well. Obviously anything with medium to high rendering or processing would also be off the list, so don't plan on making a Raspberry Pi based crypto mining rig anytime soon.

And that's about it! Keep all of the above in mind on your Raspberry Pi adventures in the future and may the force be with you.

Date: Mar 26 2018