Mikrobus
mikroBUS is a standard specification by MikroElektronika that can be freely used by anyone following the guidelines. It includes SPI, I2C, UART, PWM, ADC, reset, interrupt, and power (3.3V and 5V) connections to common embedded peripherals.
This page is meant to foster discussion within the embedded Linux community on usage of mikroBUS compatible add-on boards, adding mikroBUS sockets to embedded Linux systems, and ways to improve both Linux support for mikroBUS and the mikroBUS standard.
Contents
Usage of mikroBUS compatible add-on boards today
Device tree overlays loaded at boot time
Instructions for PocketBeagle: https://github.com/beagleboard/pocketbeagle/wiki/Click-boards%E2%84%A2
Example overlay: https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/PB-I2C2-MPU-9DOF-CLICK.dts
Using Greybus simulator to enable software hotplug support
Implementation of a mikroBUS socket on an embedded Linux system
Improving Linux support for mikroBUS
Motivation for supporting software hotplug
Creation of a mikroBUS bus driver in the Linux kernel
Improving the mikroBUS standard for better Linux support
Identifier
Specifics on power function
The direction and accommodations related to the power pins aren't as specific in the mikroBus standard as with Feather.
Comparisons to other popular embedded add-on form-factors
The purpose of this page is to advance the development of mikroBUS support in Linux. Some distractions may be introduced to either illustrate the effort cannot be sufficiently limited in scope to tackle or that focus should be elsewhere. I'm not assuming these would be introduced with any ill-will, they are just natural concerns that need to be addressed up-front.
Form-factor | Size | Comments |
---|---|---|
mikroBUS | XxY | Example |
Feather/Wing | 0.9" x 2.0" | De-facto standard based on implementation pin-out. Could benefit from some of the efforts for mikroBUS support, but not as cleanly defined with a limited and focused scope. Not as easy to make an impact on the majority of existing designs. |
Arduino/Shield | XxY | Too irregular to make useful as an embedded system bus. |
BeagleBone/Cape | XxY | Far to flexible for a standard outside of the Beagle ecosystem. |