Raspberry Pi Model B+
A detailed look at the new version of the Raspberry Pi
Today, the Raspberry Pi foundation have announced the release of an updated version of the Raspberry Pi model B, known as the B+ (the official announcement is here). There have been a couple of tweaks to the design over the past couple of years, but this is the first major revision. The big news is that it still has the same CPU, SoC and memory (which means that it should run exactly the same software as the previous version). However, there have been a number of important improvements across various parts of the board.
Many of the improvements are to an often-overlooked part of the computer, the regulator. The Raspberry Pi gets power from a micro USB port that should supply 5v. Different parts of the Pi use different voltages, so it needs some component to reduce this 5 volts down to the different levels needed. That’s the job of the regulator. The original Pi used a linear regulator. This is a simple component that reduces a voltage, and any difference between the input voltage and output voltage is converted to heat and wasted.
The model B+ uses a switching regulator. This is a slightly more complex component that converts all the input power into output power, and only wastes a small amount. In other words, the power supply on the model B was very inefficient, and this has been fixed. The difference, according to the Pi foundation is between 0.5 and 1 watt. This isn’t going to make much of a dent in your electricity bills, but it is very important.
Different USB power supplies provide different amounts of power. Usually, it’s somewhere around 5 watts. The exact power requirements of the Raspberry Pi depend on what you’re doing, but light use of the Pi is around 3.5 watts (it can be lower if you’re really trying to squeeze efficiency out of it). This increases significantly with more things plugged in, particularly USB peripherals (unless you’re using a powered hub). In practice, we’ve found that when using most power supplies, the model B becomes quite unstable if more than two USB devices are plugged in via an unpowered hub since this can result in a power draw more than the power supply can handle. With bad power supplies, even a keyboard and optical mouse are enough to trouble it. The 0.5 – 1 watt saving can be thought as extra head room for the device, and should make it far less prone to power-related crashes.
To test the model B+’s power consumption, we put it through a test. We plugged a mouse, keyboard and two USB memory sticks into an unpowered hub (although the B+ has enough USB ports for all of these, we wanted to make it a fair test with the model B which doesn’t), and tried to copy 1GB of data from one of the memory sticks to the other.
The B+ was able to do this without major problems. The model B, however, didn’t manage it at all. The power supply couldn’t handle the USB devices and they dropped in and out.
Previously, we’ve always thought of a powered USB hub as essential for everyday use of the Pi (although you can get away without it for light use, we’ve lost too much data due to power-related crashes to recommend it). With the B+, we now view the powered hub as only necessary if you’re using high-powered USB devices. Since powered hubs are often almost as expensive as the Pi itself, this knocks off a significant proportion of the total cost of a Pi setup.
A more obvious advantage of the lower power consumption is for portable devices. There are loads of battery powered applications for the Pi, but one that we come across most frequently is taking photos. We ran a simple test where we left the model B and B+ in a loop taking pictures to see which one drained the battery the quickest. We found that the B+ drained the battery about 30% slower than the B. The improvement you get will depend on exactly what your Pi is doing, but we would expect it to be around this level.
The sound output from the original model B is generally considered something of a joke. If you need reasonable quality audio, you have to use an external sound card.
The Raspberry Pi (like almost all computers) is digital. It process information in 1s and 0s, or high and low voltages. However, sound waves are analogue. That means that they vary across a whole spectrum rather than just flipping between two states. The model B had no problem processing the digital sound, however the digital-to-analogue converter (DAC) was prone to adding noise into the output that wasn’t supposed to be there.
The reason for this is that on the model B, there was a 3.3 volt supply that powered several components on the board, one of which was the DAC. If one of the other components drew current from the 3.3 volt line while sound was playing, it could cause the power supply to fluctuate slightly, and this fluctuation caused distortion to the analogue output.
On the B+, the DAC has its own power supply from the new regulator, which means there’s nothing else to make the current fluctuate and therefore the sound output is much better. There are also some other minor changes to the audio processing to make it perform better. Serious audiophiles may still want additional audio hardware, but the Pi’s sound output should now be good enough for most people.
The most obvious improvement in the B+ is the addition of two more USB 2 ports, bringing the total up to four. Without the improved regulator, these wouldn’t have been very useful since there wouldn’t have been enough power to run many peripherals. However, we found that we could run most USB peripherals. We tried to overload it with a mouse, keyboard, USB webcam and memory stick and it still worked. We even had some success with a keyboard, mouse, webcam and microphone, though we wouldn’t recommend that setup for any serious recording. For normal use of the Pi (such as with mouse, keyboard and USB memory stick), the ports should work without any problems.
After the additional USB ports, the most noticeable thing on the B+ is the additional GPIO headers. There are now 40 rather than 26 (there are actually 34 on the B, but the 8 on pad 5 don’t have headers). These provide 19 GPIOs (including pad 5) on the B and 26 on the B+. In technical terms, the whole of Bank 0 from the SoC is now exposed (and the other banks are put to work elsewhere). The first 20 of the 40 headers on the B+ are the same as the B, so some existing expansion boards should work without problems. However, because the board layout has changed, larger expansion boards that fit around the components may not fit on anymore. For example, the PiFace doesn’t. This is something that schools and workshops that already have a significant number of expansion boards may wish to consider. Since the headers just need raising to lift the expansion board above the level of the components on the board, it’s quite likely that someone will start selling adaptors for this.
The additional 7 GPIOs probably won’t have much effect on most projects since expansion boards tend to use one of the GPIO communications protocol (i2C or SPI) and these only use a few pins. If you need more GPIOs, it’s fairly trivial to use one of these protocols to drive more, and this will provide some protection for the pins on the Raspberry Pi as well. There are also no more feature pins in the GPIO, so don’t expect any more PWMs or UARTs.
One area where the extra pins could come in useful is in implementing communication protocols that need more channels. For example, the model B doesn’t have enough pins to run either DPI or SLI (protocols to communicate with displays), but the B+ does. This won’t actually be supported by the Raspberry Pi Foundation, but will, in theory, be possible should someone implement it. Hopefully we’ll see some interesting expansion boards that take advantage of the new possibilities soon.
To make space on the board, the analogue video out has gone, so there’s only HDMI output. This isn’t a big loss as we’ve never heard of anyone who actually uses this output, and it frees up quite a bit of board space.
The analogue video is now combined with the audio jack into an single AV port.
There are now four mounting holes, and they’re in a rectangle which makes them a little more useful. The USB ports no longer overhang the PCB by much (it’s now the same as the Ethernet), which should make it a little easier to make cases for the board, or fit it inside embedded devices. Perhaps the biggest of the little changes is the SD card switching from full size to micro. As well as being smaller, the new card holder feels more secure. While we’ve never came across a Pi with a broken SD card slot, the old ones never felt sturdy to us.
Despite their smaller size, microSD cards come in the same capacities as full size ones (and usually for about the same prices). Other than the size, there’s no difference between them. In fact, in our testing, we used exactly the same micro SD card in the Model B as the B+, we just put it in an adaptor when using it with the B. As long as you have the latest version of Raspbian (version 1.3.9 or higher), everything should work.
The only issue we had with the new card holder is that it is now a click in – click out style. The first time we picked up our Model B+ while it was running, we placed one finger on the SD card and another on the opposite side of the Pi (we got used to picking our old Pi up in this way). Instead of securing the SD card in place like this did on the Model B, this pushed in the microSD and clicked it, and as soon as we put it down, the card popped out. This isn’t a huge problem, just something to be aware of.
The board also gets a few aesthetic improvements. It now has rounded corners, and more importantly, most of the connectors are now marked. The camera and (as yet unused) display connector are labelled. It’s a minor improvement that will make it a little easier for newcomers.
We were able to run our test Pi in the turbo overclocking setting without problems. This is something we haven’t had much luck with on Model B’s in the past (although we have heard of plenty of people whose Pis have performed well at this setting). We’ve only been sent one B+ to test, so we obviously can’t extrapolate and say that the B+ performs better in this regard. If they do, it’ll be a welcome performance improvement for many people.
We asked Eben Upton what he thought the best feature of the B+ was. He said “A lot of equal weight small changes that add up to a big one […] The extra USB and GPIO are the big win.” We respectfully disagree. While these are important, the new regulator is the most important feature for us. To be able to handle lots more input and output means this is a significantly more useful computer, and will be especially important for new users who may not have a great power supply or a powered USB hub.
For any aspiring computer designers out there, this is a real lesson in the fact that computer performance is about more than just CPU, memory and storage. The manner in which you connect them has a huge influence on the final product.
This model comes out almost two and a half years after the first Pi, yet it still uses the same CPU and memory. This obviously begs the question, will we be seeing an updated CPU and memory Pi? We put this to Eben Upton. He replied “Yes in the future – obviously – but not immediately. This is the final revision of the Pi One. It clears the decks for a notional Pi two in the future.” He also confirmed that they are looking at an improved version of the model A, but said that they hadn’t fully decided what form it would take.
If you’re set up with a model B and everything works fine for you, then there’s really no need to upgrade, unless you are particularly interested in audio or lowering your power consumption. However, if you’re getting a new Pi, the B+ really is a much better computer. Model B’s will continue to be available, but these are really only useful for people who have designed hardware that won’t fit with the new Pi.