The One and the Many

Raspberry Pi use

Last week the Raspberry Pi foundation announced a new version of the Raspberry Pi. Raspberry Pi is a small computer, often called credit card sized, that is a full computer on a single board. It's famous for being quite cheap ($35 USD originally, now as little as $5 USD).

I already have two Raspberry Pi boards, but I ordered this new version (Pi 2 Model B, 2015-02) the day it came out. I was already thinking of getting another the weekend before the announcement, so when an even better version become available I went for it.

Raspberry Pi #1

My first Pi is a Model B from February 2013 with 512MB of memory. I originally purchased it intending to use as a basic headless development server. A test bed to not have to worry about breaking my primary development workstation.

I ended up trying it out as a thin client using BerryTerminal which lets the Pi boot and run programs over a network. This means it is not as limited by the Pi's meagre processing power because the programs run on a more powerful computer.

Surprisingly I found that this worked quite well. I even was able to play music at the same time as using the Pi as a computer. In fact, I thought it worked so well that I ended up switching to this setup completely and my old desktop computer ended up being recycled (it was quite old).

The Pi as an LTSP thin client is not perfect and there are cases where it can be slow and frustrating. The most irritating part is the fact that keypresses can occasionally miss or repeat (for example I might push "i" and no "i" will be appear, or I might push "i" once and "iiiiiiii..." will appear). But it's usable.

In fact, I'm writing this on this Pi! Almost two years later.

(Not my Pi)

Raspberry Pi Model B

By Justin417 (Own work) [CC BY-SA 3.0], via Wikimedia Commons

Raspberry Pi #2

My second Pi is also a Model B 512MB. This time from January 2014. I purchased this one for the same purpose as the first since I ended up using the first for something completely different.

I had recently received a Bluetooth LE 4.0 device, and this was not supported by my server's stable distribution of Linux (well, not without making updates to it that I was not interested in as it would be risking something I depend on). The Pi would be able to run more up to date software and I wouldn't need to worry about breaking its OS.

This ended up working well and I created a program to talk via Bluetooth to the device I needed to.

After I finished that project this Pi was not really used much.

I ended up installing an IRC server on it and placing it at another's house so my IRC network would benefit from being hosted in multiple locations. It's still there doing its job perfectly well.

There was one hiccup I ran into with this particular Pi: After a minute or two of idle on a TCP connection, the connection would drop. I suspect there is something at fault with the hardware (because I've not encountered this on my first Pi, and I could not find much reference to this being a problem on other Pis), but it's still usable. To work around this (for the IRC server) I ended up tweaking the connection keepalive settings so that there are packets sent over the connection more frequently than usual which ends up keeping the connection alive. There have been no issues with connection drops since then.

Raspberry Pi #3

My third Pi is the new Raspberry Pi 2 Model B as of February 2015. It's not here yet, but I'm planning on swapping it with my first one and seeing how it performs in comparison. I'm hoping it might solve the performance and keypress issues with my current setup (performance, keypresses). Though given there are apparently no changes to the USB support I'm not expecting perfection. It's possible the improvements made for the Model B+ could help I suppose.

I'm also planning to try it out as a thick client rather than as an LTSP thin client. Given its increased power I suspect it may be usable, but we'll see. The current Pi I have is quite sluggish used that way. (Update: It worked much better).

Beyond these uses, I might turn it into an internal development server. It may also be useful to have as an IRC server at a third location.

(Again not my Pi)

Raspberry Pi Model B

By CaptNBert (Own work) [CC BY-SA 4.0], via Wikimedia Commons

Other comments about Raspberry Pi

Despite having 3 Pis I don't think they perfect.

My biggest problem with them is that the Pi requires a binary blob to function, or even to boot. This is a piece of software with no source code available to users. It can't be audited and it can't be modified. This has me paranoid about privacy and also is just not as nice because it means one has less control over the device.

I've so far been willing to compromise and put up with this because the rest of the software ecosystem around the Pi is quite good. Because so many people have Pis, others have solved many problems you might encounter, and you can find people who have tried to do much that you would want. It's easy to get help and find pre-built images. There is even an image for FreeBSD!

With other similar boards that are more niche I worry that it will be difficult to make a usable system or that support will be out of date. You are more on your own. I'm likely able to get up and running with other boards, but it requires a lot more of a time investment to get there whereas with the Pi I can pop in an image and get right to what I want to do.

Another issue is of course the quality problems that seem common. In particular the keypress issue I've mentioned, and the networking issues I encountered with my second Pi. It's possible both of these are down to USB support issues as from what I have read the USB support on these boards have certain fundamental problems. That's not to say that other boards would not have similar problems or even worse problems. I've definitely seen variations.

What's really great about these and other similar boards is they are so simple and use such little power. You don't have to go out and choose a bunch of different parts and then put them together. You don't have to use 100s of watts to power a simple computer.

Update

I have 5 now. The first 3 described above, a second Raspberry Pi 2 Model B that I picked up mid 2015, and a Raspberry Pi 3 Model B I got March 2018.

Here's what I use them for now:

  1. Raspberry Pi 1 Model B (February 2013): IRC server (remote)
  2. Raspberry Pi 1 Model B (January 2014): IRC server (remote)
  3. Raspberry Pi 2 Model B (February 2015): Idle (previously used as fat client desktop)
  4. Raspberry Pi 2 Model B (July 2015): IRC server (remote)
  5. Raspberry Pi 3 Model B+ (March 2018): Server (local)

Comments