Raspberry Pi
Over Christmas, I bought myself a 3D printer kit from printrbot. It didn’t arrive in time to occupy me over the holiday break, however, which meant that over the weekends, I was actually lacking in toys to play with for myself. Since I had already spent somewhat lavishly on myself — I bought the Printrbot Plus kit, which is pricier than I really should have — I was looking for a toy that would be entertaining but also relatively inexpensive.
In the end, I went with the Raspberry Pi Model B: A credit card sized ARM-based computer. Part of the reason was actually related to my 3D Printer: Since prints take a long time to run, having the Pi as an extra computer I can hook up to the printer when needed seemed opportune — but part of it was just the fact that it was relatively inexpensive and seemed like it might let me do some interesting things.
Originally, I had planned on using it as a video game emulator — something that a number of people have talked about having done, via distributions like RetroPie and the like. Unfortunately, I’ve had some trouble getting the primary platform I’m interested in emulating — NES — to run at a reasonable speed. (Amusingly, SNES emulators seem to actually be noticeably faster.) This has led to some interesting research and reading about emulators — like an article in Ars Technica about how accurate emulation requires much more resources than the original hardware, and how emulator developers should take advantage of the hardware they have available these days.
In the end, I haven’t really done that much of interest with the Pi yet — nothing I couldn’t have done using the Linux machine that I already pay for on Linode. However, it has led to me actually doing some things that I hadn’t otherwise — setting up Asterisk, for example. It’s now possible to dial a given phone number, and you’ll be logged into a conference call served from my Raspberry Pi. I also set up munin — after having serious issues with Verizon for months, I was finally able to track and confirm that I was getting packet loss to Google at regular intervals. None of this is particularly complex, but there’s also nothing pi specific about it — these are things you can do pretty easily with *any* linux computer — but I haven’t had another computer running in this house for years, and the Pi provided motivation to learn these things.
That doesn’t mean that I don’t plan to use the Pi to do things that *do* actually get benefit out of it; I made my first order to Adafruit the other day, buying a digital temperature sensor and Pi Cobbler breakout board for the Pi, as well as breadboarding bits, to be able to experiment with the GPIO pins on the Pi; I’m hoping that I can entice Julie into doing some electronics experiments with me using the Pi. (She enjoyed the toy electronics kit that we got for her a while back, but I get the feeling that she’d be more interested in more involved electronics work.)
I also still plan to use the Pi to drive 3D Printing, though I expect it will be a while before I’m in a position to actually need it — given how finicky 3d printing tends to be, I expect to be at the “Goddamnit nothing works” stage for quite a while first. (Of course, before that, I’ll have to put the darn thing together, which may or may not be sufficiently complex to cause me to give up on the whole notion.)
In short: Raspberry Pi. Cheap, Small Linux computer. For me, not a lot more or a lot less — but having a Linux computer in the house is a nice thing to have. It’s also got me interested in a few new areas of interest — emulation, home automation, and amateur electronics — which may prove more interesting than the computer itself.
January 10th, 2014 at 11:39 pm
Consider buying a second so that you aren’t tempted to make it do too much. I have this dilemma, as I want to run the Thing system, as well as a bunch of opencv based stuff for face detection (who’s accessing the fridge? Are they holding up a bar coded item? Update inventory, publish photo to trello shopping list). I can’t do both with reasonable performance.
Secondly, consider managing your pi via chef or similar – the SD card will fail, expect to rebuild it / shift data offsite