Several months ago when I first received my Raspberry Pi boards I said these tiny ARM boards could potentially change the world. Now I feel this is even more likely to be the case, and here’s some evidence.
Researchers put together a mobile phone base station running off a Raspberry Pi. This is a very low cost way of putting together something like this. It’s also just a prototype showing what this generic hardware is capable of. As time goes on specs will improve and costs will drop. What these little boards can do for us will become even more impressive.
Small capable computers in/around our environment could revolutionize the way we live, work and interact. These are low power, low cost, and highly flexible machines in a very small package.
Up to this point the graphics driver for the BCM2835 and its VideoCore processor found in the Raspberry Pi was backed by an open-source kernel driver but a closed-source user-space. Today — through cooperation with Broadcom — the Raspberry Pi Foundation was able to release the user-space bits to to this driver. Therefore there was then a full open-source ARM graphics driver with OpenGL ES 2.0, EGL, OpenMAX IL, etc. The one caveat though was that a firmware blob must be loaded at boot.
It turns out that Broadcom shoved much more into their firmware binary blob than just some basic setup routines and other non-critical tasks. Broadcom’s OpenGL ES (GLES) implementation is even lodged within this GPU driver firmware.
I’m not really sure it’s “open source” when you cram all the good parts into a binary blob. Essentially what they did was make the API slightly more open. I’m a bit disappointed at Broadcom. I’m a big fan of the Raspberry Pi, I own 2 already. However I’d like to see it open enough that it can improve and grow software wise.
I’m pretty psyched about these little guys. Can’t wait to play with this one. Here’s why I’m so interested in them:
- It’s cheap – While it’s not as cheap as a TI MSP 430 Launchpad, it’s cheap enough that I could break one and not cry too much about it. That’s amazing if you remember when a computer was one of the most expensive things a person could own besides a house and car just a matter of years ago.
- It’s a familiar stack – The problem with the TI MSP 430 or Arduino is that they require working in an unusual environment for many/most people. Arduino is intuitive, it’s beautiful, it’s fun. But it’s hardly familiar. The MSP 430 takes me back to a time when I was too young to code. Linux on ARM is really Linux. The stack is familiar. You can run modern scripting languages we use every day. The learning curve is awesomely non-existent. Python, Ruby, Perl, Ruby, Bash? All can be run on ARM.
- It’s power efficient – I’ve been playing with Linux on ARM hardware for a while now. It fascinates me. The hardware is cheap, but it’s also power efficient. These little guys run on almost nothing. They require no fans, they generate almost no heat (which is energy remember). PC’s use lots of power. ARM doesn’t. Leave it on, run it like a tiny desktop server. Use it for tasks where it’s not worth leaving a PC on. It’s awesome.
- Encourages Innovation – Nothing encourages innovation like a low barrier to entry. $35, an Ethernet cable and a small cheap SDHC card and I’ve got a dedicated computing device that can hook up to any modern TV or display. For a few more dollars I could get a Bluetooth or USB WiFi adapter. In almost no time at all I can put something useful on there as it’s a familiar and well established software stack. Nothing encourages good or bad ideas like a low barrier to entry. Hardware wise, this is about as low as you can get right now. It’s the Cloud Computing or VPS of hardware.
Tiny ARM hardware can change the world. You could put internet enabled gadgets anywhere. Want to have a Twitter account that tweets every time the refrigerator is opened? That circuitry isn’t terribly complicated (essentially it’s a Hall effect sensor + a magnet) and writing a script that would read that input and post it to a Twitter account isn’t terribly hard it’s only been done a million times in every language ever written.