Wednesday, February 18, 2015

Raspberry Pi 2: Tomorrow has come while no-one was looking

The future is here. Is it the Apple Watch? Apple Car? Flying Car? Google Glass? Oculus Rift? Hololens? Project Loon? Google Fiber? Tesla Model 3, Hyperloop, SpaceX Falcon Heavy with resusab reusable boosters?

No.... it is the Raspberry Pi 2.



Surely I am being over sensational. Surely this is an overstatement of the importance of a not-for profit educational geek toy that even now most people probably have not heard of even though it may well be the most successful computer ever made in the UK, or if they have heard of it, they have no real idea just what the heck a raspberry pi is.

Ok, perhaps it is. However, I ask you to bear with me me for a minute as I explain. The Raspberry Pi 2 and its kin like Intel Edison, Beaglebone etc... are all in this very interesting space. Truly inexpensive computing. The Raspberry Pi 2 is the first one 'across the line' so to speak in my opinion.


  • $35 - one computer board with 40 GPIO pins, quad core 900mhz Arm 7 chip, HDMI input, 4 USB, Wired Ethernet port, 1GB of RAM. 
  • $20 - one 16GB top of the line SD card, you don't need to speed more than $10
  • $10 - wireless USB adaptor
  • $10 - Pi Case
  • $6* - Amazon basics HDMI cable
  • $23* - Amazon Basics wireless keyboard and mouse (14 for wired)
  • $150* - Basic HD Monitor
  • $10* - 2amp 5volt usb micro power supply
*lots of folks have these laying around from older systems/phones/tablets etc...

Total cost if you have none of the * - $264
Total cost if you have the * stuff already or plan to use it "headless" - $75

In 1993 my mother took out a loan against our savings account to buy a 486 desktop computer. I am talking around $2000 of VGA and CD ROM goodness. In today's money that would be a computer costing over $3,000 dollars. 12x the cost of the pi system I laid out above. 

A 66mhz 486 was a 16bit system with in theory 66million instructions per second and boasted a 'massive' 32MB of RAM if memory doesn't fail me. Graphics were impressive at VGA (640x480). 

The Pi 2 clocks 900Mhz on 4 cores. Simple math says 900 million instructions * 4, or 3.2 billion 32bit instructions per second. Granted multi core performance is a much more nuanced issue. but hey lets go on the conservative side and say 1billion 32bit instructions per second vs 66 million instructions at 16 bits. That is 32billion bits being pushed per second vs ~1 billion.  

1/12th the cost. 32:1 performance increase in terms of a rough bit pushing metric. That is before you go into things like increased storage (16GB was  LOT of space in 93, 1GB of RAM was just silly talk), graphics capability, wireless communication and power usage. Or built in software like wolfram alpha, mathmatica (worth more than this whole system if bought independently) and built in development tools  with an ease of use and freely accessible tutorial information that was simply unthinkable in 93. 

But hey, super powered computing in a small inexpensive packages are not really new. Afterall, odds are good if you are reading this you have a smart phone, possibly you have had several. If it is a current top of the line phone it is quite a bit more powerful than this board I am describing. It isn't just the low cost and computing power that makes this board (and others like it) special. It is those 40GPIO pins, camera connector, USB ports, display connector (HDMI and another more special purpose one). Why are those so important that I would make such a grandiose s statement above? 

Let us fast forward a few years to 1999. I am in college studying computer science and I take a class in what I remember as physical computing (can't remember the actual title). That is taking these abstract calculators and using them to do real things in the real world like recognise a picture, or turn a motor, read a button push etc... To say I was interested is a mild understatement. But I was truly disappointed to discover how freaking expensive and yet crude it all was. You could spend as much on controller boards and interface cables as you could on the computer. And if you were not very careful you could easily fry your multi-thousand dollar system.  The main component we used that semester was a board that amounted to a microprocessor tied to a serial port for the bargain price of $500 (you can get a better version in an Arduino Uno for less than a 10th of that today). $500 dollars + say a $500 old used 386/486 system plus periphials (keyboard, mouse etc...) was a lot of money for someone to throw at an adventure that could very easily lead to letting the 'magic smoke' out of all the expensive electronics. In some ways the cost was good as it taught us all caution. Looking back on it I think it was the worst element of the class, as that same experience with painful experimentation cost of any physical computing interface was occurring all across the nation, hell the world, at that same time. 

That

Has

Completely

Changed

Granted this is not a crisp line. This change has been in work for a few years. Physical computer experimentation via cheap SBCs like the Pi and microcontrollers like Basic Stamp, Arduino etc... has been steadily ramping up on what looks to be the early part of an exponential curve collectively being referred to as the Internet of Things or IOT. I mark this spot as the point where the curve starts really taking off where before long people will be aware of technology like the raspberry pi or similar technology just as they are smart-phones. I point to the Raspberry Pi 2 as the IOT equivalent of the original iPhone in the smart phone world. Makerbots replicator is probably the IOTs Apple 1/Macintosh. Basic Stamp and Arduino both fit in the picture as prominent players as well. Remember Apple didn't invent the smart phone or the personal computer, it got the world to fall in love with them and start buying them in mass. 

Why do I think the Pi 2 is so special?

Because the Pi 2 marries both practical understood computing and the IOT. In doing so it transects the world most of us live in where a computer has to work, and the burgeoning maker\IOT movement where a computer has to interact via more than just a keyboard\mouse\touchscreen and internet connection. The previous Pi B+ board that came out last year was a marvellous headless linux system for things. It was a curiosity as a computer you would use in general. Running the x11 desktop was akin to running quake on (insert some random highly inappropriate hardware) just to show that you could. You could do it, you could sort of run Minecraft, dev tools, a web browser or Mathmatica etc.... But it was a masochistic exercise in patience to do anything resembling real work. Compared to that... I am writing this post in a browser on my Pi 2. I did all my research in additional tabs. I have multiple Arduino development windows up in the background. TOP is running in one of several SSH sessions logged into the box and utilization is rarely peaking above about 20% and load times are a mild annoyance similar to web browsing circa 2000->2002 or so vs impossible obstacle. In other words, It. Is. A. Computer. And unlike most computers it is designed from the outset to be friendly to interfacing with the real world rather than just cyberspace. Now you can access all that wonderful educational content directly on the device while working with it. With a Pi and an Arduino you have the IOT equivalent of Duct Tape and Bailing wire. You could in theory take $1000 in stuff and create the next big IOT thing. Sell it to the world via Kickstarter and be a massive successful company in almost no time at all relative to history if you have the right idea and present it the right way. That is an investment of 1/3 of what my Mother had to spend to get us a working early internet era system. I am pretty confident that someone is out there doing it right now and in 5-10 years time you will think of them like you think of Jobs, Gates, Musk etc... and when you read their history you will read how they got started with this kind of device. Guess I will have to check back in on this post in a few years and see if I was nuts or not :-) 

No comments: