What do I do with a computer?

Recently someone asked if I had any suggestions for what to do with a PINE 64. For $15, you get a board that has a beefy (64-bit!) processor running Linux (or Android). Neat.

It's funny, when anyone asks me what to do with an Arduino, an 8-bit processor, I have lots of answers. Want to light lights? Make them dance? Do light art in photography? What about motors and robots? How about a little alarm system? Have you considered a musical instrument? What kind of interactive art can you conceive? Whatever you want to do, WE WILL HAVE SO MUCH FUN!!!

But the PINE64 is more like a more powerful BeagleBone Black or Raspberry Pi. These are single-board computers. That phrase seems to confuse people. What they hear seems to be “single-BOARD computer” and they think about hardware. However, what I think you should hear is “blah-blah COMPUTER!”

It is a small computer. It is cheap enough that you can destroy it and probably not worry about your next meal. So where would you put your laptop if you didn’t care about it? Leave it connected in your living room, serving up YouTube and Netflix? The PINE64 could do that. It could also run fairly complex games if you wanted. Or you could attach it to a large disk and use it as a home backup server. This board could definitely be used for a Weasley clock to keep track of loved ones. You could write really fancy software to watch car traffic, look at your calendar, and wake you up at the right time with your favorite music. Yes, if you can do that, the PINE64 (or BeagleBone Black or Raspberry Pi) can do that.

Whatever you can imagine a computer doing, you can do on one of the modern single-board computers. You can even use them as computers. If you hook up a screen and keyboard, most of them have learning-to-program tutorials. I’m sure their tutorial will help you hook up WiFi or Ethernet so you can surf the web in easily destroyable privacy. While I wouldn’t want to do large scale development, you could hook one of these up and program an Arduino or create a website with it. With a small screen and keyboard, you can program your system at the beach because your development system is only $15. (Well, maybe $40 with keyboard, screen.)

The possibilities are too wide for me. I tend to thrive on limitations. But when would I choose a single-board computer instead of a microcontroller board? As soon as I needed to attach a camera to a system. Images are so much easier in a real operating system. Networking is also much more straightforward. So if I want to make a server instead of a device, that’s when I reach for a computer. And as soon as I need a screen with any complexity, the tiny computers (and their HDMI outputs) make it much simpler (note: not cheaper, just simpler). And if I want to pull Python libraries from the internet and write five lines of code to put together proverbial Lego blocks that other people created, that’s possible with a computer in a way it isn’t possible with the small microcontroller-based systems I usually develop on.

I find single-board computers amazing. They can do so much. Of course, the downside is that they take larger batteries. Where your Arduino-based LilyPad light-up skirt will last all night with a discreet power source, the single board computers need real power sources. If you don’t care about battery life, or if your project is going to be plugged in or run on a car battery, then a single-board computer is a good option.

So, what do you want to do with a $15 blah-blah computer?