How to change the format of WordPress permalinks on Raspberry Pi

WordPress LogoIn the new versions of WordPress it is possible to change the format of the permalinks. By default the permalinks are basically made up of a number (“?p=number”) and they don’t look so nice, but you can change them to contain the name of the post for example, the date of the post or they can even have some custom structure:

WordPress Permalinks

WordPress Permalinks

There are mainly two reason why people wish to switch from the default permalink structure to another one:

    1. The default format is a bit ugly and the custom ones are more suggestive
    2. WordPress caching plugins require a non-default permalink format

The best practice is to change the permalink format to the desired one immediately after a WordPress blog is created, however authors tend to change their mind, so the question is how to change the format when there are already some existing posts in the blog without losing the existing links (without getting broken links). Normally this should be as easy as choosing a new permalink format and telling WordPress to use it. Normally WordPress should take care of the old links and everything should be fine. Unfortunately this is not always the case because this behavior depends on the settings of the server which is hosting the WordPress blog. If the settings are not correct, you will get the “404 Not Found” error when you click a previously existing link after changing the permalink format. This means that after switching to the new format, you will need to update some settings on your server.

 

Steps to change the WordPress permalink format on a Raspberry Pi LAMP server:

1. Log into your WordPress blog and go to Dashboard. After that go to Settings / Permalinks.

2. Select the desired permalink format and click “Save Changes”.

3. On your Raspberry Pi open a command window.

4. Edit the file /etc/apache2/sites-available/default:

    • nano /etc/apache2/sites-available/default
    • find the following two sections:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride none
    Order allow,deny
    allow from all
</Directory>

    • Put a “+” sign in front of the “FollowSymLinks” strings and change the “AllowOverride None” lines to “AllowOverride All”. So after the change the two sectios should look like this:

<Directory />
    Options +FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/>
    Options Indexes +FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

    • Save the file (CTRL+O)

5. Repeat the actions from step 4 for the file /etc/apache2/default-ssl

6. Copy some modules from the /etc/apache2/mods-available directory to the /etc/apache2/mods-enabled directory, in order for Apache to be able to use these modules:

    • cp -p /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
    • cp -p /etc/apache2/mods-available/expires.load /etc/apache2/mods-enabled
    • cp -p /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled

Note: The last two modules are only required if you are changing the permalinks because a caching plugin needs it. Otherwise the first module (rewrite) will suffice.

7. Restart Apache:

service apache2 restart

Now when you go to your WordPress blog, your previously existing links should be working even though the permalink format has been changed.

 

How to turn your Raspberry Pi into a web server

Why Raspberry Pi?

 

 

Raspberry Pi

 

Many people would say that the Raspberry Pi is not suitable to be used as a web server because of its relatively low hardware performance and resources. I tend not to agree. The Raspberry Pi is the perfect piece of hardware for being a web server! First of all it’s one of the cheapest (if not the cheapest) regular Linux computers on the market. In other words the Raspberry Pi makes it possible for virtually everybody to have their own low-cost web server. Second of all, its extremely low power consumption allows you to keep it running 24/7 without having to pay a lot of money for electricity. A regular high-end server running all the time would definitely make its presence noticed on the electricity bill (and have an environmental impact too). Finally, in contrast with powerful servers, the Raspberry Pi is small and quiet. It has no fans or any other moving components. You can fit it into the smallest corner of your house and you’ll never hear it making any noise. You can even put it under your pillow and sleep on it while the Pi keeps serving your web pages. Well, yes, it’s true, its processor is only running at 700 MHz and even model B only has 512 MB of RAM, but usually that will not be a problem. Unless you’re going to host some ultra-busy portal on it or some online store with tens of thousands of visitors, the little Pi will rise to the expectations and do its job well enough. If you only intend to host a personal page, a blog or any other website that will not have more than a few thousand visitors a day, the Raspberry Pi is the perfect hardware for your web server.

 

The LAMP server

So how exactly do you turn a Raspberry Pi into a web server? Without a doubt, there are many ways to achieve this. We are going to turn it into a LAMP server, in other words we are going to install Apache, MySQL and PHP on it (LAMP is an acronym for Linux + Apache + MySQL + PHP). These applications are  usually more than enough for most of the websites and they are all free. If you plan to host something very special, there are always ways to extend this system. We are going to assume that you already have Linux running on your Raspberry Pi (Raspbian, to be more specific, but this tutorial should be usable with other distributions as well, perhaps with some minor modifications). So all we have to do is to get Apache, PHP and MySQL up and running.

Before you try installing anything, you should make sure that your repositories are up to date. Open a command line and run the command:

apt-get update

If you’re not logged in as root, you’ll need to add “sudo” before this command and before many other commands that will follow.

 

I. Installing and configuring Apache

Apache LogoThe Apache HTTP server is the most important software component of your Raspberry Pi web server. It will serve basic content to the users, such as static HTML and images. Installing it under Raspbian is very easy. Just follow the steps below:

1. Install Apache v2:

apt-get install apache2

It will tell you that it will download and install a few packages that will take up a number of megabytes on your SD card. Just say yes (“y”) and let it do its job automatically.

2. (Optional) Additional configuration:

When the Apache2 service starts, you’ll most likely see the following warning: “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName”. This can be solved by editing one of its main configuration files:

nano /etc/apache2/apache2.conf

Add the following line to the end of the file and save it:

SeverName localhost

Save the file (CTRL+O) and restart the Apache2 service:

service apache2 restart

3. (Optional) Set up port forwarding:

if your Raspberry Pi is in a local network, behind a router, don’t forget to set up port forwarding in your router for port 80 (the default HTTP port) to your Raspberry Pi (to the local IP of your Raspberry Pi in your local network). To obtain this IP, type:

/sbin/ifconfig

In the eth0 or wlan0 entry (depending on how your Raspberry Pi is connected to the network – through the Ethernet port or through WiFi) you should see an IP address like 192.168.1.100 (or similar). that’s the Pi’s local IP address.

4. (Optional) Test:

Let’s check that Apache is indeed working well. Change the current directory to the website’s root directory:

cd /var/www

This is where all the content will have to be stored in order for the web server to be able to show it to the outside world. Create the index.html, which is shown in the web browsers whenever somebody visits your site:

nano index.html

Paste the following test code into it:

<html>

<head><title>Hello! This website is working!</title></head>

<body>Welcome to my website! It’s working!</body>

</html>

Save the file.

