The Beaglebone platform is a great platform for learning Windows Embedded Compact. The platform is based on the Texas Instruments AM335X A8 ARM processor and has fantastic expansion capabilities. In addition to the standard I2C, SPI and serial ports it also has the ability to host “cape’s” expansion boards. Capes are custom peripheral boards that “piggy back” on the Beaglebone or Beaglebone Black base board. Capes come in all sorts’ flavors containing peripherals such as cell modems, LCD displays, accelerometers, FPGA’s, WIFI, RF ID readers and cameras. Here is a listing of more capes.

The latest release of the community BSP now contains support for the LCD4 480x272 LCD display. This cape also has a resistive touch screen and 5 UI control buttons also supported in the BSP.

BeagleBone LCD4 CapeBeagleBone Black with LCD4

One unique feature of a properly designed cape is that it must contain a “personality” EEPROM. This EEPROM is programmed at the factory and contains information such as, a serial number, a model number, how many and what GPIO expansion pins it consumes, how much power it draws from the supply and more.

So why is this information valuable? What it does is it allows the boot loader to search for expansion boards early in the boot up process and report this information to the OS. As the OS comes up it can now “dynamically” configure drivers, adding or removing them based on available hardware. Now you have one OS build that will work across several permutations of hardware. Having an OS that is “run time” configurable instead of the traditional “build time” configurable has its advantages in some development circles. Sort of the “one image fits all” approach.

In the next few blogs I will show you how to attach I2C or SPI peripherals and control them from managed (C#) code.