The latest version of the Raspberry Pi single board computer has a new feature that allows it to use expansion cards more intelligently. The new boards are called HATs, Hardware Attached on Top, and they might just revolutionize things you can do with a Pi.
If you are planning to use the Pi for any sort of physical computing you generally need to set up extra hardware in the form of an expansion card. Usually this is easy from the point of view of the hardware - you just plug it in. The software is often more difficult requiring drivers to be installed and often configured. This extra step is something that can be off-putting for beginners and it can waste time even if you know roughly what you are doing.
The problem is that the original model A and B Raspberry Pi's don't really have a facility for expansion boards, they simply have a 26-pin ribbon cable connector to the GPIO. Over time different companies have built expansion boards that plug directly into the connector and sit on top of the Pi, making an electronic sandwich.
When the model B+ was announced the biggest change was the addition of a few extra pins to make the GPIO connector a 40-pin PCB header. The new connector is backwards compatible in that the first 26 pins are identical to those on the model A and B. In addition two new pins - ID_SC and ID_SD are provided to allow the connection of a serial EPROM. This allows the board to be identified and the Pi can load the drivers needed for it. In other words. as long as the manufacturer designed the expansion board correctly. it can be completely autoconfiguring.
The Raspberry Pi Foundation has issued the specifications that boards should follow to be compatible with the new facilities. As already mentioned, such boards are called HATs, Hardware Attached on Top, which is a fairly contrived name. To be called a HAT the board has support the two new pins and have an EEPROM for ID, including information on the vendor, GPIO map and device tree. It also has to play nicely with the Pi's power supply and conform to the mechanical specification. The GPIO connector has to space the HAT at 10 to 12 mm away from the Pi's PCB and it is possible to use a surface mount connector that can reproduce the GPIO pins so that other HATs can be stacked - presumably a HAT stack.
HATs only have to meet the minimum standard and there is plenty of scope for innovation and adding new features.
So what about the model A and all the existing model Bs?
Given that the connectors are backward compatible it should be possible to create HATs that work with the model A and B but, of course, without the ability to self configure.
The layout for Adafruit's HAT servo board
As you might expect, first off the start line is Adafruit with the cleverly named - HatADay. So far the designs are prototypes but there is already a 2.2" TFT display, GPS, Servo and Arcade Pi Hat to look at and more promised. There is also a prototyping board that you can use with your own ID EEPROM to create custom HATs.
The idea that you can just buy a GPS, display and so on and simply plug-and-play to create a HATstack really does take the Pi into new territory and significantly simplifies the task of getting started with otherwise complex hardware.
SourceForge used to occupy the space in developers' hearts that is now mostly occupied by GitHub. It was somewhere you could host an open source project and allow users to download finished binaries. [ ... ]