In late November, the Raspberry Pi Foundation introduced the $5 Raspberry Pi Zero to critical acclaim. Like many people, I couldn’t wait to get my hands on one. And, like many people, I missed out. I am currently on a waiting list at my local Microcenter and look forward to playing with it. Until then I am thinking about what I will use it for. In case you haven’t heard about the Zero, here’s a diagram of it from Wired UK:
Now, the first thing I looked for was mechanical and electrical compatibility with previous versions of the Raspberry Pi. And based on what I’ve read and the feedback I’ve received, this device will connect to a number of after market add-on products including Pi-Plates (after you purchase and solder on a 40-pin header). The 2nd thing I did was look at the connectors – to make this board small, the USB type A connectors have been removed and replaced with a single USB micro B connector. If you want to attach a peripheral such as a keyboard or a WiFi adapter to this port, it is necessary to purchase an adapter cable. If you want to connect to the HDMI connector, you will need a mini HDMI to HDMI adapter. These adapters and headers can easily add another $5 to the purchase price. Now a number of you are going to take exception to this and point out that this board is designed for an embedded or headless application. Those are valid points so let’s address each of them.
In the case of an embedded system, the operating system of choice for most people will be Raspian Jessie. And while Linux is a very powerful (and free) O.S., it’s not ideal for a real time environment since it’s managing multiple administrative threads in addition to your application. Another problem with Linux is the fact that it takes so long to boot up. To be sure, Jessie boots up much faster than previous distros but it’s still at least 15 seconds. The REAL issue I have with Linux as an embedded OS on the RPi is the potential of corrupting the SD card when there is an abrupt power loss. The only way to avoid this last issue is to run your Raspberry Pi from a battery pack that is constantly charging when AC power is present. Now, I’m going to eat a little crow here and direct you to this link showing a very clever use of an embedded Zero.
Going headless requires a network connection. One of the benefits of Linux and of the BCM2835 chip is the support of a complete network stack. The designers of the Zero decided to provide only a single I/O connector and to use it, you have to have an adapter. Maybe this is a quibble. After all, you still have to have an SD card, a monitor, and KBD/Mouse the first time you power up any version of the Raspberry Pi. And, if you want to go wireless, you’ll need a WiFi dongle too. But if you want to go headless and access your Raspberry Pi Zero remotely it will be necessary to leave that WiFi dongle hanging off of an adapter cable.
So here’s my gripe in a single sentence: for an extra $5, I believe the Raspberry Pi foundation could have added a WiFi radio chip and a PCB antenna to the Zero making it a much more useful device. And, while they were at it, they could have added a single USB A connector and maybe soldered the 40 pin header on. Yes, it would have been larger but it would also have been much more versatile and worth the additional cost.
In conclusion, it is my humble opinion that in minimizing the cost of the Zero, the Raspberry Pi Foundation has produced something of an odd duck. I’m still looking forward to playing with it but I’m still not sure if I’ll think of any applications for it that can’t be done with an Arduino Uno.
On 5/16/16, the RPi Foundation released an updated version of the Zero. The new model now sports a camera connection. I guess they’re responding to people who want to make their own GoPro?
Note: I changed the title of this blog to better reflect what I was trying say regarding the design of the new Rapberry Pi Zero.