Thursday, August 30, 2018

MikroElektronika mikroBUS™ and Click Boards™


If you have been involved for a while in embedded electronics designs, you probably faced the same challenges about how to validate a design using a particular part or parts. Is the wiring correct? Is this piece of code/firmware driver correct?

It will turn as a costly mistake to commit a design to a prototype production run to later find that you missed or made a wrong connection or that the software does not work at all for that part.

Then as part as the development process you should perform some validation. In some cases simulation helps but it may turn to be very complex and time consuming, and after all is just that a simulation, not the real thing.

For ages we have been “air wiring,” using adapters, or other means to extend the features of a particular development or evaluation board, it became very common on FPGA based designs and later with the advent of many low cost boards such as Arduino, Raspberry Pi, BeagleBone, Tinsy, and many more, it became more easy, but still we had to figure how to add some extra support components required for each part, power, etc.

One of the vendors that started putting together an easy way to deal with this on FPGA designs was Digilent, also when using their development boards for education, the came out with the PMOD™ or Peripheral Module that was basically a set of plug-in boards following a proprietary standard specification.
Image Courtesy of Digilent, Inc.

Each of the different PMODs have a specific function and included all the necessary components to implement that function as an extension of an existing development board. There are some guidelines on the “standard” about size but the most important part is the pinouts for three different type of boards using 1x4, 1x6, 2x6 standard .1” headers.

You can check the details of the PMOD™ standard here.

Other vendors came with similar solution, Microchip Technology at first created the PICTail and later the PICTail+ boards, Seeedstudio with their Grove, and among them MikroElektronika with their mikroBUS™ and Click Boards™.

The mikroBUS™ was introduced by MikroElektronika as a way to create standard add-on boards to their own development boards, initial add-on boards were very simple like a set of slide switches, a pot, couple of LEDs, they made the standard public and later in 2015 refined and republished as v2.0 covering all aspects for implementing the mikroBUS™ “socket” & interface on development boards, and creating the add-on boards that for their products baptized as the “Click Board.”

Image Courtesy of MikroElektronika.

Both mikroBUS™ and Click Board™ are Trademarks of MikroElektronika. 

Pi3 Click Shield by MikroElektronika

Now take in account the add-on mikroBUS™ compatible or Click Boards™ are not intended to be something like and Arduino Shield, Raspberry Hat, BeagleBone cape, etc., these are very simple boards with a very specific function.

But don’t worry, do you want to use Click Boards™ with a Raspberry Pi without having to use wires and a prototype board? There are already several Pi Hats with mikroBUS™ sockets, including one from MikroElektronika.

So then, what is covered by the “standard”?


First, the mikroBUS™ pinout, where the hardware interface is via a pair of 1 row 8 position common .1” pitch female headers. Signals on the headers are assigned always to the same pin and are defined in three groups of communication interfaces (SPI, UART and I2C,) six extra I/O pins some of them with the option to have a specific function, (PWM, Interrupt capable, Analog Input, Reset and Chip Select) and two power groups for +5V, +3.3V and GND.


While it may feel that the number of pins and functions are limited, most of the common devices you will find on add-on boards are covered by them. There are over to 500Click Boards™ and every day “compatible” boards are starting to pop-up in the market.
Several other vendors started to adopt the standard, such as Microchip Technologies, you will find that many of the new evaluation and development boards, even the simpler ones, include now one or more mikroBUS™ sockets.

Second, if you want to produce your add-on board, be aware that the Click board™ is a trademark of mikroElektronika so you are not allowed to call your board “Click” but to claim compatibility there are some guidelines you must follow regarding board size, silk-screen markings, etc. Many of these guidelines are not strictly mandatory but highly recommended to preserve the overall design, and obviously you must give credit to MikroElektronika and must place the mikroBUS™ logo on the board silkscreen.



The full mikroBUS™ specification is available here.

Third, placement recommendations of the mikroBUS™ socket on the main development board. While the standard does not dictate how pcb layout of the main board has to be done, there are some recommendations that will help your board use the vast collection of Click Boards™ and mikroBUS™ compatible boards available in the market today.
  
You can order Click Boards™ directly from MikroElektronika or from various electronics distributors like Arrow Electronics.

An added benefit using MikroElektronika Click Boards™ is that MikroElektronika also provides sample code and companies like Microchip Technology included support code on their development tools like MPLAB Code Configuration (MCC) or Atmel Studio Start.

I’ll be publishing soon some projects showing how to build basic demo programs for Click Boards™ using Microchip’s MCC.

Meanwhile, Happy Hacking !

Cheers
Jorge