The biggest selling point of the Raspberry Pi Zero is its price. Before we even look at the specifications, the setup, and its myriad of possible uses, you have to congratulate the Raspberry Pi Foundation for making a 32-bit computer that can run desktop Linux for just $5 (£4). OK, I admit, you need to actually spend more than that to make it boot, however the part you buy from the Raspberry Pi Foundation costs just $5 and all the other bits you need are commodity parts that you may already have at home.
The other amazing thing about the Pi Zero is its size. It measures just 6.5cm by 3cm and is just 0.5cm thick (due to the connectors like the mini HDMI connector). The original Raspberry Pi models have been used in a huge variety of ways, however the original Pi was relatively large and could often look clunky or unwieldy when strapped to a robot or some other clever project. But not with the Pi Zero, it is slim, elegant and small enough for almost any project.
|Device||Raspberry Pi Zero||Raspberry Pi 1||Raspberry Pi 2|
|CPU||1GHz ARM11 Broadcom CPU||700MHz ARM11 Broadcom CPU||900MHz quad-core ARM Cortex-A7 CPU from Broadcom|
|GPU||Videocore IV||Videocore IV||Videocore IV|
|Storage||microSD card slot||SD card slot||microSD card slot|
|Connectivity||1 x microUSB, mini-HDMI, an unpopulated composite video header||4 x USB, HDMI, Ethernet, 3.5mm audio jack||4 x USB, HDMI, Ethernet, 3.5mm audio jack|
|OS||Linux||Linux||Linux, Windows 10 IoT core|
|Connectors||Unpopulated 40-pin GPIO header, SPI, I2C||Camera interface (CSI), GPIO, SPI, I2C, JTAG||Camera interface (CSI), GPIO, SPI, I2C, JTAG|
There is no glossing over this, the Raspberry Pi Zero is just a circuit board. For $5 you don’t get any kind of case or anything resembling a shiny consumer level product. However that is the point. It is meant to be cheap, cheerful, versatile and raw, so that hobbyists and professionals alike can get their hands dirty and start making things.
However to hit the target size and price there are a few things missing on the Pi Zero when compared to the Pi 1 or the Pi 2. When you first look at the board you will see the black System-on-a-Chip (SoC) sitting near the middle of the board. Towards the bottom of the board are the various ports. There is a mini-HDMI port for the display (mini now rather than full sized HDMI) and there are two micro-USB ports. One is for power and the other is for data (i.e. it is a normal USB port). To use the micro-USB port to connect peripherals like a keyboard or mouse you will need a micro-USB B male to USB A female adapter.
One thing missing from the collection of ports is an Ethernet port. That means that you can’t connect the Pi Zero to a network (or the Internet) without adding an Wi-Fi USB dongle or a USB Ethernet port.
To the left of the board is the microSD slot. There is no built-in flash memory on the Pi Zero (just like the Pi 1 and Pi 2) so you need to get hold of a microSD card for the OS and for data storage. Without a microSD card the Pi Zero won’t boot.
What this all basically means is that to actually use the Raspberry Pi Zero you need to acquire a mini-HDMI to HDMI adaptor, a HDMI cable, a micro-USB B male to USB A female adapter, a USB Wi-Fi dongle, and at least a 4GB microSD card. The Raspberry Pi Foundation sells many of these bits and the rest you can find on Amazon or eBay. I made a little shopping list and I reckon you need to spend about £19 to get a Raspberry Pi Zero, a 4GB microSD card, all the adaptors, a Wi-Fi dongle and a HDMI cable. I guess that the equivalent list in the USA would be under $20. However that doesn’t include a case, USB hub, mouse, keyboard, power supply, or TV/monitor.
If you plan just to have your Pi Zero connected to some kind of project that doesn’t need a USB hub, mouse, keyboard, or TV/monitor, then the very minimum is a microSD card, however you won’t be able to connect to the Pi Zero to update your software etc, so the practical minimum is a microSD card, a micro-B USB to USB-A female cable, and a Wi-Fi dongle. That comes to about £10 including the Pi Zero (under $12 if sourced from the USA).
Even if you go for the practical minimum you will still need to connect the Pi Zero to a TV/monitor and use a keyboard, mouse and USB hub for the initial configuration including setting up the Wi-Fi etc.
Now that we have noted what you don’t get, it is important to underline what you do get. You get a fully working 32-bit computer with a 1GHz ARMv6 single core microprocessor (ARM1176) , a VideoCore 4 GPU, and 512MB of memory. The GPU is capable of driving a full HD display at 60 fps. As well as the SoC and RAM you also get access to the 40 General Purpose Input and Output (GPIO) ports. These are the 40 plated holes towards the top of the board. I say holes as the GPIO header is unpopulated meaning there are no pins (unlike the Raspberry Pi 1 and 2). The GPIO header is fully working and fully compatible with the Pi 1 and 2, however you will need to either solder you own individual wires to each of the holes or solder on a header.
Because of its size and use of an energy efficient ARM based processor the Raspberry Pi Zero can be powered from an external battery pack, like the ones you use to charge your mobile phone on the go. This is a great solution for “headless” setups for use on robots or other embedded projects. With just a Wi-Fi dongle and a battery pack you have a fully functional Linux computer that can be incorporated into a myriad of projects.
The operating system of choice for all Raspberry Pi boards is Linux, specifically the Debian based Raspbian. The Pi Zero will also run Linux based media center distributions like OpenElec.
However Linux isn’t the only OS supported. All versions of the Raspberry Pi also run RISC OS, an OS designed in Cambridge, England by Acorn. First released in 1987, its origins can be traced back to the original team that developed the ARM microprocessor. If you are looking for Windows 10 IoT Core support, that is still only available for the Raspberry Pi 2.
Installing Raspbian is a breeze. You need to download the New Out Of the Box Software (NOOBS) zip archive and extract it onto a blank microSD card. Boot the Pi Zero from the card and follow the on screen instructions. Once complete the Zero will reboot into the Raspbian desktop environment.
When the desktop appears you will probably want to configure the networking, if you have connected a compatible Wi-Fi dongle then left-click on the network icon (near the clock at the top-right of the screen) and you will see a list of all available wireless networks. Select the one you want and enter the password. If you right-click the network icon and choose the “Wifi Networks (dhcpcdui) Settings” option from the pop-up menu, you can manually enter a static IP address.
If you are using your Pi Zero for an embedded project then you probably don’t want the desktop to start by default. You can configure this using the “Raspberry Pi Configuration” program. Click Menu (top-left of the screen) and then Preferences and then Raspberry Pi Configuration.
In the middle of the System tab you will see the option to boot to Desktop or to CLI. While you are in Raspberry Pi Configuration, you can set the hostname of your Pi Zero and also configuration the auto login options. Under the Interfaces tab you should also enable SSH login which will allow you to connect to your Pi Zero over SSH.
The Pi Zero has the same basic internals as the Raspberry Pi 1, however the CPU is clocked by default at 1 GHz compared to the default 700MHz of the Pi 1. The extra 300MHz does indeed make a difference, however don’t expect the same level of performance as you would get from the Raspberry Pi 2. To test the relative speed of the three platforms I ran the “speed” test of the OpenSSL suite. These tests churn out lots of numbers however the data below should give you a feel for how the different boards compare. The ‘numbers’ are in 1000s of bytes per second processed:
|MD5 1K||MD5 8K||SHA1 1K||SHA1 8K|
|Raspberry Pi 1||37652||55612||24257||30184|
|Raspberry Pi 1 (overclocked to 900MHz)||46796||70705||30983||38761|
|Raspberry Pi Zero||54229||78456||34878||42910|
|Raspberry Pi Zero (multi-core)||53825||77536||34724||42537|
|Raspberry Pi 2 (single-core test)||62722||77619||38226||43235|
|Raspberry Pi 2 (multi-core test)||250022||309185||152249||172733|
As you can see the Raspberry Pi Zero performs better than the Pi 1, mainly due to the new clock speed. I regularly overclock my Pi 1 to 900MHz, however you can see that the Pi Zero runs very comfortably at 1GHz, and without a heat sink!
The Raspberry Pi 2 has a 900MHz quad-core Cortex-A7 based processor and even though it is running at a lower clock speed the single core tests for the Pi 2 are better than the Pi Zero. This is because the Cortex-A7 has a higher performance level than the ARM11 CPU. The ARM11 is the de-facto implementation of the ARMv6 architecture.
By default the OpenSSL test runs in a single processes without any threading or forking. However there is an option for using multiple processes, which is useful for the Pi 2 as it is a quad core device. You can see from the table above that when the test is run over multiple cores on the Pi 2 the scores are four times higher.
As an interesting test I ran the same OpenSSL benchmark in its multi-core mode on the Pi Zero (which only has 1 core). As you can see the scores dip slightly, however not by much, and they remain higher than the Pi 1 at 900MHz. This is due to the quality of the Linux kernel and its multi-tasking abilities, but I digress.
So that is all well and interesting, but what is it like for “real world” performance. If you have used a Raspberry Pi 1 you will understand what I am about to say. The Pi 1 and Pi Zero offer the barest level of performance when it comes to the desktop. It does work, you can load GUI programs, you can even browse the web, however don’t expect it to replace your main PC. For example to load, render and display the home page of yahoo.com takes nearly 60 seconds.
However for education or for hobbyist projects the performance is more than acceptable. You can run Python 3 IDLE and Wolfram Mathematica easily and writing Java, C and C++ programs is a breeze. For those familiar with the command line then you might find using console based editors and command line compiling to be a more satisfying experience.
The Raspberry Pi Foundation has done an excellent job of making the Raspberry Pi 1 faster, smaller and cheaper. For the price you just can’t fault it. Having said that the weaknesses of the original Raspberry Pi are carried over to the Pi Zero, namely the desktop performance. Also there are hidden costs in terms of adaptors, microSD cards, and network connectivity. This means that if you want more performance and a full set of ports, including Ethernet, then you should opt for the Raspberry Pi 2, however for all those projects that you want to do then I suggest you buy a bucket load of Pi Zeros.