Exploring the new Rasp Pi Model B+
Wider GPIO Port
The new GPIO port (the J8 header on the circuit board) now includes an additional 14 pins. The allocation of the first 26 pins is the same as the P1 header of the Model B. The additional 14 pins include two special pins, ID_SD and ID_SC, three more GND pins, and nine more GPIO pins (Figure 3).
This approach keeps most of the GPIO expansion boards electrically compatible with the Rasp Pi B+, except for audio expansions such as the Wolfson audio card [1] and the HiFiBerry [2], which used the now missing P5 header. Wolfson has already reacted by announcing a new board for the model B+.
Electrical compatibility alone is not enough. The boards also have to be a mechanical fit on the Rasp Pi B+. Because of the layout of GPIO headers, which have been moved a bit to the left, the additional pins, and the two additional USB ports, some extensions that were perfectly adapted to the Raspberry Pi can no longer be attached. We found the following add-on boards from various manufacturers to be mechanically compatible:
- RasClock (real-time clock)
- PiFace Rack (extension ports for the PiFace family)
- chipKIT Pi (Arduino-compatible microcontroller with PIC32 MCU)
- Explore-NFC (NFC board)
- Pi3g touch display module (via an additional pin cable)
Some of these boards protrude past the edge of the Raspberry Pi B+, so you need to be careful when choosing a housing. The following extensions proved in practice to be incompatible with the new Model B+:
- PiFace Control and Display cannot be plugged in completely
- PiFace Digital can only be plugged in with a gentle push; it also causes short circuits in the USB ports.
In general, when performing compatibility tests, before turning on the Rasp Pi, you should check whether components are sticking out on the Rasp Pi B+ that could cause a short circuit. If so, you should think about using electrical tape to insulate them.
Some shops, such as Adafruit [3], have now begun to offer special adapters so that old extension boards can still attach to the Raspberry Pi B+ (also see the "Ribbon Cable" box). Other shops, like pi3g [4], bundle 16GB microSD cards with pre-installed software that is compatible with the Model B+ out of the box, as well as a microSD to SD adaptor for compatibility with the Model B. Also, pi3g reacted to the introduction of the Model B+ with B/B+-compatible touch display kits (see Figure 4).
Ribbon Cable
If you are looking for a 40-pin flat ribbon cable for the new GPIO port, you might want to see if you have some old IDE/ATA cables lying around. The only thing you will have to watch out for is that pin*20 is not obstructed, as was often done to keep the drive cable from being connected the wrong way around.
New GPIO Pins
The additional eight pins located on the Model B P5 header do not exist on the Model B+. The nine new GPIO pins compensate for this loss. Only four of the P5 pins (P5-03 through P5-06) led to contacts on the BCM2835 chip (GPIO28-GPIO31). The rest served as ground or voltage sources. The most important alternative functions performed on those four pins was I2C and I2S functionality for chip-to-chip sound (as used by the Wolfson card or the HiFiBerry – PCM_CLK, PCM_FS, PCM_DIN, PCM_DOUT). Audio output stays the same for the Rasp Pi B+, but the following pins assume this task: GPIO18 (J8-12), GPIO19 (J8-35), GPIO20 (J8-38), and GPIO21 (J8-40).
The extra I2C bus (SDA0 on P5-03, SCL0 on P5-04) was lost in the update process. The alternative pins GPIO0 and GPIO1 now function as ID_SD (J8-27) and ID_SC (J8-28), which serve as a connection for I2C EEPROMs, following the example set by BeagleBone Black. In the future, expansion boards (HATs – Hardware Attached on Top) plugged into the Pi will be able to select their pin allocation automatically, and thus the alternative functions of the GPIO pins, and configure drivers during the boot process. This possibility is perfect for developers, and the Foundation recently published the HAT specification [5].
The new pins offer other interesting functions, such as an additional SPI (serial peripheral interface) bus with three chip select pins (SPI1). The chip selects SPI1_CE0_N and SPI1_CE1_N are already available via the Alt4 functionality on GPIO18 (P1-12/J8-12) and GPIO17 (P1-11/J8-11). The third chip select SPI1_CE2_N is found on GPIO16 (J8-36); SPI1_MISO is on GPIO19 (J8-35), SPI1_MOSI is on GPIO20 (J8-38), and SPI1_SCLK is on GPIO21 (J8-40).
PWM1 on GPIO19 (J8-35) serves as an additional hardware-based pulse-width-modulated pin without adding load to the ARM. As before, it is still possible to accomplish software-based pulse width modulation via all GPIO pins. Overall, all connection options and alternative pin functions of the BCM2835 are now exposed, with the exception of the third SPI bus (SPI_2) [6]. Many of the alternative functions are still designated as reserved. Who knows how these functions may be used down the road?
Attachments and Housing
The new Rasp Pi B+ no longer fits into the first generation housing, in part because the number of USB ports has been increased. Therefore, if you are going to switch over to the B+, you will need to have a new housing. Nowadays, various manufacturers already offer a housing that fits the Rasp Pi B+ for less than US$ 10. Users just starting out with the Rasp Pi can also find Model B+ sets that include a housing, power supply, and microSD memory card, as well as ribbon cables, breakout kits, and extension boards that uses the complete GPIO header.
You will have to adopt a wait and see approach with regard to add-ons. Manufacturers may pay attention in the future to whether their extensions are compatible with both Rasp Pi B models. Hybrid attachments are a possibility that would sit on ID_SD and ID_SC and then be used for initialization in the event that these pins exist. Otherwise the user could rely on manual configuration. There would be enough space for a jack to stick out next to the yellow video jack on the model B.
« Previous 1 2 3 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.