A deep discussion with Raspberry Pi founder about a new generation of Raspberry Pi by MAKE Magazine
Photo by makezine.com
Photo by makezine.com
On the face of it the new Raspberry Pi 2 looks very similar to the Model B+, so similar in fact that if you sit them down next to each other the only way to tell them apart for sure is to flip the boards over and check for the presence of the SDRAM chip. Because unlike the Model B+ which used the same package-on-package (PoP) memory as the original Model B, the new board has moved the RAM off-board to a separate chip.
The two boards look so similar because the main change to the Pi isn’t visible — the single 700MHz ARMv6 core has been replaced by a quad core ARMv7 running at 900MHz. While there are some other minor changes, the only other major change beyond this has been to increase the onboard memory from 512MB to 1GB.
Although while idling the new Pi will not consume any more power than the previous generation of boards, when all four cores are being used the new board will consume more power and — due to increased leakage — will get much hotter. Hot enough that you might want to think about adding a heat sink, especially if you intend to overclock the chip.
While the new board ships with the cores clocked at 900MHz we’ve been told that it’ll run comfortably overclocked to higher speeds. So comfortably in fact that it was originally intended to ship the boards clocked to 800MHz and this was only changed in the last few days leading up to launch — no doubt there will be some people that’ll want to push the boundaries even further, to higher speeds.
“We were being conservative on the frequency in case we encountered issues in production. In practice, we’ve found we’re fine at 900MHz, with significant overclocking headroom over that. ” — Eben Upton, CEO at Raspberry Pi
The shift from an ARMv6 to ARMv7 is an important move for the Foundation as the original Pi was one of the few boards in widespread circulation using the older v6 architecture, and as a result some software projects had no plans to ever support it. Beyond that, efforts like Ubuntu Core for connected devices — which is only supported on ARMv7 and x86 — can be easily ported to the new generation of Pi boards.
However while the new board will need an ARMv7 kernel and modules, user space binaries built for ARMv6 can continue to be used, which means that the new board is fully software compatible with existing Raspberry Pi distributions of Linux.
So from today you should be able to ‘apt-get upgrade’ on an existing Raspbian installation to add an ARMv7 kernel to your distribution. The SD card can then be used — assuming it’s a Micro SD Card — to boot either a first or second generation Pi. Card images, along with a new NOOBS image, will also be posted that support both boards.
When we sat down and talked with Eben last week ahead of today’s launch, we also tried to dig into some of the more technical points behind the design of the new generation of boards.
The new BCM2836 SoC is more or less the old BCM2835 with the ARMv6 core cut out and a v7 quad core dropped in it’s place. However there are some other minor changes can you talk about those?
There aren’t any changes to the USB subsystem, but the power system has received a tweak. 2835 has an on-board SMPS: this wasn’t large enough to supply the current needed by the quad Cortex complex, so it was removed, and Pi 2 uses an external SMPS chip. Also, as the Cortex complex has its own 512KB L2 cache, we no longer use the 128KB system L2 — ARM traffic goes directly to SDRAM instead.
All of the released documentation for 2835 applies directly to 2836. I’m hoping Broadcom will be able to release some additional data about hardware blocks on the chip (notably the high-speed interfaces and video scaler) in due course, but this isn’t committed yet.
You moved the memory from a package-on-package module into a separate chip on the rear side of the board. What drove that design decision? Does it have any advantages or disadvantages compared to the original PoP design?
We had to move to a 14×14 BGA for 2836, so a 12×12 PoP wouldn’t fit comfortably atop it. Primary downside: more PCB complexity. Primary upside: better thermals, as 2836 is now exposed directly to the air.
There are some v6 instruction sets that won’t be present in the new v7 chip. What are they, and do you think their absence will be particularly widely felt in the community?
The main userland difference is the lack of “short vector mode” in the FPU. This isn’t ever used in general purpose code: the only place I’m aware of it being used is in some media acceleration routines which we were responsible for ourselves and which aren’t enabled on 2836 (there are much better v7 versions available instead).
There was some speculation that a new board might make use of the BCM11130 — the same processor used in the Roku 3 — was that ever considered? Any reasons why, or why not?
We were keen to maintain full compatibility with BCM2835, and while BCM11130 is a great chip it has a rather different architecture which would have invalidated quite a lot of the low-level tutorials out there.
One of the reasons that this rumor was running around was that the BCM11130 has both Ethernet and USB onboard. The Pi has faced some criticism for running Ethernet traffic over the USB bus using the LAN9154. You’ve noted before that you don’t think this is a problem, can you talk about that?
Well, you have a 100Mbit interface downstream of a 480Mbit interface, so I’ve never been sure why some people are concerned by this choice. The nice thing about BCM11130 is that it has Gigabit Ethernet, but we didn’t see this as a strong enough requirement to justify a compatibility break.
Do you think the presence of the quad core will help makers, or industrial customers, who need low-level access to hardware?
I think it will help everyone to some extent. On the maker side, I’m looking forward to seeing some more sophisticated computer vision apps exploiting OpenCV+SMP+NEON.
Absolutely. James knew the pinout of 2836 before he finalized the design of B+. The main influence was that all the connectors on B+ are very visibly pushed as far as possible towards the edge of the board to make room for the extra routing between 2836 and the SDRAM.
“Although Raspberry Pi is already very popular in the United States, we’re working to improve our outreach to schools, libraries, museums, maker spaces, and individual hobbyists. This year, Pi enthusiasts within the US will notice a more robust Raspberry Pi presence at local workshops and events.
I’m so excited that Raspberry Pi 2 Model B is now available and I can’t wait to see what people do with it. Not only does the performance gain make it a much more powerful tool for makers, but it also helps to advance our educational mission by improving the learning experience.” — Matt Richardson, US Evangelist at Raspberry Pi
The education mission behind the Raspberry Pi is often overlooked by the maker community, but it is the driver behind the release of the new board.
“…we’re a not for profit, we exist to try and get kids programming.”— Eben Upton
The increase in performance between the original Model B, and today’s new board, means that the new Raspberry Pi 2 is a much more viable as a general purpose computer.
The new board is available today at the same price as the Model B+, and will sit alongside the three current Pi’s — the original Model B, the Model B+ and the Model A+ — which will all continue in distribution.
While there doesn’t seem to my any intention — at least in the short term — to replace the Raspberry Pi Model A+, which sits at the low end of the Pi range retailing at just $20, with a Raspberry Pi 2, Model A, the same thing was said about the Model B+ and look what happened there..?