Portable Device Tree Connector: Painless Expansion Board Support

A plethora of Open Source hardware boards have been released lately, like the Raspberry Pi, BeagleBone, Orange Pi, Minnowboard, C.H.I.P., many Arduino connector compatible ones, etc. All of them support expansion boards (even if naming them colorfully – Shields, Capes, Lures, etc.) which are used to interface to the real world. While some boards use the same connector (i.e. Arduino/Grove/BeagleBone), using it with a different base board than it was developed for is extremely difficult since the device tree configuration is base board specific. Pantelis Antoniou of Konsulko Group presents a portable method of supporting expansion boards, based on Device Tree overlays and minimal extension of the kernel’s DT core support, that allows us to re-use them in all compatible base boards without any changes.