Open a web browser and navigate to your website (http://yourwebsite.com for example or you could enter your IP address). You should see in the browser the test messages that you have just saved into index.html.

 

II. Installing and configuring PHP

PHP LogoIf your website only uses static content (HTML, images), then installing Apache is enough. But if it uses dynamic content, then you will also need to install something that can generate that dynamic content. In the LAMP solution we will use PHP for this purpose.

1. Install PHP v5:

apt-get install php5

2. Configure PHP to work with Apache:

In your php5 directory look for a sub-directory which contains a date in its name:

ls /usr/lib/php5/

You should see something like “20100525+lfs” among the listed files and directories.

Put this in the php.ini file:

nano /etc/php5/apache2/php.ini

Find the line which begins with “extension_dir” (use F6 to search). Uncomment it (remove the “#” from the beginning of the line) if it’s commented and make sure that it looks like this:

extension_dir = /usr/lib/php5/20100525+lfs/

(if your directory is not exactly “20100525+ifs”, add your own directory name here instead)

3. Configure Apache to work with PHP:

nano /etc/apache2/apache2.conf

Make sure that it contains the following line:

Include conf.d/*.conf

It should be below the comment line “Include generic snippets of statements”. You can also add it to the end of the file.

Create the PHP configuration file for Apache:

nano /etc/apache2/conf.d/php.conf

and paste the following contents into it:

# PHP is an HTML-embedded scripting language which attempts to make
# it easy for developers to write dynamically generated webpages.
LoadModule php5_module modules/libphp5.so
#
# Cause the PHP interpreter to handle files with a .php extension.
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as
# directory indexes.
DirectoryIndex index.php

4. (Optional) Test PHP:

Test from command line by requesting the PHP version information:

php -v

This should give you some information about the installed PHP.

Now let’s create a test PHP script, to see if it’s working in the browser too:

cd /var/www

nano phptest.php

Paste the following test code into it:

<html>
<head><title>PHP Test</title></head>
<body><?php phpinfo();?></body>
</html>

Save the file and set the access rights:

chmod 775 phptest.php

Open a web browser and try to access the test script (enter http://yourwebsite.com/phptest.php or yourip/phptest.php in the address bar). You should see a long table with various information about yours system, PHP credits, information about Apache, etc.

5. (Optional) Install APC:

APC (Alternative PHP Cache) is an application which caches the PHP code and user variables, which results in more responsive, faster websites and less congested servers. This is particularly important on the Raspberry Pi because it has limited hardware resources and we need to optimize the web server as much as possible. To install APC, simply type:

apt-get install php-apc

6. (Optional) Test APC:

You should have a PHP script named apc.php inside your /var/www directory. Test it in your web browser by entering http://yourwebsite.com/apc.php or yourip/apc.php in the address bar.

You should also see some APC-related info if you test with the phptest.php script created in step 2.

7. Restart Apache:

service apache2 restart

 

III. Installing and configuring MySQL

MySQL LogoIf your website needs to save, store and retrieve data, for example user names, login data, etc, then you will need a database server. In the LAMP solution MySQL plays this role.

 

 1. Install the MySQL sever and client:

apt-get install mysql-server mysql-client

At some point during the installation it’s going to ask for the MySQL root password. Give it a password which is complicated enough to be secure and make sure you don’t forget it because you’ll need it later when you’ll continue developing your website with parts that communicate with the database.

2. Install the PHP MySQL module:

apt-get install php5-mysql

This module will allow PHP to communicate with MySQL.

3. Restart Apache:

service apache2 restart

 

And you’re done! At this point you should have a fully functional LAMP server running on your Raspberry Pi.

 

An overview and comparison of today’s single-board micro computers

As we have concluded earlier, there are quite a few single-board micro computers out there today to choose from. Some of them offer better performance and more memory than others, some of them have a great variety of connectors while others only have the necessary minimum. A part of these devices can connect to custom hardware through general purpose input-output pins, while others are more integrated and less customizable. Most of them are based on the ARM architecture, which restricts their use to operating systems like Linux, Android, etc, but a few surprise us with an x86 design and can even run Windows. Although they are generally small, there still are significant differences between them in size. Some of them target home users while others are built for hackers and computer experts. And last, but not least, the price of these micro computers can differ a lot. So in order to get a feel of what is on the market today, let’s have an overview of the most famous micro PCs and compare them in different categories.

 

Raspberry Pi

Raspberry Pi

Designed and marketed by the non-profit Raspberry Pi Foundation, manufactured by Sony UK and sold by Farnell / Element14, the Raspberry Pi is, without a doubt, the most famous small computer (single-board micro PC) today. Its creation revolves around a noble cause, The Raspberry Pi Foundation aims to give the world, especially children, a very cheap computer which they can use to learn programming and to put their creativity to work in general. Released in early 2012, the Raspberry Pi combines some very appealing hardware characteristics, like fairly good performance (the 700 Mhz ARM CPU can be overclocked to 1GHz; 256 MB memory for model A and 512 MB memory for model B), extremely low power consumption (1.5 W max for model A and 3.5 W max for model B), which makes it suitable for battery-powered independent projects, and custom connectivity to special hardware through programmable GPIO pins. Combine all this with a very low price (25$ for model A and 35$ for model B) and a large, helping community and you definitely have a winner if you want to choose a fairly good small computer which can run Linux for example (or Android, RISC OS, etc.) and which needs to run all kinds of applications that don’t need a lot of resources (for home use, for a small server or as part of a custom hardware system). It is probably the best choice also in case you want to take the easy road into the world of micro computers because of its popularity, which translates to a huge number of Raspberry Pi owners who can and will probably help you with any questions or problems that you may encounter.

Specifications:

 

Olimex A13 OLinuXino

Olimex A13 OLinuXino

The Olimex boards come in many flavors. There is the iMX233-OLinuXino-MAXI, the iMX233-OLinuXino-MICRO, the iMX233-OLinuXino-MINI or the iMX233-OLinuXino-WiFi. But the sweetest of them all is the A13-OLinuXino (available also i the A13-OLinuXino-MICRO and A13-OLinuXino-WIFI variants). Based on an AllWinner A13 Cortex-A8 processor running at 1GHz and a 3D Mali-400 GPU, equipped with 512 MB of RAM, a GPIO connector with 68/74 pins, 3 USB ports, a VGA connector and providing an SD card slot, this board is very similar to the Raspberry Pi. Just like it, it is based on an ARM architecture and can commonly run several Linux distributions or Android. It too can connect to custom hardware through GPIO. Both the performance and the price (45 Euros) are somewhat higher compared to the Raspberry Pi. This board does not have an HDMI connector. but it has a VGA one instead.

OLinuXino is completely open source, hardware and software. You can download the design files for it free of charge and build your own. The software that runs on it (typically Linux) is also free. In contrast with the Raspberry Pi, it is specifically designed to work in industrial environments, having a 6-16 VDC input connector, a noise immune design and a working temperature range of -25 to +85 Celsius degrees.

Specifications:

  • A13 Cortex-A8 processor at 1GHz, 3D Mali-400 GPU
  • 512 MB RAM (2 x 256Mbit x 8)
  • 6-16VDC input power supply, noise immune design
  • 3 + 1 USB hosts, 3 available for users, 1 leads to onboard pinout
  • 1 USB OTG which can power the board
  • SD-card connector for booting optional Linux image
  • VGA video output
  • Battery option and connector
  • LCD signals available on connector so you still can use LCD if you diasble VGA/HDMI
  • Audio output
  • Microphone input
  • 4 Mount holes
  • RTC PCF8536 on board for real time clock and alarms
  • 5 Keys on board for android navigation
  • UEXT connector for connecting addtional UEXT modules like Zigbee, Bluetooth, Relays, etc.
  • GPIO connector with 68/74 pins and these signals:
    • 17 for adding NAND flash;
    • 22 for connecting LCDs;
    • 20+4 including 8 GPIOs which can be input, output, interrupt sources;
    • 3x I2C;
    • 2x UARTs;
    • SDIO2 for connectinf SDcards and modules;
    • 5 system pins: +5V, +3.3V, GND, RESET, NMI
  • Dimensions: 120 x 120 mm (4.7×4.7”)

 

ODROID-X2

ODROID-X2

When it comes to performance, the Korean company that produces and sells ODROID-X2 really means business! Launched in late 2012, this single-board micro computer is the successor of the previous ODROID-X and is available for buying at www.hardkernel.com. The new version packs a 1.7 GHz quad-core ARM Cortex-A9 MPCore processor and 2 GB of memory. With such resources on board, Android flies on it and a full-blown Linux system such as Ubuntu also runs smoothly. Good looking 3D games pose no problem to the board, as the Mali-400 quad-core GPU clocked at 440MHz can deal with them easily. ODORID-X2 is all about performance, which it delivers in massive amounts, making it comparable to very low-end conventional computers. However it is still based on the ARM architecture, so don’t get your hopes high about running Windows on it (theoretically it is possible, but Windows is not free and that poses problems).

ODROID-X2 is probably one of the most serious rivals of the Raspberry Pi. It clearly beats the Pi to dust from a purely performance oriented point of view, but this  naturally means a considerably higher price, 135$ to be exact. That’s still not so bad considering what it is capable of. The video output is through a micro HDMI connector (1080p). It has a standard 3.5 mm audio jack, 10/100 Mbps Ethernet connector, no less than 6 USB ports and even GPIO connectors.

Specifications:

  • CPU: Samsung Exynos4412 Cortex-A9 Quad Core 1.7Ghz with 1MB L2 cache
  • GPU: Mali-400 Quad Core 440MHz
  • Memory: 2GB LP-DDR2 880Mega data rate
  • Video: micro HDMI connector (supports 1080p via HDMI cable (H.264 + AAC based MP4 container format))
  • Audio: HDMI and standard 3.5 mm jack (+ microphone jack)
  • LAN: 10/100 Mbps Ethernet with RJ-45 Jack (Auto-MDIX support)
  • USB: 6x standard high speed connectors
  • Storage: micro-USB card slot, full size SDHC slot, eMMC module socket
  • Power supply: 5V, 2A
  • Size: 9 * 9.4 cm

 

ODROID-U2

ODROID-U2

ODROID-U2 is the little brother of ODROID-X2. It is ultra-compact, only 4.8 * 5.2 cm in size, about half the size of a credit card. The fact that it is so small does not mean, however, that it is less muscular than the big brother. It has the same CPU, GPU and the same amount of memory, so performance is equally high, but the price is considerably lower: 89$. HDMI video output is kept, the same Ethernet connector remains, but there’s room for only 2 out of the 6 USB ports. The standard size SD card slot is also gone, but the micro-SD slot remains. There’s no default GPIO port on the ODROID-U2 because of its compact design, but a USB expansion card is available, which add GPIO pins. The default supported operating systems are, of course, the same: Android and Ubuntu, but it could probably easily run other Linux distributions and possibly some other operating systems too.

Specifications:

  • CPU: Samsung Exynos4412 Cortex-A9 Quad Core 1.7Ghz with 1MB L2 cache
  • GPU: Mali-400 Quad Core at 440MHz
  • Memory: 2GB LP-DDR2 880Mega data rate
  • Video: micro HDMI connector (supports 1080p via HDMI cable (H.264 + AAC based MP4 container format))
  • Audio: HDMI and standard 3.5 mm jack (+ microphone jack)
  • LAN: 10/100 Mbps Ethernet with RJ-45 Jack (Auto-MDIX support)
  • USB: 2x standard high speed connectors
  • Storage: micro-USB card slot, eMMC module socket
  • Power supply: 5V, 2A
  • Size: 4.8 * 5.2 cm

 

BeagleBone

BeagleBone

A micro computer that looks very similar to the Raspberry Pi is the BeagleBone. Announced in the last quarter of 2011, it is a lower cost successor of the BeagleBoard-xM. Equipped with a Sitara ARM Cortex-A8 processor running at 720 MHz, a 3D graphics accelerator, 256 MB of RAM, an Ethernet connector, a single USB port, a micro-SD card slot and two 46-pin expansion connectors (wow, that’s a lot of GPIO pins!) the BeagleBone delivers performance comparable with that of the Raspberry Pi model B, but at a considerably higher price (89$). The encouraged operating systems for it are Angstrom, Android 4.0 and Ubuntu. It also has several expansion boards called “capes”.

Specifications:

  • Processor
    • 720 MHz super-scalar ARM Cortex-A8 (armv7a)
    • 3D graphics accelerator
    • ARM Cortex-M3 for power management
    • 2x Programmable Realtime Unit 32-bit RISC CPUs
  • RAM: 256 MB
  • Connectivity
    • USB client: power, debug and device
    • USB host
    • Ethernet
    • 2x 46 pin headers
      • 2x I2C, 5x UART, I2S, SPI, CAN, 66x 3.3V GPIO, 7x ADC

 

Cubieboard

Cubieboard

A development board type micro computer strikingly similar to the BeagleBone and to the Raspberry Pi is the Cubieboard. It has an ARM Cortex-A8 (NEON, VFPv3, 256KB L2 cache) processor running at 1 GHz, a Mali-400 GPU (OpenGL ES) and 1GB of DDR3 memory clocked at 480 MHz. In addition it brings to the table 4GB of built-in NAND Flash memory for storage purposes, but it also has a micro-SD card slot and one  SATA connector for external storage. The rest of the stuff is also pretty much what the standard is today: 2 conventional USB ports, an Ethernet port and an HDMI video output. The Cubieboard also supports IR connectivity. As a development board, it too offers a multitude of GPIO pins: 96 of them! That certainly is a big advantage. Supported operating systems are Android and Linux (Ubuntu, Debian, etc.). Compared to what this board offers the price is quite fair: 49$.

The Cubieboard can be thought of as a Raspberry Pi with a little better performance, more memory, integrated storage and way more GPIO pins, at a slightly higher price. But the community and the support around it is a lot thinner for now, which can be a serious disadvantage if you need some help working with it.

Specifications:

  • CPU: 1 GHz ARM Cortex-A8, NEON, VFPv3, 256KB L2 cache
  • GPU: Mali-400, OpenGL ES
  • RAM: 1 GB DDR3 @480MHz
  • HDMI 1080p Output
  • 10/100M Ethernet
  • On-board storage: 4Gb NAND Flash
  • 2x USB Host, 1 micro SD slot, 1 SATA, 1 IR
  • 96 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP, …

 

Gooseberry Board

GooseBerry Board

A direct rival of the Raspberry Pi and very similar to BeagleBone and Cubieboard is the Gooseberry Board. It was released in mid 2012 in the form of a limited supply of 500 boards which were sold almost immediately, even with the restriction that a person could only buy one board. Later in 2012 another batch of Gooseberry Boards became available in the store but they too have sold out quickly. According to the manufacturer’s claims, this board can deliver three times the performance of the Raspberry Pi with 256 MB or memory. It certainly has a faster CPU based on a newer ARM technology, an Allwinner A10 processor running at 1 GHz, which can theoretically be overclocked to 1.5 GHz, but in practice Android was unstable above 1.2 GHz. Thanks to its better CPU it can also run Ubuntu, which isn’t really supported on the Rasbpery Pi. It also has a quite good GPU, a Mali-400, and 512 MB of RAM. Just like the Cubieboard, it possesses 4GB of built-in storage. IT does not have an Ethernet port but it compensates with built-in WiFi. Analog video is also not supported, but that can be overcome by using the HDMI video output. The standard 3.5 mm audio jack is present, but instead of standard USB ports a single mini-USB connector is available. For external storage there is a micro-SD slot. There are no GPIO pins on the board, which might be a major downside for those who wish to work with custom hardware devices.

It seems that the performance delivered by the Gooseberry Board is indeed higher than that of the Raspberry Pi. However this is reflected in the price too (62$ vs 25/35$). Unlike the Raspberry Pi, which is sold in massive quantities, this board is available in very limited batches and only from time to time.

Specifications:

  • CPU: Allwinner A10 1 GHz, overclockable to 1.5 GHz  (1.2 GHz highest stable overclock on Android)
  • GPU: Mali 400 MHz
  • Onboard Storage: 4GB
  • External storage: micro-SD memory card – 32GB max
  • Connectivity: WiFi (802.11 b/g/n), AC jack, 1x 3.5mm earphone jack, 1x mini-USB, 1x HDMI Out

 

Hackberry Board

HackBerry Board

Another rival of the Raspberry Pi, in many aspects also similar to the BeagleBone, Cubieboard and Gooseberry Board, is the Hackberry Board. Powered by an Allwinner A10 ARM Cortex-A8 processor running at 1.2 GHz and having 1GB of RAM, this micro computer seems to be able to deliver quite good performance. Its GPU is the commonly used Mali-400. Similarly to the Cubieboard and Gooseberry Board, it has 4GB of built in storage and it also has built in WiFi. As for connectivity, the board offers an HDMI video and audio output, a 3.5 mm microphone jack, 2 standard USB ports, an Ethernet port and a serial port, but no GPIO pins (again, a possible major downside for those who want to connect custom hardware to it). Extrenal storage is achieved through an SDHC card slot. Supported operating systems are Android, and Linux (Debian, Ubuntu, Gentoo, etc.). The Hackberry Board is sold at a price of 65$, which seems to be a fair one considering the offered performance.

Specifications:

  • CPU: 1.2GHz Allwinner A10 ARM Cortex-A8
  • GPU: Mali400 with hardware 3D acceleration and hardware video decoding
  • Serial port: 3.3v TTL 4-pin header
  • Audio input: 3.5mm microphone jack
  • Audio output: Audio over HDMI
  • USB: 2 x USB A 2.0 ports
  • Internal storage: 4GB NAND storage, 1.5GB available in user partition in Android
  • External storage: SDHC card slot supporting up to 32GB
  • Networking: 10/100 Ethernet, Realtek 802.11n WiFi
  • Memory: DDR3 512MB / 1GB, ~100MB is reserved for the GPU
  • Boot: Boot from SD card and internal storage via u-boot
  • OS: Android 4.0 ICS, Linux support
  • Digital video output: HDMI up to 1080p (cable not included)
  • Analog video output: 3.5mm composite AV, 3.5mm component Y/Pb/Pr (cables not included)
  • Power: NEMA 2-pin power adapter included Input AC 100-240 V – 0.4 A 50/60 Hz Output DC 5V

 

Chumby Hacker Board v1.0

Chumby Hacker Board

This board is quite different from the others. It does not focus on offering high performance, it is rather a low-end but still usable single-board micro computer, which is meant to be incorporated into all kinds of custom (“hack”) projects. At the heart of it is a Freescale iMX.233 processor running at 454 MHz and the available amount of memory is quite modest: 64 MB. It has no fancy graphics accelerator either and instead of the commonly used HDMI video output it uses composite video (3.5mm A/V output jack with stereo audio and NTSC/PAL composite video) to connect to a TV, for example. Clearly, not a system focused on performance. And yet it can run Linux, in fact it comes with a 100 MB Linux distribution on its micro-SD card, ready to go.

What this board excels at is the variety of possibilities of integration into custom hardware projects. It offers a great deal of connectivity  and interaction options, starting with more standard ones like the 3 SUB ports or the microphone input, but also providing unusual ones like the LCD controller, the speaker amplifier, the onboard joystick and accelerometer or the integrated Li-Ion/Polymer battery charger for independent off-grid projects. Obviously a multitude of GPIO pins (including PWM pins) and a serial port are not missing either.

The Chumby Hacker Board is primarily for people who already have experience with similar systems, or at least with some basic micro-controller projects and with Linux, of course. The price of this gadget is 89$.

Specifications:

  • Freescale iMX.233 processor running at 454 MHZ
  • 64 MB onboard RAM
  • Comes with 512MB uSD card with 100 MB Linux installation all ready to go
  • Dimensions are 3.9″ (100mm) x 2.4″ (60mm) x 0.75″ (20mm)
  • 3.3V I/O pins can talk to most sensors, motor drivers, etc. No struggling with 1.8V levels.
  • Low power, fanless CPU draws only 200 mA at 5V
  • Built-in Lithium Ion/Polymer battery charger and 5V boost converter for portable projects
  • Three USB ports!
  • 1.9W mono speaker amplifier into 4ohm (0.1″ JST onboard connector)
  • Microphone input (0.05″ JST onboard connector)
  • LCD controller with 2mm output port
  • 3.5mm A/V output jack with stereo audio and NTSC/PAL composite video
  • Quadrature encoder connections onboard
  • 5-way joystick on-board
  • MMA7455 3-axis +-2G to +-8G accelerometer on-board
  • 3.3V TTL serial port for easy shell access
  • Full GCC toolchain is ready for you to download and get crackin’!
  • Schematics, Gerbers and original layout files are available at the Wiki

 

FOXG20

FOXG20

The FOXG20 is a low-end micro computer from a performance-oriented point of view, it is meant to be embedded into custom hardware or it can run web servers, as it supports the Debian Linux OS. According to its purpose, the FOXG20 exposes two headers of 40 general purpose extension pins, so that it can be connected to all kinds of devices. The price of such a board is 184$, quite high, considering that similar devices, like the Raspberry Pi, for example, offer similar capabilities and higher performance.

Specifications:

  • CPU: Atmel ARM9 @ 400 Mhz
  • RAM: 64 MB
  • Internal storage: 256KB of flash memory for the bootloader
  • Extrenal storage: micro-SD card slot
  • Connectors:
    • 2x USB 2.0 ports (12 Mbits)
    • Ethernet 10/100 port
    • USB device port (12 Mbits)
    • Debug serial port (3.3 V)
    • 2x serial ports (3.3 V)
    • Serial port for 4DSystems oLed displays
    • GPIO lines (3.3 V)
      • 4 A/D converter lines,
      • I2C bus,
      • SPI bus
  • Power: 5 VDC power supply input
  • Real Time Clock with on-board backup battery
  • Average power consumption:  80 mA @ 5V (0.4 W) without micro-SD, Ethernet link, USB devices or other peripherals.

 

Pandaboard ES

PandaBoard

Pandaboard ES successor of the Pandaboard, is also a single-board micro computer, a community supported development platform available since late 2011 at the price of 182$, a price quite high in comparison to how much the other similar single-board computers cost. It does offer nice performance, delivered by a Dual-core ARM Cortex-A9 MPCore CPU with Symmetric Multiprocessing at 1.2 GHz each and by the Imagination Technologies’ POWERVR SGX540 graphics core. It is equipped with 1GB of DDR2 memory. The connectivity options offered by the Pandaboard are similar to those seen on the competition, with the exception of a few extras. For video output (1080p full-HD by the way): HDMI connector and(!) DVI-D connector, also LCD expansion header. It also has 3.5 mm stereo audio output (and audio through HDMI), Ethernet, WiFi and BlueTooth for network connections, 2 USB ports and a camera expansion header. The main supported operating systems are Linux, Android and RISC OS.

Specifications:

  • CPU: Dual-core ARM Cortex-A9 MPCore with Symmetric Multiprocessing (SMP) at 1.2 GHz each.
  • GPU: Full HD (1080p) multi-standard video encode/decode Imagination Technologies’ POWERVR SGX540 graphics core supporting all major API’s including OpenGL® ES v2.0, OpenGL ES v1.1, OpenVG v1.1 and EGL v1.3
  • Memory: 1 GB low power DDR2
  • Display:
    • HDMI v1.3 Connector (Type A) to drive HD displays
    • DVI-D Connector (can drive a 2nd display, simultaneous display; requires HDMI to DVI-D adapter)
    • LCD expansion header
    • DSI Support
  • Audio
    • 3.5″  Audio in/out
    • HDMI Audio out
    • Sterio audio input support
  • Extrenal storage: Full size SD/MMC card cage with support for High-Speed & High-Capacity SD cards
  • Connectivity: Onboard 10/100 Ethernet
  • Wireless Connectivity:
    • 802.11 b/g/n (based on WiLink 6.0)
    • Bluetooth v2.1 + EDR (based on WiLink™ 6.0)
  • Expansion ports:
    • 1x USB 2.0 High-Speed On-the-go port
    • 2x USB 2.0 High-Speed host ports
    • General purpose expansion header (I2C, GPMC, USB, MMC, DSS, ETM)
    • Camera expansion header
    • LCD signal expansion using a single set of resistor banks
  • Debug
    • JTAG
    • UART/RS-232
    • 2 status LEDs (configurable)
    • 1 GPIO Button
    • Sysboot switch available on board
  • Dimensions
    • Height: 4.5″ (114.3 mm)
    • Width:  4.0″ (101.6 mm)
    • Weight: 2.88 oz (81.5 grams)

 

Snowball Board

Snowball Board

Snowball Board  is a small single-board computer which is meant to be used by hobbyists and designers in embedded systems. Built around ST Ericcson’s Nova A9500 SoC, it features a dual Cortex-A9 ARM processor clocked at 1 GHz and a Mali-400 GPU. It is equipped with 1GB of DDR2 RAM and an unusually high amount of built-in eMMC memory: 8 GB, which can be extended using the available micro-SD slot. Connectors include HDMI, composite-video, audio, Ethernet, and GPIO pins. It also has built-in WiFi and BlueTooth. The board runs Linux and Android and is available for around 247$.

Specifications:

  • CPU: ARM Dual Cortex-A9 @ 1GHz
  • GPU: Mali-400
  • RAM: 1GB DDR2
  • Internal storage: 8 GB eMMC
  • External storage: micro-SD card slot
  • Connectivity:
    • Ethernet
    • IEEE 802.11 b/g/n Wireless LAN
    • Bluetooth BT4.0/ BLE. (ex Antenna)
    • GPS (Ex. Antenna)
  • 3x Expansion Connectors (FSMC,HSI, Audio, MiPi CSI / Camera, LCD,MiPi DSI, UART, SPI, I2C, GPIO)
  • Dimensions: 8.5 x 8.5 cm

 

Nitrogen6X

Nitrogen6X

 

The Nitrogen6X is a high-end development board, with a quad-core ARM Cortex-A9 processor running at 1GHz and 1 GB of DDR3. It seems to put high emphasis on video output, as it has 3 display ports: RGB, LVDS and HDMI. The extrenal storage on card is also not neglected,  as provedn by the Nitrogen6X‘s dual SD/SDXC card slots. Other connectors include 2 USB ports, Gigabit Ethernet, SATA, headphone and microphone jacks, PCIe, two camera ports and, of course, GPIO pins. The Nitrogen6X sells for a higher price, 199$, but this price includes a 4GB memory card with Linux (but it can also run Android and Windows CE), a serial cable and a power cord.

Specifications:

  • Quad-Core ARM Cortex-A9 processor at 1 GHz
  • 1 GB of 64-bit wide DDR3 @ 532 MHz
  • 2MB Serial Flash
  • Three display ports (PRGB, LVDS, HDMI)
  • Parallel camera port with OV5642 Interface
  • Multi-stream-capable HD video engine delivering 1080p60 decode, 1080p30 encode and 3-D video playback in HD
  • Superior 3-D graphics performance with quad shaders for up to 200 Mt/s
  • Separate 2-D and/or Vertex acceleration engines for an optimal user interface experience
  • Serial ATA (SATA)
  • Dual SDHC card slots
  • PCI express port
  • Analog (headphone/mic) Audio
  • 10/100/1G Ethernet with Power over Ethernet support
  • 2 RS-232 Serial ports
  • 10-pin JTAG interface
  • I2C/GPIO/SPI
  • 3 High speed USB ports (2x Host, 1x OTG)
  • CAN port
  • TiWi 802.11 b/g/n WiFi+BT optional
  • Supports Android 4, Embedded Linux, and WinCE7.0 Operating Systems
  • Industrial Temperature Versions Available
  • Custom Versions Available
  • Dimensions: 11.4 * 7.6 cm

 

Sabre Lite

Sabre Lite

Sabre Lite is a development board extremely similar to the Nitrogen6X (they are both produced by Boundary Devices). It has the same price of 199$, but it is smaller (7.6 x 7.6 cm). They both have the same CPU and memory, the connectors are also pretty much the same, the biggest difference being that Sabre Lite does not have WiFi.

Specifications:

  • Quad-Core ARM Cortex-A9 processor at 1 GHz
  • 1 GB of 64-bit wide DDR3 @ 532 MHz
  • Three display ports (RGB, LVDS, and HDMI 1.4a)
  • Two camera ports (1xParallel, 1x MIPI CSI-2)
  • Multi-stream-capable HD video engine delivering
  • H.264 1080p60 decode, 1080p30 encode and 3-D video playback in HD
  • Triple Play Graphics system consisting of a Quad-shader 3D unit capable of 200MT/s, and a separate 2-D and separate OpenVG Vertex acceleration engine for superior 3D, 2D and user interface acceleration
  • Serial ATA 2.5 (SATA) at 3 Gbps
  • Dual SD 3.0/SDXC card slots
  • PCIe port (1 lane)
  • Analog (headphone/mic) and Digital (HDMI) audio
  • 10/100/Gb IEEE1588 Ethernet
  • 10-pin JTAG interface
  • 3 High speed USB ports (2xHost, 1xOTG)
  • 1xCAN2 port
  • I2C
  • GPIOs
  • Dimensions: 7.6 x 7.6 cm

 

IGEPv2

IGEPv2

The IGEPv2 single-board computer, developed by ISEE, is meant to be an “industrial processor board”. Powered by an ARM Cortex-A8 processor running at 1 GHz and havin 512 MB of RAM, it offers more than decent performance. It also has 512 MB of built-in flash memory for storage, which can be extended via a micro-SD card. It can connect to a newtrok through built-in WiFi, Ethernet or BlueTooth and it outputs video through an HDMI port. It also has several other connectors, like 2x USB, 3x UART, audio stereo in and out and, of course, GPIO. Available for 188$, it runs Linux and Android and has a size of 9.5 by 6.5 cm.

Specifications:

  • DM3730 Texas Instruments processor
  • ARM Cortex-A8 1 GHz
  • C64+ DSP 800 MHz
  • 3D Accelerator SGX530 @ 200 MHz
  • Camera ISP
  • 512 Megabytes RAM / 512 Megabytes FLASH
  • Ethernet 10/100 Mb BaseT
  • Wifi 802.11 b/g
  • Bluetooth BC4 – Class 2.0
  • Video: DVI-D (HDMI Connector) programmable panel size
  • 2 x USB
  • MicroSD card reader
  • 3 x UART
  • Stereo audio in/out
  • Expansion connectors
  • Dimensions: 9.5 x 6.5 cm

 

VIA APC

VIA APC

This product from VIA, the APC, is a gadget that is meant to be a rival of the Raspberry Pi. If the name didn’t give it away already, the APC is an Android PC and is meant to run an older version of Android, 2.3, but surely people will find ways to run newer version of Android and even Linux on it. It is a Neo-ITX board, a fairly small (17 x 8.5 cm) PC, but nearly as small as the Raspberry Pi. But their is another dimension in which the VIA APC falls very close to its rival: the price. Selling for 49$, it offers somewhat better performance, with a VIA WonderMedia 8750 800 MHz ARM11 processor, 512MB of DDR3 memory, and 2GB of built-in NAND flash storage, something that the Pi does not possess. The chip supports 1080p HD video playback, H.264 video encoding, and OpenGL ES 2.0 graphics, but the video output of the device is not 1080p, only 720p. There is something, though which is a lot better on the VIA APC than on the Raspberry Pi: it offers a much wider range of connectors. It has a VGA and an HDMI port, 4 USB 2.0 ports, a 10/100 Ethernet port, a headphone and a microphone jack, and a micro-SD card slot for external storage. On the other hand it has no GPIO pins and its power consumption in incomparably higher than the Pi’s: 4W in idle mode and up to 14 W under load.

Specifications:

  • CPU: VIA WonderMedia 8750 ARM11 @ 800 MHz
  • GPU: 1080p HD video playback, H.264 video encoding, OpenGL ES 2.0
  • Memory: 512 MB DDR3
  • Internal storage: 2GB NAND flash
  • Extrenal storage: micro-SD card slot
  • Connectors:
    • HDMI
    • VGA
    • 4x USB 2.0
    • 10/100 Ethernet
    • 3.5 mm headphone + microphone jacks
  • Dimensions: 17 x 8.5 cm (Neo-ITX)

 

Arndale Board

Arndale Board

Although not quite as small as the other single-board computers presented here, Samsung‘s Arndale Board is quite an interesting piece of hardware that is certainly worth being mentioned. The 36 by 24 centimeters large board is available for 249$, which is significantly higher than the price of many other single-board computers, but the Arndale Board really does offer a lot for that money. First of all theres a lot of horse power packed under its hood. Built around Samsung‘s Exynos 5 SoC, ‘the Arndale Board is powered by a Cortex-A15 dual-core CPU running at 1.7 GHz and a Mali T604 GPU, which offers high graphics performance. In fact, Google’s Nexus 10 tablet has the same CPU and GPU at its heart. The Arndale Board comes with 2 GB of RAM and 4 GB of internal storage memory but external storage can be added through the micro-SD card slot, through SATA or even USB. There are two USB 2.0 and one USB 3.0 ports available on the board, HDMI, Ethernet, Serial R232C and JTAG connectors. What really differentiates this board from the rest is the possibility to easily connect different add-on modules to it, a touch display, camera or NFC board for example. It also has some neat built-in modules like the GPS module, compass  gyroscope and accelerometer. As the Arndale Board too is based on the ARM architecture,  the operating systems that are best fit for it are Android and Linux.

Specifications:

  • CPU:
    • Cortex-A15 @ 1.7 GHz dual core subsystem with 64/128 bit SIMD NEON
    • 32 KB (instruction) / 32 KB (DATA) L1 cache and 1 MB L2 cache
  • GPU: Mali T604
  • Memory: 32-bit 800 Mhz DDR3 (L) /DDR3 1 GB x 2
  • Built-in storage: 4 GB
  • Connectivity:
    • 100 Mbps Ethernet
    • WiFi
    • Bluetooth
  • External storage:
    • micro-SD card slot
    • SATA 1.0/2.0/3.0 interface
    • One channel eMMC 4.5
    • One channel SDIO 3.0
    • Two channel SD 2.0
  • Interfaces:
    • Sensor
      • Accelerator : Invensence MPU-6050
      • Gyro : Invensence MPU-6050
      • e-Compass : AKM -AK8963C
      • GPS module
    • ITU 601 camera Interface
    • HDMI 1.4 interfaces with on-chip PHY
    • One channel eDP output Single WQXGA
    • MIPI DSI Standard Specification V1.01r11
    • MIPI CSI Standard Specification V1.0 Two ports
    • USB 3.0 Host or Device 1-channel that supports SS (5Gbps) with on-chip PHY
    • USB 2.0 Host or Device 1-channel that supports LS/FS/HS with on-chip PHY
    • USB HSIC 2-channel that supports 480Mbps with on-chip PHY
    • Four channel high-speed UART (up to 3Mbps data rate for Bluetooth 2.0 EDR and IrDA 1.0SIR)
    • Three channel high-speed SPI
    • Three channel 24-bit I2S audio interface
    • Four channel I2C interface support , up to 400kbps
    • Four channel HS-I2C up to 3.1Mps
  • Dimensions: 36 x 24 cm

 

Origen Board

Origen Board

 

Not so much different from the Arndale Board is the Origen Board. Also a product of Samsung, it is based on the Exynos 4 SoC (the previous generation) and it’s CPU is a Cortex-A9 running at a slightly lower frequency, 1.4 GHz, but it is quad-core, not dual-core. It is the same processor found in the Samsung Galaxy S III smartphone. The GPU is the popular Mali-400. The Origen Board has 1GB of DDR3 RAM and no built-in storage memory. External storage is available via an SD card slot. Other than that it features two USB 2.0 ports, an Ethernet port, one UART connector, one HDMI connector and some interfaces to connect external modules like an LCD, a camera, a WiFi module and sensors (GPS for example). Selling for 199$, Origen Board is meant to run Android and Linux primarily.

Specifications:

  • CPU Board
    • CPU : Samsung Exynos 4 Quad Cortex-A9 core 1.4 GHz
    • DRAM : 1GB (POP Type)
    • PMIC : S5M8767A
    • GPU: Mali-400
  • Base Board
    • SDcard, Serial, USB 2.0 Host x 2, USB 2.0 Device
    • JTAG , Ethernet (10/100 Mbps), HDMI support
  • Connector support (Sub Boards)
    • External I/F
    • MIPI CSI/DSI , Parallel, C2C
  • LCD & Touch Package
    • LCD : 7″ LCD (1024 x 600)
    • Touch : Capacitive sensing Touch screen 7″
    • I/O Board : Connector module for LCD & Touch
  • Accessories Package
    • AC Adapter(5V 2~3A)
    • SD Card(4G Bytes)
    • HDMI, Serial, USB Cable
  • Sub Boards
    • Sound Board
      • AsahiKASEI : AK4678
    • Connectivity Board
      • MediaTeK : MT6620 4 in 1
  • Dimensions: 11.9 x 11.9 cm

 

Toradex Topaz Single Board Computer and Xiilun

Toradex Topaz Single Board Computer

The Toradex Topaz Single Board Computer is a system that tries to stand out in several ways from the crowd of existing single-board micro computers. Announced in early 2011, the Topaz is built upon the x86 architecture and is powered by an Intel Atom E6xx processor running at up to 1.6 Ghz (with hyper-threading and virtualization technology), which can deliver unusually high performance for a board of this size (8.4 x 5.5 x 1.27 cm). The x86 architecture also has the advantage of being able to work with all major operating systems (including Windows). The graphics processor is an Intel GMA600 clocked at 400 MHz, supporting two independent displays (through the HDMI and DVI-D connectors), OpenGL ES 2.0, OpenVG, and DirectX 9.0, and of course full HD resolution. The Topaz system can have 1 or 2 GB of DDR2 memory attached. In spite of its high performance this board is said to consume very little current. The processor itself uses a maximum of 3.9 W according to Intel. The low power consumption is obviously a huge advantage because if such a high performance board can be used in battery-powered applications, that means a whole new world of possibilities. And there really is nothing stopping the Topaz from being part of such custom systems, as it offers a 50-pin expansion header (which can be utilized, among other things for SATA and PCIe connections too).

Together with the Topaz single-board computer was announced Xiilun, which is basically a Topaz board in a robust aluminium case, only slightly larger than the board itself: 8.9 x 6.0 x 1.6 cm. In fact, it was marketed as the world’s smallest single-board computer. That may already not be true today, but it certainly is a small box full of power. The aluminium case helps dissipate the produced heat and allows for fan-less operation.

Specifications:

  • CPU: Intel Atom E6xx (up to 1.6GHz) with Intel® IOH EG20T chipset:
    • Intel Hyper Threading
    • Intel Virtualization Technology
  • Memory:  1GB – 2GB DDR2 RAM (32Bit, 800MT)
  • GPU: Intel GMA600 (400 MHz):
    • Resolution: Up to Full HD (1920×1080)
    • Dual Independent Display
    • OpenGL ES 2.0
    • OpenVGTM
    • DirectX 9.0c
    • Video encoding: MPEG4, H.264, MPEG2, MPEG4, VC1, WMV9, H.264
  • Connectors:
    • 1x DVI-D (on HDMI connector)
    • 4x high-speed USB 2.0
    • Interfaces on Expansion Connectors :
      • 1x LVDS Single Channel
      • 2x PCIe
      • 2x High-Speed USB 2.0
      • 2x SATA
      • 1x Intel® High Definition Audio
      • 1x SDIO (4bit)
      • 1x LPC
      • 1x SMB
      • 1x I2C
      • 4x GPIO
      • 2x UART (RS232)
      • 1x CAN
  • External storage: micro-SD card slot (SDHC)
  • Power Supply: 5 VDC
  • Dimensions:  5.5 x 8.4 x 1.27 cm

 

 VIA EPIA-P910

VIA EPIA-P910 Pico-ITX

Another micro computer that does not joke around when it comes to performance is the VIA EPIA-910 Pico-ITX board. Equipped with a VIA quad-core E-series x86 processor, with all 4 cores running at 1 GHz and offering the possibility to install up to 8 GB of laptop-size DDR3 memory into it, this system is a powerhouse. Its Chromotion 640 video processor (VIA VX11H media system processor) is also very muscular, having no problems with 3D applications, 1080p movie playback or anything else for the matter. Gamers will happily note that is DirectX 11 compatible. The fact that the system is built on the x86 architecture, not ARM, has the huge advantage of being able to run virtually any OS: Linux, Android, OS X, Windows, you name it. It offers so much in such a tiny package: the Pico-ITX standard dictates its size of only 10 x 7.2 cm. unfortunately there is something that is not tiny at all: the price. VIA EPIA-910 sells for no less than 359$. But hey, if you want heavy performance packed in a tiny computer, you’ll have to pay for it. At list some essentials are included in the price: a power supply and SATA data and power cables.

As for the connectivity options, this board delivers video through HDMI and VGA. It also has 2 standard USB 3.0 ports, an Ethernet port and two SATA connectors for extended storage. It has no GPIO pins but that it not so surprising since it’s not really meant to be a development board, it’s meant to be a powerful tiny computer. An optional expansion board adds PS/2 ports, 6 more USB 2.0 ports, 2 more USB 3.0 ports, and audio jacks.

A big aluminium heat sink can sit on the top of the board and even a fan can be installed on it, but that kind of spoils all the fun of having a small and noiseless computer.

Specifications:

  • CPU: VIA quad-core E-series x86 processor @ 1 GHz
  • GPU: Chromotion 640 video processor (VIA VX11H media system processor)
    • DirectX 11 compatible
    • 1080p full HD video playback
  • Memory: up to 8GB DD3, up to 1333 MHz
  • Connectors:
    • HDMI
    • VGA
    • 2x USB 3.0
    • 2x SATA
    • Ethernet
  • Dimensions: 10 x 7.2 cm (Pico-ITX)

 

Intel NUC

Intel NUC

Intel’s response to the micro computer craze is the NUC (Next Unit of Computing), which might not be as small as the rest of the boards (it’s 10 x 10 cm), but than again it’s not that large either and it’s packed in a very elegant case and… it boils with performance. Unsurprisingly this small computer too is x86-based, being able to run most any OS (including Windows).

In the beginning NUC is being sold in two flavors: DC3217IYE and DC3217BY, both based on dual-core Core i3-3217U microprocessor (1.8GHz, 3MB cache, 17W TDP) with Intel HD Graphics 4000 graphics core and QS77 core-logic, but there might be other variations in the future, as it can accept any Intel Core i3 or i5 CPUs. The current models can be equipped with two DDR3 SO-DIMMs, an mSATA solid-state drive and a mini PCIe Wi-Fi/Bluetooth module. The DC3217IYE has 2 HDMI ports and  an 1 Gb Ethernet port, the DC3217BY has just one HDMI output, one Thunderbolt port, but lacks the 1 Gb Ethernet port. None of the two models has analog audio connectors.

The NUC clearly packs a lot of power inside its elegant case. Unfortunately its price is also impressive, somewhere around 300-320$ for the board itself, the CPU, the case and a 65 W power supply (so, yes, it consumes considerably more power than the other micro computers). Add the price of the memory, that of the SSD and that of a WiFi card and you’re probably looking at almost 500$. It is probably the most powerful solution in this size class today and we must admit, it looks really good, but as all good things, it comes at a high price. Also, a heat sink and a fan cannot be avoided for such a powerful micro computer.

Specifications:

  • CPU: Intel Core i3 or i5 (current models have i3-3217U @ 1.8 GHz with 3 MB cache)
  • GPU: Intel HD Graphics 4000
  • Memory: 2x DDR3 SO-DIMM (sold separately)
  • Storage: mSATA SSD (sold separately)
  • Connectivity: 1Gb Ethernet or mini PCIe WiFi module
  • Video/audio output: 1x or 2x HDMI ports
  • Other connectors: USB 3.0, Thunderbolt
  • Dimensions: 10 x 10 cm.

 

UG802

UG802

An interesting class of devices emerged recently. They are what we might call HDMI Android sticks. A good example of such a device is the UG802, which is essentially a very small micro PC, packaged in the form very similar to a USB pen drive. The impressively tiny (8.9 x 3.3 x 1.6 cm) gadget has an HDMI connector on one end, which you can connect directly to a TV, for example. It also has USB ports and a micro-SD card slot for external storage, but the UG802 already includes 4 GB of built-in storage. It is powered by a Rockchip RK3066 ARM Cortex-A9 dual-core processor clocked at 1.6 GHz and it has 1GB of RAM. Its video processor is the popular Mali-400. Built-in WiFi allows for easy networking.

The UG802 is meant to offer comfortable usage. You just plug it into some HMDI-capable screen, attach a keyboard and mouse and use it. It runs Android 4.0 out of the box but several Linux distributions have also been ported to work on it.

If you wish to have a tiny, well packaged device to use for common multimedia purposes (movies, games, etc.), the UG802 is a good choice and you can get it for as little as 69$. It is not suitable for custom hardware projects, simply because it has no general purpose connectors on it, but it never was meant to be used in such way.

Specifications:

  • CPU: Rockchip RK3066 ARM Cortex-A9 dual core processor @ 1.6 GHz
  • GPU: Mali-400
  • Memory: 1GB
  • Internal storage: 4GB
  • External storage: micro-SD card slot
  • Ports and connections: USB, HDMI, built-in Wi-Fi
  • Dimensions: 8.9 x 3.3 x 1.6 cm

 

MK802

MK802

Another HDMI Android stick, strikingly similar to the UG802 is the MK802. This one has a single-core 1.5 GHz AllWinner A10 Cortex-A8 ARM processor, 512MB of DDR3 memory, the same Mali-400 GPU, the same 4 GB flash memory storage and the same micro-SD card slot. The other connectors are also pretty much the same: 2 USB ports and built-in WiFi connectivity. The MK802 sells for 74$ and, just as the UG802, it runs Android 4.0 and several Linux distributions.

Specifications:

  • CPU: AllWinner A10 Cortex-A8 ARM (single-core, 1.5 GHz)
  • GPU: Mali-400
  • Memory: 512 MB
  • Internal storage: 4GB
  • External storage: micro-SD card slot
  • Ports and connections: USB, HDMI, built-in Wi-Fi
  • 8.79 x 3.5 x 1.34 cm

 

Cotton Candy

Cotton Candy

One of the first HDMI Android sticks to be announced was the Cotton Candy. Just like the UG802 or MK802, it’s essentially a micro PC in the form of a pen drive, having an HDMI connector on one and and a USB port on the other. The specs of the Cotton Candy are pretty much the same as those of the UG802 and MK802 (1.2 GHz ARM Cortex-A9 processor, 1 GB of RAM, quad-core Mali-400 MP GPU, no built-in storage flash memory, built-in Wi-Fi, Bluetooth, HDMI, USB 2.0, micro-SD slot), and yet its price is magnitudes higher compared to the other two: 199$! Just like the other tow gadgets, it runs Android and Linux.

Specifications:

  • CPU: AllWinner Cortex-A9 ARM (dual-core, 1.2 GHz)
  • GPU: Mali-400 MP (quad-core)
  • Memory: 1 GB
  • Internal storage: none
  • External storage: micro-SD card slot
  • Ports and connections: USB, HDMI, built-in Wi-Fi
  • 8 x 2.5 cm

 

Mele A1000

Mele A1000

The Mele A1000 comes in a different package compared to the other micro computers presented. It is not without a case, like the Raspberry Pi, for example, nor is it in a pen drive form like the UG802, MK802 or the Cotton Candy. It is packaged and thought of as a multimedia TV box. Available for 70$, the Mele A1000 is equipped with a 1 GHz Allwinner A10 ARM Cortex-A8 processor, a Mali-400 GPU, 512 MB of RAM and 4 GB internal NAND flash memory. It includes WiFi but also has an Ethernet connector. Video output is through HDMI, VGA and composite video. It also has 2 USB ports and a SD card slot. External hard drives can be connected through the SATA interface. The Mele A1000 runs Android 2.3 by default, but it is possible to make it work with Linux too.

Specifications:

  • CPU: AllWinner A10 Cortex-A8 ARM @ 1 GHz
  • GPU: Mali-400
  • Memory: 512 MB
  • Internal storage: 4 GB NAND flash
  • External storage: SD card slot, sata interface
  • Video: HDMI, VGA, composite video
  • Network: Built-in WiFi, Ethernet connector
  • Other ports: 2x USB

 

Cubox

CuBox

Just like the name suggests, CuBox is a very small computer that has the form of a cube. It is a very small cube (5.1 x 5.1 x 5.1 cm) packed with hardware goodies. Based on the Marvell Armada 510 (88AP510) SoC, with an ARM v6/v7-compliant processor (800 MHz dual issue ARM PJ4 processor), a Vivante GC600 2D and 3D capable hardware accelerated graphic engine and having 1 GB of 800 MHz DDR3 RAM, the CuBox is quite a powerful little box and yet it runs happily on less than 3 W of power (and less than 1 W in stand-by). It has full HD HDMI output, Gigabit Ethernet and 2 USB 2.0 ports. But this small box offers a few less conventional connectors too, like SPDIF, 3 Gbps eSATA or the infrared receiver. It also has a micro-USB console and a micro-SD (SDXC) card slot for external storage.

An amazingly vast palette of operating systems are supported (documented) by CuBox:

  • Linux
    • ArchLinux
    • Ångström
    • CRUX
    • Fedora
    • GeeXboX
    • Gentoo
    • Mer
    • openSUSE
    • Xilka
    • Debian
    • Ubuntu
  • Android
    • Android 2.2

Whether it’s used as a low-power desktop computer, as a server or as a media box, the CuBox offers a lot. Unfortunately the price reflects this and is quite high: you can buy this gadget for 140$.

Specifications:

  • CPU: 800 MHz dual issue ARM PJ4 processor
  • GPU: Vivante GC600 2D and 3D capable hardware accelerated graphic engine
  • Memory: 1 GB DDR3 @ 800 MHz
  • Connectors:
    • HDMI
    • 2x USB 2.0
    • Gigabit Ethernet
    • SPDIF
    • eSATA I/II
    • Standard IrDA Infra-red receiver for 38KHz based IR controllers
    • MicroUSB USB Device / Console for flashing
  • Extrenal storage: micro-SD (SDXC) card slot
  • Dimensions: 5.1 x 5.1 x 5.1 cm
  • Weight: 91 g

An extremely detailed list of the CuBox’s hardware specifications can be found here.

 

Mini Xplus

Mini XPlus

Mini Xplus is a small PC meant to be a TV box and is packaged as such. Powered by an AllWinner A10 ARM Cortex-A8 processor running at 1 GHz and a Mali-400 GPU, it has 1 GB of RAM and 4 GB of NAND flash for internal storage. External storage is possible via micro-SD cards. The device has two USB 2.0 ports, an HDMI port and, obviously, built-in WiFi. It sells for 69$ or more and runs Android or Linux.

Specifications:

  • CPU: AllWinner A10 ARM Cortex-A8 @ 1 GHz
  • GPU: Mali-400
  • RAM: 1GB
  • Internal storage: 4GB NAND flash
  • External storage: micro-SD card slot
  • Connectivity: built-in WiFi.
  • Connectors:
    • 1x HDMI
    • 2x USB 2.0
  • Dimensions: 6 x 6 x 1.0 cm

 

SheevaPlug

SheevaPlug

As the name suggests, the SheevaPlug is a plug-type micro computer designed to run server applications. Its two successors, the the GuruPlug and DreamPlug, are similar to it, with slightly different specs. While SheevaPlug runs Ubuntu 9.04, GuruPlug and DreamPlug work with Debian Linux. The SheevaPlug sells for around 159$.

Specifications:

  • CPU: 1.2 GHz ARM Marvell Kirkwood 88F6281 (ARM9E)
  • Memory: 512 MB
  • Internal storage: 512 MB flash
  • External storage: external HDD, SDIO card, SD card
  • Network: Gigabit Ethernet
  • Other connectors: USB 2.0
  • Dimensions: 11 x 6.95 x 4.85 cm

 

Comparison

Now that we’ve seen so many single-board micro computers, let us compare their different attributes and characteristics using charts and tables.

CPU Frequency
RAM

Area

Price

Price of 1 CPU MHz

Price of 1 MB RAM

Name Architecture Supported OS
VIA Pico-ITX Epia-P910 x86 Windows, OS X, Linux, Android, etc.
VIA APC ARM Android, Linux
UG802 ARM Android, Linux
Toradex Topaz SBC x86 Windows, OS X, Linux, Android, etc.
Snowball Board ARM Android, Linux, etc.
SheevaPlug ARM Linux
SABRE Lite ARM Linux, Android, Windows CE
Raspberry Pi Model B ARM Linux (Raspbian), RISC OS, Android
Raspberry Pi Model A ARM Linux (Raspbian), RISC OS, Android
PandaBoard ES ARM Linux, Android, RISC OS
Origen Board ARM Android, Linux
Olimex A13 OLinuXino ARM Linux, Android
ODROID-U2 ARM Android, Linux
ODROID-X2 ARM Android, Linux
Nitrogen6X ARM Linux, Android, Windows CE
MK802 ARM Android, Linux
Mele A1000 ARM Android, Linux
Intel NUC x86 Windows, OS X, Linux, Android, etc.
IGEPv2 ARM Linux, Android
Hackberry Board ARM Android, Linux
Gooseberry Board ARM Android, Linux
FoxG20 ARM Linux
CuBox ARM Linux, Android
Cubieboard ARM Linux, Android
Cotton Candy ARM Android, Linux
Chumby Hacker Board ? Linux
Beaglebone ARM Linux (Angstrom, Uubuntu), Android
Arndale Board ARM Android, Linux
Name Size 1 (cm) Size 2 (cm) Thickness (cm)
VIA Pico-ITX Epia-P910 10 7.2 ?
VIA APC 17 8.5 ?
UG802 8.9 3.3 1.6
Toradex Topaz SBC 5.5 8.4 1.27
Snowball Board 8.5 8.5 ?
SheevaPlug 11 6.95 4.85
SABRE Lite 8.25 8.25 ?
Raspberry Pi Model B 8.56 5.6 2.1
Raspberry Pi Model A 8.56 5.6 2.1
PandaBoard ES 11.4 10.2 ?
Origen Board 13.9 11.9 ?
Olimex A13 OLinuXino 12 12 1.65
ODROID-U2 4.8 5.2 ?
ODROID-X2 9 9.4 ?
Nitrogen6X 11.4 7.6 ?
MK802 8.79 3.5 1.34
Mele A1000 ? ? ?
Intel NUC 10 10 ?
IGEPv2 9.3 6.5 ?
Hackberry Board 8.56 5.4 0
Gooseberry Board ? ? ?
FoxG20 ? ? ?
CuBox 5.1 5.1 5.1
Cubieboard 10 6 2
Cotton Candy 8 2.5 ?
Chumby Hacker Board 10 6 1
Beaglebone 8.64 5.33 ?
Arndale Board 36 24 7
Name Onboard Storage (MB) Extrenal Storage
VIA Pico-ITX Epia-P910 0 SATA, USB
VIA APC 2048 microSD, USB
UG802 4096 microSD, TF, USB
Toradex Topaz SBC 0 microSD, SATA, USB
Snowball Board 8192 microSD
SheevaPlug 512 SD, USB
SABRE Lite 0 dual SD / SDXC
Raspberry Pi Model B 0 SDHC, USB
Raspberry Pi Model A 0 SDHC, USB
PandaBoard ES 0 SD, MMC, USB
Origen Board 0 SD, USB
Olimex A13 OLinuXino 0 SD, USB
ODROID-U2 0 microSD, USB
ODROID-X2 0 SDHC, eMMC, USB
Nitrogen6X 0 dual SDHC
MK802 4096 microSD, USB
Mele A1000 0 SD, SATA, USB
Intel NUC 0 SATA, USB
IGEPv2 512 microSD
Hackberry Board 4096 SDHC, USB
Gooseberry Board 4096 microSD
FoxG20 0.25 microSD
CuBox 0 microSD
Cubieboard 4096 microSD, SATA, USB
Cotton Candy 0 microSD, USB
Chumby Hacker Board 0 microSD, USB
Beaglebone 0 microSD, USB
Arndale Board 0 microSD, SATA, USB
Name HDMI Port VGA Port
VIA Pico-ITX Epia-P910 Yes Yes
VIA APC Yes Yes
UG802 Yes No
Toradex Topaz SBC Yes No
Snowball Board Yes No
SheevaPlug No No
SABRE Lite Yes No
Raspberry Pi Model B Yes No
Raspberry Pi Model A Yes No
PandaBoard ES Yes No
Origen Board Yes Yes
Olimex A13 OLinuXino Yes Yes
ODROID-U2 Yes No
ODROID-X2 Yes No
Nitrogen6X Yes No
MK802 Yes No
Mele A1000 Yes Yes
Intel NUC Yes No
IGEPv2 Yes No
Hackberry Board Yes No
Gooseberry Board Yes No
FoxG20 No No
CuBox Yes No
Cubieboard Yes No
Cotton Candy Yes No
Chumby Hacker Board No No
Beaglebone No No
Arndale Board Yes Yes
Name Ethernet Port Built-in WiFi
VIA Pico-ITX Epia-P910 Yes No
VIA APC Yes No
UG802 No Yes
Toradex Topaz SBC No No
Snowball Board Yes Yes
SheevaPlug Yes No
SABRE Lite Yes No
Raspberry Pi Model B Yes No
Raspberry Pi Model A No No
PandaBoard ES Yes Yes
Origen Board Yes No
Olimex A13 OLinuXino No No
ODROID-U2 Yes No
ODROID-X2 Yes No
Nitrogen6X Yes No
MK802 No Yes
Mele A1000 Yes No
Intel NUC Yes Yes
IGEPv2 Yes Yes
Hackberry Board Yes Yes
Gooseberry Board No Yes
FoxG20 Yes No
CuBox Yes No
Cubieboard Yes No
Cotton Candy No Yes
Chumby Hacker Board No No
Beaglebone Yes No
Arndale Board Yes No
Name Standard USB (2.0/3.0) Ports GPIO Pins
VIA Pico-ITX Epia-P910 2 YES
VIA APC 4 No
UG802 1 No
Toradex Topaz SBC 4 Yes
Snowball Board 0 YES
SheevaPlug 1 No
SABRE Lite 2 Yes
Raspberry Pi Model B 2 Yes
Raspberry Pi Model A 1 Yes
PandaBoard ES 2 Yes
Origen Board 2 No
Olimex A13 OLinuXino 3 Yes
ODROID-U2 2 No
ODROID-X2 6 Yes
Nitrogen6X 2 Yes
MK802 2 No
Mele A1000 2 No
Intel NUC 3 No
IGEPv2 2 Yes
Hackberry Board 2 No
Gooseberry Board 0 no
FoxG20 2 Yes
CuBox 2 No
Cubieboard 2 Yes
Cotton Candy 1 No
Chumby Hacker Board 3 Yes
Beaglebone 1 Yes
Arndale Board 3 Yes

 

Conclusions

Looking at the above charts, we can immediately draw some obvious conclusions:

  • ODROID-X2 and ODROID-U2 offer the most CPU power and the most RAM
  • Other high-end boards are: Origen Board, Arndale Board, Nitrogen6X, Sabre Lite and Via Epia-P910
  • The low-end boards are: Chumby Hacker Board and FoxG20
  • The smallest devices are: Cotton Candy, UG802, CuBox and ODROID-U2
  • The largest devices are: Arndale Board, Origen Board, VIA APC and Olimex A13 OLinuXino
  • The cheapest single-board micro computer is the Raspberry Pi (both model A and B)
  • The most expensive devices are the VIA Epia-P910, the Intel NUC, the Arndale Board and the Snowball Board
  • The best performance/cost ratio comes from ODROID-U2, ODROID-X2, Raspberry Pi, UG802, MK802, Cubieboard, VIA APC and HAckberry Board.
  • The best RAM/cost ratio can be found in ODROID-U2, HAckberry Board and Raspberry Pi model B.

But there are some other, less obvious facts that need to be taken into consideration when choosing one of the presented devices. First of all, one must consider the purpose for which the device will be used. The architecture of the board (x86 or ARM) plays a crucial role here, as some operating systems (like Windows) are less likely to run smoothly on ARM devices, while others, like Linux or Android work perfectly on them. Also, it is very important to consider the available types of connectors on the boards and maybe even their quantity (especially for USB). Video output type and quality may be one of the most important ones (HDMI, VGA or other), but network connectivity (WiFi, Ethernet, BlueTooth) also plays an important role. The presence of GPIO pins on the boards may matter if they will be used in custom hardware projects.

Last, but not least, it is important to consider how stable a device is when running a certain OS and how large the community and how good the support is around it. The Raspberry Pi, being the most famous of these micro computers, enjoys the best support from its community so if you run into some problems, you are likely to get help fast. This may not be true with some other devices.

 

Final note

Although I’ve done my best to gather and structure the information about the presented single-board micro computers as accurately as possible, it may happen that there are errors or missing/wrong data. If you find such a mistake, feel free to leave a comment containing the correction.

 

This article has been created in collaboration with:

NailGlaze.comThe Must Blog

A few thoughts about today’s single-board micro computers

Let us talk a little bit about today’s single-board micro computers (micro PCs). What I’m referring to are very small single-board computers, comparable in size with a credit card, with a relatively low power consumption. They are usually fan-less and have no other moving component either. They can run any normal software which is written for their architecture (usually ARM) and does not have high resource requirements. They are frequently designed as a SoC (system on a chip). They usually have many input and output connectors and many of them support GPIO pins in order to be attachable to custom hardware.

The Raspberry Pi is indisputably the best known single-board micro computer today, with a very large and still rapidly growing community around it. For most of us it is the likeliest choice if we want to have a computer which is very small, one that we can use for tasks that don’t require a lot of resources (CPU, memory). But the Raspberry Pi is not the only device in its category. The competition has not been sleeping and there are more than a few similar small computers out there today, significantly more than you can count on your two hands. Some of these micro computers have been around for 2 or 3 years now, but most of them have hit the market in 2012, as a response of the competition to the launching of the Raspberry Pi in the first quarter of the year. In the year 2012 micro PCs have emerged like mushrooms after the rain, they were announced rapidly one after the other so fast that one could barely follow. The year 2012 has been a time of boom for the micro PCs, in fact it may happen that when we will look back upon 2012 from the future, we will consider it the beginning of a new era in computing, the year that marked the beginning of the reign of micro PCs. By no means am I trying to suggest that the micro PCs will push aside the normal desktop and laptop computers and that they will take over their responsibilities. Normal size computers have their own fields of use, they cannot be replaced when the software that runs on them is very resource-intensive (needs a lot of processing power, memory, etc.), or at least today the micro PCs are far too weak to take over those tasks, but, as we know, the tendency in the evolution of computers is to decrease the physical size, so it’s hard to say what awaits us in 10 years from now. The fact that today’s micro PCs have considerably less processing power and memory compared to the traditional PCs is not the only reason why they can’t handle every responsibility of their big brothers. Most of these small computers are based on the ARM architecture (which seems to be dictated especially by the small size and by the low power consumption that they target) and much software cannot run on ARM today. Even most operating systems are not suited to work on ARM, but the ones that are (Linux, Android, RISC OS, etc.) are now enjoying a rapidly growing popularity thanks to the micro PC boom. The biggest irony of all is that the operating systems that can run on the ARM architecture and that are prepared to work in a low resource environment are exactly the ones that are free, once again proving that the free software community is producing some very valuable results. The other major operating systems that are unable to work on the micro PCs better catch up fast, or they are going to lose an important segment of the market. The micro PCs are absorbed so well by the market because they are filling a void that has been waiting for a long time to be filled. Many home computer users and even servers don’t need a super-fast computer with a lot of memory. A micro PC like the Raspberry Pi is more then enough for them, but until recently there weren’t any micro PCs (or were very few and expensive) that one could buy for such purposes. Also, hackers and computer specialists adopt the micro PCs easily because to them they represent some very cool gadgets. And the truth is… they really are!


What is Raspberry Pi?

Raspberry Pi

Although the name might trick you into thinking that it is something that you can eat, a Raspberry Pi is actually a computer. However, it is not an everyday computer. It has quite a few important characteristics that make it very special:

  • It is very small. Marketed as “the credit card size computer”, the Raspberry Pi really does not take up much space. It fits in your palm and you can carry it around in your pocket. The small dimensions (85.6 x 56 x 21 mm) make it very easy to embed into all kinds of small size systems in which it can act as the brain (or the heart, if you will). The use of it in “intelligent” robots is a good example of this.
  • It is very power efficient, draining surprisingly low amounts of current, even when its CPU and peripherals are stressed to the max. Operating at 5V DC, model A uses a maximum of 300 mA (1.5 W) and model B drains a maximum of 700 mA (3.5 W), but the real-life power usage in practice is probably only around half of the maximum ratings. Aside from the obvious environment friendly aspect, the low power consumption also means that it can be left running 24/7 virtually forever without causing a noticeable change in the electricity bill. This makes the Raspberry Pi very suitable to be used for hosting server applications (web servers, ftp servers, mail servers, database servers, etc.) that run all the time. In fact the very article that you are reading right now is supplied to your browser by an Apache2 web server hosted on a Raspberry Pi model B. Because of the amazingly low power requirements, it can be utilized with success in independent systems which run on batteries. For example, you can use 4 AA rechargeable cells (4x 1.2V = 4.8V) to power a Raspberry Pi but it will become unstable as the batteries are worn out and the voltage of the cells drops. With the help of voltage regulators and voltage converters (it needs stable 5V) it can also be used with normal AA batteries, bigger 12V batteries (car batteries for example) and so on. Yet another aspect that makes it very suitable for being incorporated into small robots and similar systems.
  • Affordability. The Raspberry Pi is probably one of the cheapest (if not the cheapest) general-purpose computer that you can buy. With a factory price of only 25$ for model A and only 35$ for model B, almost anybody can afford to have a Raspberry Pi computer. In fact, the low price was one of the most important considerations during the design process. The Raspberry Pi Foundation originally intended it to be an affordable computer that children all around the globe can buy and use to learn about computers, especially to develop software. They really have accomplished that goal and we owe them some sincere thanks for giving us this amazing piece of machine at such low prices. They could have sold them at much higher prices, but The Raspberry Pi Foundation chose to give this gift to humanity instead of trying to get rich through it. The Raspberry Pi, however, has outgrown its original purpose. The community around it has grown fast, has embraced it and has used it in amazingly creative ways to create very useful projects.
  • General purpose. In spite of its small size, its low power consumption, its low price, its ARM architecture, the Raspberry Pi is not a specialized computer like a smart phone or a tablet. It is a real computer that can be used for pretty much everything that “normal” desktop or laptop computers are used for. Well, to be honest, this is not 100% true, but almost. The only limitation which poses obstacles in front of it being used for really everything are its low resources (low frequency processor and small relatively small amount of memory) and its ARM architecture which is not supported by every operating system and by any piece of software. The main operating system that runs on a Raspberry Pi is Linux. The recommended distribution is the Raspbian, which is version of Debian Linux customized for the Raspberry Pi. Arch Linux and RISC OS are also officially supported and people have even had some limited success with running Windows on it. Still, the users of Raspberry Pi are mostly restricted to running Linux on it and software that was designed to work on Linux, but that is usually not a problem today, when Linux has become quite user friendly but still keeps the cleanness, security and efficiency of older versions. It offer a great variety of highly reliable applications, all free, which you can use to accomplish pretty much everything.
  • Easy hardware interaction. The Raspberry Pi has a set of general purpose input-output (GPIO) pins which make it very easy to connect it to custom hardware (LEDs, motors, input buttons, sensors, etc.). The P1 GPIO header present on both models contains 17 programmable pins (usable both as input and output, some even in PWM mode) but has a slightly different layout on the two models. Model B also contains a second GPIO header, the P5 header, which supplies an additional 4 programmable GPIO pins. It’s important to emphasize that the presence of the GPIO ports is one of the things that makes the Raspberry Pi stand out from the line of usual computers (which don’t offer this). It’s what makes it so easy to use it in creative hardware projects. The original intent was to use the Python programming language for communication through the GPIO port (hence the name Pi), but in practice many languages can be used today to access the GPIO pins (Python, C/C++, Java, bash script, etc.).

In order to find out exactly what can be done with a Raspberry Pi, let’s examine the hardware specifications:

  • The CPU is based on the ARM v6 architecture and it runs at 700 MHz, although it can easily be overclocked to achieve frequencies of of to 1 GHz. No hacking is needed to achieve this, overclocking is supported by the system. The processor chip is a Broadcom BCM2835 SoC, which was chosen because of the great performance/price ratio that it delivers but also for the low power consumption.
  • The Broadcom BCM2835 also incorporates a high power GPU, which can be used without problems to play BluRay quality videos and its fast 3D core even allows many games to run nicely on the Raspberry Pi.
  • The amount of operating memory (RAM) originally available on the Raspberry Pi was 128 MB for model A and 256 MB for model B, but the newest revisions have doubled the amount to 256 MB for model A and 512 MB for model B, making it possible to run applications which require larger amounts of memory.
  • The Raspberry Pi has no incorporated storage device. Obviously, hard disks, optical (CD/DVD/etc) readers/writers cannot even be imagined with a device of this size, price and power rating. The storage solution chosen for the Raspberry Pi is the highly popular and widely available SD card. But it does not contain one by default, it just has an SD card slot, you need to buy your own memory card to use with it.
  • A wide spectrum of input/output connectors are available on the Raspberry Pi, making it possible to connect to virtually everything. First of all, it is powered through a  micro-USB port and has no on/off button. Plug it in and it’s on, pull the plug and it’s off. It’s that simple! It is recommended to use a micro-USB power supply for it which can supply at least 1A of current at 5V (especially for model B or if you have many peripherals connected to it). The most popular connector on it is perhaps the USB port, two of which exist on model B and only one on model A. Obviously, you can use powered or non-powered USB hubs to connected more USB devices to it. This is the most straightforward way to connect a keyboard, mouse or webcam to the Pi. The other difference between model A and model B is that the latter has an Ethernet connector too, which, unfortunately causes the major difference in the power consumption. Model A can still be connected to a local network or to the Internet by utilizing a USB WiFi dongle. Other exciting connectors on the Raspberry Pi include a HDMI port, for connecting it to modern TVs and other display devices, a standard 3.5 mm audio jack and RCA video connector for communication with older devices or or attaching a microphone, for example.

It is obvious by now that when you buy a Raspberry Pi, you only get the little computer itself, no SD card, no cables (not even a power cord), not to mention no case, just the device itself. You’ll have to buy everything else that you need to use with it separately. This is more than understandable at the price it has and it was planned like this because depending on what it is used for, different accessories will be required, so there’s no point in supplying default accessories, which would only push the price up unnecessarily.

Raspberry Pi Logo

Raspberry Pi Logo

All in all, the Raspberry Pi is a great tool for people to turn their creativity into real-life hardware and software projects and also a great gadget. It is produced in the UK (amazingly not in China) by Sony and it is currently available for buying through Element14/Farnell and their re-sellers from many countries. When it was originally released, in the first part of 2012, there was a restriction which allowed one person to buy only one Raspberry Pi (a restriction lifted since), because of the huge demand for it. The initial lot was sold in a matter of minutes on the first day and the pre-orders registered in the first day covered about 6 months of production into the future. The first released model was the higher priced model B (factory price: 35$) and because of the huge demand it was impossible to release model A until the beginning of 2013.

The community around Raspberry Pi has grown very fast, with lots of friendly and helping members and has produced unimaginably vast and useful projects based on the Pi. You can find many resources on the official web site of The Raspberry Pi Foundation and you can discuss your projects in the official forum.