Among several versions of the low-cost, versatile, single board computer, the credit card sized Raspberry Pi or RBPi as it is commonly called, the latest is the Model B+. Along with many new features, the RBPi Model B+ is designed to make intelligent use of expansion cards. Keeping in view of the appendage called a “hat” that many people place on their heads, the RBPi too has expansion cards known as HATs. These are Hardware Attached on Top, and they work by sitting atop the single board computer.
In reality, the RBPi is a bare-bones computer, where only the most essential peripherals are present on-board. This not only helps to keep the prices down, but also allows the primary user to start work with the SBC without being unnecessarily distracted. The primary objective for the makers of the RBPi was to let school children learn about computer programming. The RBPi achieves this objective excellently by allowing the students to start with the bare minimum requirements. They progress by using different HATs to get additional functionality. The advantage is the RBPi behaves as the revolutionary fundamental building block on which widely differing concepts can be easily proven.
Any sort of physical computing with the RBPi generally necessitates setting up extra hardware. Instead of soldering the components directly to the GPIO pins, it is prudent to add the necessary hardware in the form of an expansion card or a HAT, which you simply plug in. To use the HAT, the user has to modify the software suitably, mainly by installing the required drivers and configuring them.
The original models of the RBPi, the A and B, are really not conducive for expansion boards. The 26-pin ribbon cable connector provided on-board offer only the GPIO pins. However, several companies have made expansion boards suitable for direct plug-in to the connector, and they sit on the RBPi, making an electronic sandwich.
With introduction of the RBPi Model B+, the most noticeable change was the transformation of the GPIO connector to a 40-pin PCB header. The first 26 pins of the new header have remained identical to those on the models A and B – maintaining backwards compatibility. That allows HATs developed for the older models to be also used on the RBPi Model B+. The Model B+ has two new pins, ID_SD and ID_SC to allow connecting a serial EEPROM. That allows proper identification of the HAT and RBPi can load the necessary drivers for it. Therefore, as long as the manufacturer designs the HAT or the expansion board correctly, RBPi can configure it automatically.
The Raspberry Pi Foundation has issued specifications that all boards should follow for compatibility with the new model. According to these specifications, an expansion board can be called a HAT only if the board supports the two new pins and has an EEPROM for identification. This identification must include information about the vendor, the GPIO map and the device tree. The board must also conform to the mechanical dimensions specified and not overload the power supply of the RBPi. However, HATs need only meet the minimum specifications, which leave plenty of scope for innovation and stacking.