If you already know all about the Raspberry Pi, just skip straight to my Raspberry Pi Photoframe or Raspberry Pi JukeBox
HOT NEWS !! The Pi 3 B (or, if you prefer, the Pi B 3) was released on 29th Feb 2016, giving us a new £30 'top end' product. With built in WiFi and Bluetooth and a quad-core 64-bit ARM processor @ 1.2 GHz (with slightly faster access to the 1Gb RAM) it's about twice the speed of the B2+ and might even be up to running the Android system at 'acceptable' speed. More to the point, a month after launch it continues to be generally available 'off the shelf' from multiple suppliers (unlike the Pi Zero, see below)
The Pi Zero, launched 24 November 2015 at a retail price of £4 or so (yep, about the same cost as it's power supply), instantly sold out and has been 'unavailable' / 'out of stock' ever since. Project builders now have a new 'target', significantly cheaper than the Pi A/A+, for any application not involving the Pi Camera or touch screen = so demand is going to remain astronomical for some time. As of mid 2019, the basic Pi Zero is still limited to one per order and typically costs £4.66 plus £3.25 postage, for a total of £7.91, with prices continuing to creep up
The Pi Zero (1GHz 32Bit Broadcom BCM2835 SoC, 512Mb RAM and whatever microSD Flash you care to fit (up to 64Gb)) totally blows away both the much hyped (and much delayed), price 'unknown' BBC "micro:bit" (which is built around the 16MHz 32-bit ARM Cortex-M0 micro-controller, 16kb of RAM and 256kb Flash) as well as the now obviously mega-overpriced (£15) CodeBug (which is built around the 48MHz (12MIPS) 8 bit Microchip PIC 18F25K50, 2kb RAM and 32kb Flash)
What's a 'Raspberry Pi' ?
A tiny, cheap, 'single board computer' aimed at 'educational' and 'hobby' use. The A/B/+ consists (essentially) of a single BGA (Ball Grid Array) 'SoC' (System on a Chip) incorporating a 700MHz-1GHz ARM v6 core, a Broadcom dual GPU (supporting H.264 decode for 'Hi-Def' movies via HDMI). A single RAM chip is soldered directly onto the SOC - you get 256Mb with the A/A+, 512Mb with the B/Zero and 1Gb with the B2/B3. The Model B/B+ has an extra chip = a dual USB + Ethernet hub whilst the B2 has a quad USB + Ethernet hub - the B2 also has a quad-core version of the ARM CPU (with the same GPU). The B3 has an updated 64bit SoC, 4 USB, Ethernet and built-in WiFi and Bluetooth
The most amazing thing about the Pi is the price - often products aimed at the 'educational market' come with outrageous price tags (it will be interesting to see how what the BBC micro:bit is priced) - where-as (since Nov 2015) a Pi will cost you from as little as £5 (Pi Zero) to a few pennies under £30 (Pi B2, Amazon UK price £29.40 (postage included), Jan 2016, although you can now (March 2016) get the B3 at about the same price), although (as usual) there are always the rip-off merchants who are unable to resist offering 'packages' that include an over-priced SDHC, a few 99p cables and a plastic case for between double and 10x the basic board price
As with all new systems, the first releases (Feb 2012) suffered from a number of 'teething troubles'. To avoid problems, just avoid any built before the 'fully working' Model B started to ship from Nov 2012, followed by the (working) Model A from Feb 2013.
DO NOT touch 'old artwork' boards with a bargepole (unless you are prepared to replace capacitors and remove fuses). The B+ (2014) was working OK 'out of the box' (except for a software 'glitch' stopped you moving your code directly from the B to the B+, due to USB port 'addressing', and is now fixed). For the B2/B3 (and Zero), you need a new Operating System image (so no moving of SD chips from the older boards), however all your apps. should copy across and run 'as is' without problems.
The A/B/+/Zero SOC is the Broadcom BCM2835, which contains an ARM1176JZF-S "v6" core (with floating-point maths) running at 700MHz (it was over-clockable to 1GHz, and the Pi Zero runs it at 1Gz 'as standard'), and a GPU, Broadcom's 'Videocore IV' (said to be equivalent to 24 GFLOPS, about the level of a first-generation Xbox). The ARM v6 CPU code is well supported by the Open Source community, however it was only some 2 years after 'launch' (i.e. in Feb 2014) that Broadcom released the VideoCore IV GPU proprietary instruction set and architecture
The B2 contains a new Broadcom chip with a quad core ARMv7 CPU. The Pi B3 is again quad code but now uses the 64bit ARMv8 (which also runs v7 code). All Pi's have the same dual code GPU, although the B3 runs this at 400MHz (the others run it at 250MHz)
Note that the Broadcom BCM2835 is over 10 years old = it's a first generation smart phone chip, using the even older "ARM11" CPU design (from 2002). All ARM CPU's are 'RISC' based. This means a 700MHz ARM has the 'processing power' equivalent to a 200-300MHz Pentium II. This makes it inadvisable do anything 'clever' in CPU software code. On the other hand, the Pi comes with a 24 GFLOPS GPU core more than capable of running the sort of video games you would have found on a first generation Xbox in full HD !
The Pi "B+" was released on 14th July 2014 and not only 'fixes' the analogue stereo sound but also addresses the USB power limitations (you now have 4 ports sharing a total of 1.2A) !! (for more details, see a review here).
This was followed by the 'A+' and then, in March 2015, the 'B2' (using an ARM 7 core CPU, which is backwards compatible with previous exe's, although a new system image is required) - for details see B2 review
Then the Pi Zero launched late November 2015, and with a list price of £4 it's more or less 'game over' for all other 'single board computers' (such as the Arduino Uno (8bit 16MHz CPU, 32Kb TAM) at 5x the price) which are totally outclassed, as is the BBC micro:bit (which should have launched before the Pi Zero but is delayed until 2016 and is now 'yesterdays news' even if the Beeb can resist charging 10x the cost of the Pi Zero for it).
Finally (so far !) we have the B3 with a 1.2GHz quad core 64bit ARM CPU.
Before the Pi B2 launched, those wanting more power might have considered the 'Banana Pi' (a Chinese 'copy' of the Pi, launched Q1/2014 with the Allwinner A20 SoC incorporating dual ARM Cortex-A7 MPCore and Mali-400MP2 GPU, launched Dec 2012, a first generation Tablet chip). HOWEVER whilst it has 'double' the Pi B/B+ CPU 'power' (dual core at 1GHz) and double the RAM (1Gb) and even a SATA port, for less than double the price (approx £40 v's approx £25 for the B) it is NOT fully compatible with the Pi (in particular, the GPIO pins access differs which means all the i/o differs). Further, the Banana Pi's 'camera' port is also totally incompatible with the Raspberry Pi camera module. Finally, the Mali-400MP2 GPU, at 5 GFlops/core (it's dual core, which is where the 'marketing spec' (aka lie) of '10 GFlops' comes from) is significantly less powerful than the Pi's VideoCore IV (which is rated at 24 GFlops). However, like the Pi, it's GPU can perform h.264 encoding/decoding of full HD 1080p in real time. For those who care, the Banana Pi (which is effectively the core of a Tablet) can run Android (you can run Android 4.4.2 KitKat on the Raspberry Pi B2 with BerryBoot v2.0, although it's not what you might call 'fast' :-) )
What are the main advantages of the Raspberry Pi ?
Low Cost
On initial launch, the Pi was the only usable 'single board computer' (SBC) available in the £20 - £30 region (in Jan 2014, the Model A was £20.05, the Model B £28.07 (from CPC)). This set a 'new standard' in cost v's functionality. Two years later the '+' versions were released and broke the £20 'barrier' (as of Jan 2016, the A+ can be had for £16.83 (CPC-Farnell) and the B+ for £19.20 (rs-online))
However the launch of the Pi Zero in late November 2015 was the complete 'game changer' in the single board computer market. At about £4 (if you can find any, all stock is still (Aug 2017) still selling out within days of leaving the factory), it more than halved the £10 barrier and totally wipes the floor with the competition. Not only are all other SBC's 'left behind in the dust' but even even many 'single chip' processors (such as the Microchip PIC 32 and Atmel AT-mega devices) are 'wiped out' at a stroke
Note that it pays to 'shop around' for the Pi, especially if you are looking for the 'older' models, as 'special offers' can frequently be found on RS, CPC/Farnell and even Amazon with 'free postage'. You can also check the 'dedicated' outlets ('PiShop' etc), however they are almost always much more expensive (especially after you add the cost of 'one per customer' postage). It's a waste of time checking the 'high street' shops (such as Maplin) unless you want a laugh.
To the Pi's 'headline price' you have to add a SDHC 'system chip' (to hold the operating system = 4Gb is the practical minimum, at an approx cost £1 ('sdhc camera memory', eBay, Jan 2016)) and a power supply (typically less than £4 eg. £3.54, CPC, Jan 2014), however even with these extras, a 'stand-alone project' running on the Model A+ can still be built for less than £25 = substitute the Pi Zero and it can come in at 'about £10' !
If you want to 'drive' the Zero/A/A+ from your PC (via a 'terminal' window), you will need an USB to Ethernet (or a USB WiFi) 'dongle'. The alternative is to plug in a keyboard and connect an analogue TV or a HDMI display (or VGA display with an adapter) - if you want to use the GUI, then you will want to add a mouse (in which case you also need a powered hub, although many 'not so older' displays (such as the Dell 2001FP) come with a built-in 4 port USB hub (connection is with a USB A-B cable) - and some even have audio capability (or, in the case of the Dell, a +12v 1.5A output, intended to drive the Dell sound-bar and which can be used with the guts of a car USB adapter to get 5v for the Pi !).
The Model B/B+/B2/B3 has built-in Ethernet, so you will usually control it via a SSH 'terminal window' from your PC.
To keep costs down, it's quite possible to 'develop' your application on a Model B/B+ (via your network etc), set it up to 'auto-run' in a totally 'headless' mode (no keyboard etc.) and finally move the 'finished' project (on the SDHC card) over to a Model A/A+ or Pi Zero (where it will happily boot and run**)
The operating system is Open Source 'ARM Linux' and it runs nothing but Open Source applications (of which there are thousands). As is traditional with Open Source, you can re-write or modify the software however you see fit
**Note. The GPU includes a 'closed' binary 'blob' (licenced from Broadcom) that supports h.264 (Blu-ray movie) decode and encode, plus AC3 (audio) decode 'as standard'. If you need the MPEG-2 (for standard DVD movie) or the AC-1 (Microsoft HD movies, often used for Internet HD 'broadcasts') codec you will have to pay a small Licence Fee - and the 'codec enable' code you receive is locked to your Pi's serial number. This means any project that involves MPEG / AC-1 will have to be 'set-up' on the actual device you intend to use (or you will need to buy a licence for both the 'development' board (B/B+/B2/B3) and the 'target' A/A+/Pi Zero - and make sure the 'right' key is registered with the right device)
Size / heat
The Pi A/B/B+/B2 PCB is exactly the same size as a credit card (85mm x 56.2mm - although the A/B connectors 'overhang' this footprint), the A+ is smaller (and the Pi Zero tiny). All consume relatively very little power, so there is not much heat to dissipate (there are no heat-sinks**, let alone any need for fans !) - at full speed the Model B consumes approx 750mA (the B+ uses switching regulators that are more efficient and reduces this to 500mA) plus whatever the USB ports are using. The A/A+ are lower power - and the Pi Zero only consumes about 140mA !
**Under constant 100% load an over-clocked ARM CPU can reach over 60 degrees C. This is fine in the 'open air' at room temperature, however if your application will run the CPU at 100% continuously, DON'T stuff the Pi into a tiny closed box - if you MUST box it, get one with ventilation holes (or drill your own) and consider adding a small heat-sink = you can get a box + heat-sink 'bundle' for under £5 from eBay (China))
Note that the connector jacks and sockets on all Pi's (especially the A & B) overhang the board edges, so you need to allow extra room around the PCB, especially on the A & B for the SD card** which pokes out one end quite a way (the Zero/A+/B+/B2 have an in-board micro-SD socket but the SD card still protrudes a couple of mm or so). Component height is 15.3mm, the PCB is 1.6mm thick, and some components are mounted on the reverse so you need 3.5 mm clearance below, giving an overall 'height' of about 20.4mm (half that for the Zero which uses low profile sockets for everything)
It is just about possible to 'chop off' the rather useless RCA 'TV socket' (which is not fitted to the A+/B+ anyway) that sticks out about 7.5mm (from one long side) and adds over 10% to the width of the A/B (the socket is of 'open' construction and the legs are easy to 'get at' with wire-cutters (or nail scissors :-) ) - once chopped off, the remainder of the 3 'contact' legs can be de-soldered one at a time (they are really 'chunky' - getting sufficient heat onto them to take them all out at once could easily damage the PCB). **To reduce the space needed for the A or B SDHC card, it is possible to get a micro-SD 'carrier' (Google 'T-flash TF Transfer To Micro SD Card Adapter Module') for about £2 that plugs into the standard SD socket and eliminates the SDHC overhang (the B+, A+ and B2 all come with non-overhanging micro-S sockets).
Intended for 'educational use' ??
The original project goal was to produce a device that was cheap enough for use in an 'educational' environment, i.e. where funds are limited and where 'existing equipment' could be 'reused'. The expectation was that 'kids would learn about programming'
Of course this is a 'good idea' .. however they will be learning how to program a 'traffic light controller' in 'Python' running on the ARM core with less CPU power than their mobile phones and, at least for the first 2 years**, could not be learning anything about parallel programming on a 24 GFLOP VideoCore IV GPU (although they will have learnt something about 'closed source' code, 'binary blobs', 'un-fixable bugs' and especially about 'DRM licences' and "how to prevent 'unauthorised' use of the video core" :-) ) **Broadcom released the source for the cut-down version of OpenGL on the GPU in Feb 2014, however by that date most young programmers had turned to building 'Apps' for tablets (for which they are paid) and the Pi had become the firm favorite of the 'project hobbyist', not the 'wannabe programmer' school kid after all. For more on this (and other 'not so good bits'), see my "Next >>" page
The Python programmer can get access to a decent number of 'uncommitted' I/O lines (via a strip of 0.1" header pins) so they can turn their 'traffic lights' on and off and even use it to control motors etc.
Expandable
All Pi boards come with a 0.1" 'header strip' containing a number of GPIO lines, and all (except the v1.0 Zero) have 'ribbon cable sockets' for a sub-£20 dedicated camera module (originally 5m pixel, now 8mPixel, available in a standard and 'No IR filer' = low light versions) or for a small 'touch screen' display
The 'header strip' provides access to half-a-dozen GPIO (general purpose input / output) pins, plus a Serial I/O set (Rx/Tx pair) along with both 5v and (limited) 3.3v power. It appears that the current Broadcom software allows the function of some of the GPIO lines to be 'reprogrammed' (for example, the Pi Zero - which has no stereo output socket - can have 2 of it's GPIO header i/o lines reprogrammed as the 'stereo out' pins)
NB. It's not possible to 'upgrade' the RAM on any Pi - the RAM is a single chip bonded to the top of the SOC. You also can't add the 'USB hub' chip to the A/A+ = the Pi has one single USB port (on the SoC = main chip) and the B/B+/B2 wire this to an on-board USB/Ethernet hub chip (a tiny surface mount device). This device was not fitted to the A PCB, and even the 'lands' (the space where it would go) are missing on the A+/Zero (you can, of course, plug in an external USB hub). One big advantage is that it is possible to build your application software using a Model B/B+/B2 and then move the SD card (or, B2/B3, just your app. software) to a Model A/A+ or Zero.
Connectivity
At power-on the Pi will go looking for an Internet connection (the B's first look via Ethernet, then all look for USB WiFi). Ethernet (and DHCP) is 'enabled' by default (WiFi has to be configured), so you can just run an ethernet cable from any model B straight to your ethernet hub/switch/router.
For those on a WiFi only router who still want to use a cable, the Model B Ethernet port is 'auto-sensing'. This means you can link 'normal' Ethernet cable from your Raspberry Pi straight into the Ethernet socket of a laptop (that is running Windows). You then enable Windows Internet Connection Sharing (ICS) on the laptop, the Pi will connect through the Laptop's WiFi to the Internet
NB. One hint from the forums is that to get any sort of decent 'range' out of your WiFi 'dongle', DO NOT plug it straight into the Pi == use it with an extension cable instead
Whilst the 'model A' lacks Ethernet, the software does include support for a good number of WiFi USB 'dongles'. Of course, from 'cold' it can only connect to an unsecured (SSID broadcasting) WiFi network (although it's easy enough to plug in a USB keyboard and add your WPA2 password to the Pi's set-up file before replacing the keyboard with a WiFi dongle & rebooting)
Of course, USB to Ethernet 'dongles' exist, however make sure to choose one that the Pi will 'recognise' automatically :-)
Once the Pi has connected to your network, you can control it via a 'remote terminal' from a PC
Community
There is a massive 'user community' who are constantly improving the various different software options available for the Pi. Already the 'standard' (Raspbian 'wheezy') distro. will automatically connect at power-on via Ethernet both to the Internet and to a PC running PuTTY (so you don't need to connect keyboard/mouse or monitor to the Pi).
Raspbian 'wheezy' even supports many commonly available WiFi USB 'dongles' (for those with a 'WiFi only' home network who want to connect the Pi directly to their Router and thence to the internet)
A huge amount of information is being 'posted' about the Pi, however this can be hard to find when buried in 'forum' discussions dozens of pages long - fortunately a lot this is collected together on the elinux.org web site, RPi hub wiki
In case you think the Pi was/is 'perfect', my 'Next' page is a Pi critique page, listing the less than ideal parts of the Pi
In conclusion
All initial Raspberry Pi's were built around a first generation 'smart mobile phone' SoC. The B3 is slightly more modern, however it also struggles to run many of the applications (such as Stellarium - but that at least is now 'fixed') that even 15 year old PC's can cope with ease. The HDMI capable GPU means the Pi can just about serve as a 'Media Center' see here), however the fact that all USB & Ethernet i/o is via a single 'channel' on the GPU imposes a data bottleneck. The Pi should not be seen as a 'general purpose' computer at all, nor even as a 'Tablet' replacement (although I believe it's now possible to run Android on the B3) and whilst it is possible to do much of the above you are going to be a bit disappointed with the results
The B+ (and later) will just about do the job as a 'stand-alone' music player with Stereo output (and the B2 even better), however to get decent 'surround sound' you will need a HDMI display with home cinema capability. Don't assume you can use the Pi as a 'PVR / DVR' - instead use it as a DLNA 'render' (client) that displays movies from some external source (Internet, PC, home media server/NAS) and you won't be disappointed
The Pi is best used for stand-alone 'single task' applications - such as an Internet Radio, Jukebox, Photo Frame, or as a controller for a telescope, for a 'robot', for your central heating or home 'automation' system ... or indeed anything where it can be seen to be (still) working. It can even be used as a HD movie DLNA Server !
However, the risk of 'SD corruption' on power loss (and random reboots on power 'glitches') makes it a bit risky for use in applications where it can't be 'seen to be working' (such as an 'intruder alarm' controller or fire alarm system = although use of the 'watchdog' timer and a 'UPS' (battery back-up) could provide a solution).
The release of the Pi Zero is 'an order of magnitude game changer'. Solutions developed on the B/B+/B2 can be 'migrated' to the Zero by simply moving the SDHC chip - and for around £5 you have a device that blows away just about every other 'single board computer' (SBC) in existence (most of which require PC's and often expensive software Licences and 'special' cables to 'program' them).
At the Pi Zero price point the best alternative you can get would be a 16bit 32MHz CPU with 32kb RAM 'chip only' (if you are lucky). The lowest cost alternative 'single board computer' (such as the 8bit 16MHz CPU 32kb Arduino UNO or similar BBC micro:bit) comes in at 5 times the price, is 50x slower with 16,000 times less RAM (and no display support), whilst the Pi Zero has a 1GHz CPU with 512Mb RAM and a GPU supporting HDMI !
Perhaps the most serious competition might be the $9 C.H.I.P. (which includes 4Gb of flash program memory and a Wi-Fi/Bluetooth adaptor). This is available now (2017) in USA, but the $9 starter version only has composite video out (although VGA and HDMI are available via 'add on' boards).
Meanwhile the Zero problem continues (mid 2017) to be one of Zero availability :-(
The Pi Zero shipped 20,000 on it's Nov 26th 2015 'release day', since when the 4 official dealers have each received one 'batch' per month (of a few thousand) which have instantly sold out, even after limiting customers to one each, selling them as 'bundles' (containing a few 99p cables / adapters) to hike the price and adding on postage. Even now (Aug 2017), the Pi Zero continues to 'Sell out' within a day or two, and even when 'in stock' is still being limited to one per order ! The next cheapest Pi, the A+ (in fact, the A+ is often cheaper if you look at the Zero 'bundle' + postage price) is also hard to find, with some dealers no longer stocking the A+ at all.
What about the future ?
The Pi's future is stellar ! Despite some (many annoying) restrictions, the basic A/B was 'cheap enough' and 'powerful enough' to be used in a huge variety of applications. I have no doubt that the Pi Zero will become the 'de-facto' universal solution for the hobbyist, whilst the B3 will be the 'Pi development system' of choice.
Will the Pi Zero (ever) make 'inroads' into the education market ? Well, at this price only the BBC micro:bit 'card' is a competitor (which the BBC started to give away for free to schools (but not parents) from March 22, 2016). It's hard to beat free, and with their huge publicity machine, the BBC micro:bit may even become quite successful. However I fear the BBC will try to gouge parents to cover the costs of the 'give away' - so micro:bit is going to be mega:price :-). Given that the CodeBug (which is even less powerful than the micro:bit) comes in at about £15 (not far off the cost of a Pi A+) I wouldn't be surprised if the BBC try to get more than the Pi B2/B3 for it (i.e. £25-30) - however the BBC did manage to restrain themselves and (as of Aug 2017) the 'bare board' micro:bit could be found from £13 (Pimoroni) to £15 (Amazon uk). On the other hand, adding £1 for a 4Gb 'bootstrap' SD card and a 'micro-usb converted' Bluetooth 'dongle' (you can buy a 99p 'converter' that's inserted into a standard USB 'dongle' plug to make it micro-USB) to a Pi Zero would result in a system for a lot less than £10 that would be at least 1,000 times more powerful than the micro:bit ! In fact it's rather surprising that the Pi Foundation hasn't already done this - the Pi-ZeroW at about £10 cry's out for a 'bootstrap' SDHC (with 'kiddie' Blocky & micro-Python support) to be included as part of an 'educational package' (rather than a handful of overpriced 'converters' in a tin can as a 'starter kit' for double the price)