The article here is all about the exploration and a walk through of the recently observed clickboard support in Atmel START. Earlier, MPLAB Code Configurator started supporting clicks thereby providing plug and play feature to the embedded enthusiasts. The clickboards are originally developed and marketed by Mikroelectronika. There are about 250+ mikroBUS add-on boards supported by Mikroelektronika that supports most of the sensors and transceivers. MPLAB Code Configurator (MCC) and START so far supports around 70+ and 53 clicks respectively. Both in START and MCC the clicks are categorized as Sensors, Human machine interface, Mixed-signal, Interface, Wireless Connectivity, Audio and noise, Storage (Please refer to the attachment where I have listed out the currently supported clicks). The foundation services plays a vital role as the driver for these middlewares. The foundation services are nothing but the communication protocols such as USART, I2C, SPI and ADC that drives the supported clicks.
I would like to share some walk-through experience on the quick-start middleware libraries for mikroelektronika clickboards into the web-based START configuration facility. I believe the following steps will help the embedded enthusiasts to incorporate sensing, control or communication functionality to their own prototype design.
- Visit start.atmel.com
- Tap on “Create New Project”, you will observe that the clicks are supported only for AVR devices.
- On the left pane, under ‘Filters’ section, you will find a text box. To enhance ease of search, just provide ‘click’ that will list out the available clicks present under the Middleware section.
- On selecting the required click, the supported AVR devices will be listed out.
- Select a device of your choice and hit “Create New Project” that will take you to the GUI part.
- On GUI, you will observe that the middleware i.e. the selected click will appear in between “My Project” and the driver layer.
- NOTE : The middleware can be selected either by step 3 or by hitting “Add Software Component” where you can select the required clicks.
- On selecting the required click, the corresponding driver will be added by-default.
- Check out for the Basic configurations and the pin dependencies for both middleware and driver layer.
- If you observe an exclamatory symbol i.e. a warning indicator either on the middleware part or the driver part, then it is an alert to fix the pin dependencies to the valid pad. The code generation without fixing the warning will throw an error.
- The basic configurations and the pin dependencies for both the clicks and the corresponding driver are set by default and as a user we just have the responsibility just to verify the same.
- In GUI, while adding most of the clicks you will observe that there is a driver dependency of “Add USART Async” encircled in dotted lines, its nothing but the optional addition for debugging purpose. If the user wishes to view the output on data visualizer, he/she can enable the dependency by just tapping on the dotted lines.
- In case of interrupt mode, enable the global interrupt from CPU driver dependency for Mega devices, from CPUINT for Tiny devices and from PMIC for Xmega devices.
- On hitting the “View Code”, the code gets generated and you can observe the default settings of middleware and driver being reflected as part of source and header files.
- As part of GUI, one can observe the user-guide present for the middlewares and drivers, the user guide of middleware provides us with the short yet effective details of the particular clickboard, its key features, associated documents with the hyperlinks, supported evaluation kits and the associated pin mappings of the mikroBUS adapter (with click attached) with ATTiny817 Xplained Pro and ATMega324PB Xplained Pro, Interface settings required for the corresponding click, short description of the example that comes as part of the code generation and finally the procedures to run the example.
- Once the code gets generated, now its time to export the project to relevant IDE. My recommendation for the IDE would be Atmel Studio.
- Once you export the project, you will have the project in form of .atzip.
- Open Atmel Studio and import the downloaded project.
- In main.c, include the header macro of the application example i.e. #include <click_example.h> and call the associated <click>_Example() from while(1) loop.
- Here comes the final step, nothing but building and flashing the associated .hex to the evaluation board.
- Finally, Start debugging the project and verify the output of the example using data visualizer present as part of the Atmel studio IDE or using any of the reliable serial terminals.
Following are some of the useful links that showcases few applications using the clicks:
So guys I strongly recommend the readers to explore Atmel START and MCC by adding the available clicks in order to bring out some out-of-box applications.