The Raspberry Pi is an inexpensive , under $50, small single board computer using a Broadcom BCM2835 chip that includes a 700Mhz ARM processor. The system also supports HDMI graphics and ethernet. You will need to supply your own 4GB or larger SD card for storage. The board supports several Linux distributions. The easiest way to get started is with the NOOBS (New Out Of the Box Software) install. Raspbian, a version of Debian Linux targeted for the Raspberry Pi that’s maintained by the Raspberry Pi Foundation, is recommended for the initial install. The Pi is inexpensive enough to use as an embedded system and powerful enough to use as a low end Linux development system. In fact I have my Pi configured as an Arduino development system! I also use CuteCom to debug serial communications with my NetDuino and XBee modules. Clementine also makes the Pi into a great internet radio. I have to admit that I have been having so much fun using my Pi as a low end Linux box that I have not spent much time interfacing it to hardware. The Pi can support: 8 GPIOs, 1 serial port, 1 SPI bus, 1 I2C bus. There are some really interesting projects available to support device control with the Pi. Adafruit has a customized Linux distro targeted at educators and makers: Occidentalis. You can use just about any programming language to program the Pi, hey it is Linux after all. However, out of the box Python is probably the best supported. Python and the Idle3 IDE are installed by default on Raspbian. The RPi. GPIO library supports access to Pi GPIO pins. A good description of RPi I/O is available here: http://elinux.org/Rpi_Low-level_peripherals . The Pi was designed for “serious” I/O to be located on a daughter board. A list of expansion boards is available at elinux.org.
Advantages: Low cost, Graphics, Linux based, large community
Disadvantages: No default hard realtime support, Linux overhead, GPIO support still evolving, no analog I/O, ARM6