Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: BeagleBone Black / Green
What were the biggest problems encountered?: null
Since the Raspberry Pi family is already more than 4 years old, I would not consider the RPi3 a completely new product. So I think it doesn't make sense to review the RPi3 as such - instead I want to focus on the differences and changes when upgrading from a RPi2.
There are different aspects when you want to upgrade from an older Raspberry:
Starting with the Raspberry 2 the boards are all compatible with regards to size and mount points. So this means you can take you existing enclosure and put a new RPi3 into it. Here you can see my RPi2 that I used for further comparisons just beneath the RPi3:
As you can see all connectors and screw / mount holes are in exactly the same position. There is one difference though - the status LEDs have been moved to get room for the WiFi antenna, which must be placed on the board edge (on the top left on the RPi3, this place is hidden on the RPi2). So if you want to see them, you probably need to drill a small hole into your case.
Another difference is that the slot for the µSD-card is (at least on my board) not of a locking type any more. That means instead of needing to push the card in again to remove it, you just pull it out. I don't know whether this makes it more robust against accidental removal or not.
On the electrical side, most noteworthy is that the RPi3 might need a beefier power supply, depending on what you had before. The official FAQ recommends a 2.5A supply for the RPi3 and 1.8A for the Pi2. But these are worst case rating, needed when you want to power many external USB devices too. I'm using a 1.5A supply for both and never encountered any problems. It is well below the current that a RPi3 thats under full load should take (which is about 1.34A). When you want to connect USB devices or HATs (e.g. a display or a hard disk) you should look for a bigger PSU though.
The extension connector also stayed the same- its more or less unchanged from the original B+ and identical to the RPi2 connector. So all extensions should work, and also projects you find somewhere else. (I'm currently working at connection old-school joysticks with DB9 connector). I also tested my home-grown I2S sound "card" (based on the PCM5102A, with the RPI-DAC-RCA as template), which worked fine.
So far I just listed things that are the same - so what are the differences, and why should you bother with the RPi3? Well, its just one reason: performance. The RPi2 comes with a quad-core CPU running at 900MHz (which is already a nice upgrade from the RPi B+), the Pi3 comes with a 1.2GHz quad-core. This doesn't sound much, but at the same time the ARM architecture of the cores has been updates (from a 32bit A7 to a 64bit A53). And its this upgrade that gives so much more performance. The GPU is similar, but the clock speed also has increased so video performance also should be better now.
The upgrade core means that most probably you cannot take your old SD card that did run in your RPi2 and use it in your shiny new RPi3. You will need to upgrade the operating system and the firmware for your Pi. Fortunately in most cases its quite simple. If you are running a Raspbian distribution or one derived from it, you just execute these commands:
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo rpi-upgrade
and then reboot your Pi. I tested with my OpenHAB server which used a stock Raspbian image, with the addition of Java and the OpenHAB server. After running these 4 steps, the image worked on both the current RPi2 and the new RPi3. And OpenHAB also worked without any changes afterwards.
When you have code that relies on special features of the A7 core or the exact hardware, you might need some changes, but this should be really rare. Also, when you are using a special distribution (such as OpenElec, OctoPi or RetroPie) you will need to look for the correct version (which should be out by now).
So what do these CPU improvement this mean in real world?
I measured two different performance numbers: boot time and OpenHAB server startup time. I think artificial benchmarks are not so useful since the might not reflect the real world.
So for the boot time I stopped the time the RPi takes from showing the boot logo (or at least when my monitor shows an image) until the login prompt is shown (For a server I don't boot into the GUI). I measured this to be about 45 seconds on the RPI2, and just 14 seconds on the Pi3. This is a 3 times speed up! Very nice. When booting into the GUI this probably is different,but I would expect the speed up to be in a similar range.
For the OpenHAB speed I measured the time from pressing Enter on the command line until the final log message ("Loading model home.Home") appears. For better evaluation I also stopped the times for two other noticeable log messages (the first being the appearance of the 'osgi' prompt, and the second the "Started" message).
On the RPI2 OpenHab took 3 minutes until startup, with the "osgi prompt appearing after about 34 seconds, and the "Started" message after 50 seconds. On the RPi3 the prompt appears after 6 seconds, the "Started" message after 9, and the complete start up takes 1 minute 50 seconds. That means the early program start is much faster, but afterwards there is no noticeable speed up. Most probably this part of the program start does many reads from the SD card, which was the same in both tests. OpenHAB itself feels faster on the RPi3, but I did no measurements on its UI performance.
Just like everybody already supects, I can only recommend buying the RPi3 instead of its older sibling. Its nearly 100% compatible, and much faster in everyday use. What I would like is to get just a little bit more help for people using the Raspberry for the first time. Why not adding a small leaflet which shows the pin-out of the expansion port?