This project will demonstrate how to contribute to
support for MikroElektronika mikroBUS™interface standardized click boards™
by building, testing and adding device tree overlays to the
BeagleBoard.org® official overlay repository
For the story of the motivation for this project,
see Neeraj’s blog post
is a 501c3 Foundation focused on education.
is a completely open source, highly affordable super tiny single board computer featuring the
SiP. The OSD335x-SM SiP is a System-in-Package from
that integrates the Texas Instruments Sitara™ ARM® Cortex®-A8
processor, DDR3 memory,
LDO, all the needed passives, and
4KB of EEPROM
into a single BGA package.
BeagleBoard.org® PocketBeagle® Headers
The following figure shows the pin-out of the 2 headers of PocketBeagle®.
The default function of each pin is highlighted in dashed line. Click boards™ from MikroElektronika have a standardized MikroBUS™ pin-out (shown below).
BeagleBoard.org® PocketBeagle® (pictured below) headers conform to the MikroBUS™ standard and allows for two click boards™ to be interfaced with PocketBeagle® at a time(shown in the following figure). Although no guarantees are made with respect to compatibility, most click boards™ work with PocketBeagle® with a little bit of effort.
Device Tree Overlays
A device tree is a tree data structure that describes thehardware configuration of the system to the Linux operating system. During boot, the Linux kernel will use the information in the device tree to recognize, load appropriate drivers and manage the hardware devices in the system. Here is a good tutorial on understanding, compiling and building new device trees:
A major limitation facing device trees us the static nature of it, you cannot change the device tree structure without changing some very important files that are extremely important to device boot. The solution came in the form of Device Tree Overlays. These are dynamically inserted fragments of device trees to update hardware configuration of the system. Here is a great resource on understanding and building device tree overlays:
How to write an overlay for a click board™
Step 1: Compose overlay
- Follow this blog that explains how to compose a device tree overlay for a click board™ :
- Make sure to test the overlay
Step 2: Fork bb-overlays repository
Step 3: Add the compiled device tree overlay file
Step 4: Pull request
Step 5: Done with DTO submission
Be ready to answer questions from the maintainer and make changes
Add an entry for the click board™ in the relevant click section along with the information for the click boards™ on BeagleBoard.org® PocketBeagle® wiki page
and submit changes.
There are 100s of click boards™ available. Adding to the device tree overlay support for a click board™ you are using might be of great value to the open source community and a great way to give back.
Check out the example
project using the MikroElektronika OLED click board and the technique above