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).

Figure 3: Allocation of the 40 GPIO header pins on the reworked Rasp Pi  B+. (Picture: element14.com)

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.

Figure 4: The pi3g touch display kits are compatible with both Model B and Model B+.

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.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • New Raspberry Pi Adds Two USB Ports

    New B+ board lets you build cool things without the complication of a powered USB hub.

  • Rasp Pi Fox Trap

    As a countermeasure to predators of rare ground-breeding birds, live traps are monitored by a microcontroller and a Raspberry Pi.

  • Kitchen Timer

    A simple kitchen helper with two timers assists budding chefs in coping with dishes that are unlikely to be ready at the same time.

  • Decisions, Decisions

    When it comes to open hardware projects, the choice of an Arduino or a Raspberry Pi board can determine success or failure. Read on for guidance in selecting the best board for your specific needs.

  • Raspberry Pi 3 B+

    The new Raspberry Pi 3 B+ stands out from its predecessor in many respects. Our tests show what the new model can do.

comments powered by Disqus
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.

Learn More