Monday, January 13, 2014

Small Computers for Hacking

In my last post, I talked about MY first computers and my FIRST Linux-based computer!  I decided to follow up with a brief discussion about very capable small computers that are FANTASTIC for hacking.  I'll focus on some that run Linux, as nearly all the hackable computers do these days.

Today, the specs on my first computer are way below all but the smallest embedded systems.  For example you can now buy a 32-bit ARM microcontroller with flash, RAM, and I/O on a single 8-pin chip for less than $1, (NXP LPC810).  The LPC810 has more raw power than my first computer (but not as much RAM).  You can now buy more-capable system on a chip (SOC) processors with CPU, RAM, FLASH, I/O, etc. all on the same chip, resulting in very-inexpensive systems.  These SOCs are at the core of all smart phones, which is driving the volume up and the price down!

Many companies are now building very inexpensive, credit-card sized, single board computers (SBC) using these SOCs, largely based on cell phone or tablet chips.  These SBCs are great for learning to program and learning to hack both software and hardware.  Almost all of the higher-end computers run some version of Linux (Android, Angstrom, Ubuntu, Fedora, etc.).  One of the best is the Beaglebone Black ($45) which is well built, has a lot of I/O, and includes both Ethernet and FLASH on-board.  Another excellent board is the Raspberry Pi ($35) which is very popular, but slower (over 2M sold so far).

Hardware is cool, but what can you do with it?
  • learn to program (python, C, C++, Java, and many other languages)
  • learn about hardware, control hardware, robotics
  • create network-aware devices 
  • control things like cameras and, yes, even toasters
  • make cool things like robots or drones, use your imagination!
  • create media centers or game systems (they typically have HDMI outputs)
     (Some Raspberry Pi examples can be found here.)

I have a GPS on one of my Raspberry Pis.  On another, I have the Pi Camera and I hope to do some time lapse photography with it.  I hope to turn one into a controller for my Canon DSLR using Gphoto2.

Some of these SBCs include:

Raspberry Pi - a credit-card sized 700 MHz ARM computer with 512M RAM, Ethernet (in the B version, $35), HDMI, and SD card.  It is was designed for the education market:  "We want to see it being used by kids all over the world to learn programming."  The Raspberry Pi foundation has sold over 2M of them so far.  You can easily add a camera module to it ($30, 5MP).  It is not fully open source hardware, is based on an older processor, and sometimes has power issues (it is not as well designed as the BeagleBone Black). I have several Raspberry Pi computers, one with the camera module, and one with a GPS module I purchased from AdaFruit. I am using them for testing and demonstrations.

BeagleBone Black - a better credit card sized computer than the Pi.  The board is much better engineered and includes a lot more general purpose I/O.  It includes a faster processor and 2G FLASH on-board as well for $10 more.  The BeagleBone Black is completely open source hardware and is built in the USA. The only drawbacks are smaller developer community (100K sold versus 2M), micro HDMI, and slower video processor (not sure if it can do 1080p).

Intel Galileo - an Intel QUARK (Atom) computer with Linux.  This is a 32-bit Intel processor that is compatible with Arduino shields.

CubieBoard - based on the Chinese Allwinner A10 ARM.

VIA APC Rock and Paper - small ARM computers from VIA.

This is a partial list of vendors where you can purchase some of these computers:
In another post, I'll post about some very exciting open hardware, non-Linux single board computers. These typically don't have a traditional operating system, but do run simple software that you develop on a Linux, Windows, or Mac computer system.  Some of these include the ArduinoLeaf Labs Maple, and the Papilio FPGA.

Disclaimer:  the word Hacking in the context of this article refers to the "computer enthusiast" and not those that break into computers, as those are called crackers (or the NSA).  Computer crackers must not be confused with a Florida Cracker (though my grandfather and friends did ride horses and take a mule team from Gainesville to California Swamp for week-long hunting/fishing trips 100+ years ago).

No comments:

Post a Comment