Comparison between Raspberry Pi, BeagleBone Black, Arduino, and Intel Galileo

I've been teaching an embedded systems course in PUC's CS department for a while, where we use the msp430f5529 experimenter board. It really serves the purpose of learning the bare bones of embedded systems, but unfortunately they tend to be unreliable and sometimes it gets to EE-oriented.

Part of the perks of teaching at a university is that you can apply to university programs and get to play with cool stuff. In advance. For free. So I applied to the Intel Galileo university program, and they kindly donated 20 boards we'll use this semester.

So here's a picture of 4 popular embedded boards: Raspberry Pi, BeagleBone Black, Arduino Uno and Intel Galileo:

If you look closely you'll guess which one is which :)

The following lines compare each one of them, just in case you're wondering which one to use for your next embedded project.

Raspberry Pi (Model B)

Processor: ARM1176JZF-S (ARMv6k) 700-800 MHz

Memory: 512 MB RAM, 128 Kb L2 cache, SD card for OS.

On-board peripherals: Ethernet, 2 USB host ports, true HDMI, Camera connector, Audio, Analog Video.

GPIO and interfaces: 26-pin GPIO header with 1 UART, 2 SPI, 1 I2C, 1 PWM and several other GPIO.

Operating Systems: Raspbian (Debian), ArchLinux, PiDora (Fedora) and some others.

Intel Galileo

I'm just getting started with this one, so I can't comment on long-term reliability or issues.

Processor: Intel Quark SoC X1000 400 MHz (x86). Since this board is based on the x86 architecture it might be possible to see a port of windows embedded for this board.

Memory: 8 MB on-board memory, 256 MB RAM, 16 Kb L2 cache, SD card for OS. SD card for OS. The on-board memory is enough to get it running, though.

On-board peripherals: Ethernet, mini-PCI, 1 USB client, 1 USB host, serial port.

Operating Systems: Linux, based on the Yocto project. Since this is not a full-blown linux distro there's lots of functionalities not available, such as a package manager, man pages or vim.