SAML Touch Click Board
SAML Touch Click Board
Overview
The SAML Touch Click Board™ is equipped with two capacitive touch pads and one capacitive slider. There are also LED indicators, which are used to indicate touch evens for each of the available touch components: two LEDs (one for each touchpad), and one six-segment bargraph, used to indicate touch position across the slider. The SAML Click Board™ is based on the ATSAML10 MCU, an ultra-low-power 32-bit ARM Cortex' MCU, equipped with the Peripheral Touch Controller (PTC), perfectly suited for realization of various types of touch applications with superior water tolerance, excellent noise immunity & responsiveness. Supported by cleverly designed firmware, it provides the complete touch controller on a Click Board™.
The SAML Click Board™ is a perfect example of how simple the implementation of the Q-Touch ® technology from Microchip can be. Besides the ATSAML10 MCU itself, the Click board™ contains a few additional hardware components. Thanks to the highly integrated PTC module supported by the Q-Touch ®, the development of complex touch applications becomes extremely simple and fast. Featuring many inherited benefits compared to mechanical buttons and sliders, this Click board™ can be used for the development of various HMI interfaces, touch-operated control panels, interfaces used in very harsh and humid environments, etc.
How Does The SAML Click Board™ Work?
The main component of the SAML Click Board™ is the ATSAML10, an ultra-low-power 32-bit ARM ® Cortex ® MicroController Unit (MCU) from Microchip. Among many other features, this MCU contains the enhanced Peripheral Touch Controller (PTC) module, making it a perfect solution for various capacitive touch-based applications that require superior noise immunity. One of the key features of the PTC module is its ability to reliably sense touch events, even when covered with water. SAML click demonstrates the overall hardware simplicity of one such application: capacitive pads are directly connected to the MCU pins, with no additional components required. Everything is already integrated within the PTC module of the ATSAML10 MCU itself, allowing very fast development. The only passive components on this click are the resistors that limit the current through the LEDs and accompanying filtering capacitors.
As mentioned before, the enhanced PTC module provides many benefits over similar solutions. The most distinctive is its parallel acquisition capability, allowing it to process all the inputs in parallel and simultaneous detection of multiple touch events. This increases the responsiveness of the touch interface, compared to traditional sequential acquisition circuits. It also provides better noise immunity and more robustness when used in harsh and humid environments. This allows the Click board™ to use an acrylic overlay, and still detects touch events with perfect accuracy.
Another feature of the enhanced PTC module is the Driven Shield Plus capability. This capability adds another layer of noise protection to the application. It allows touch sensors to work while exposed to moisture, sweat, rain, and even running water. Any of the capacitive touch channels can be used as a driven shield channel, offering IP-68 compliant protection.
A cleverly designed firmware is responsible for events detection, visual feedback over LED indicators, and for communication with the host MCU. The MCU firmware is written using Q-Touch® libraries from Microchip, which offer full support for PTC modules. The communication with the ATSAML10 is realized over the UART interface. A set of UART command strings are available for touch detection, as well as for the touch slider position. However, the Click board™ is supported by a mikroSDK compatible library, offering simple functions, saving the developer to write UART command parsers. These functions allow faster development and simplified software design.
The Click board™ is designed to work with 3.3V only. If interfacing with systems that use 5V for their operation, an appropriate level translating circuitry has to be used.
Specifications
Type | Capacitive |
Applications | Featuring many inherited benefits compared to mechanical buttons and sliders, this Click board™ can be used for the development of various HMI interfaces, touch-operated control panels, interfaces used in a very harsh and humid environment, etc. |
On-board modules | ATSAML10, a powerful, low-power, 32-bit ARM® Cortex® Micro Controller Unit (MCU) by Microchip. |
Key Features | ATSAML10 onboard, a powerful MCU with the Integrated PTC capacitive touch peripheral module, parallel acquisition greatly improves responsiveness, Driven Shield Plus feature offers immunity to using the Click board™ in humid conditions, clean and visually appealing indication of the touch over LEDs, two buttons plus one slider, etc. |
Interface | UART |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V |
Pinout diagram
This table shows how the pinout on the SAML Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | NC | ||
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | RX | 14 | TX | UART Transmit | |
NC | 4 | SCK | TX | 13 | RX | UART Receive | |
NC | 5 | MISO | SCL | 12 | NC | ||
NC | 6 | MOSI | SDA | 11 | NC | ||
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 - LD6 | - | - | Capacitive slide bargraph indicator |
LD7 | - | - | Touch button 1 LED indicator |
LD8 | - | - | Touch button 2 LED indicator |
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key functions:
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Examples description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional notes and information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key Functions
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Example Description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the SAML Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains the function which parses the response received by the module and checks the buttons and slider.
Key Functions
void samltouch_parser(char *dataIn, samltouch_state_T *state)
- The function parses the response it receives
Example Description
The application is composed of three sections :
- System Initialization - Initializes UART used for the communication with SAML Touch module and UART used for information logging.
- Application Initialization - Initializes driver init and timer init.
- Application Task - running in the parallel core state machine. Check that button 1 or button 2 or the active slider is pressed. If it detects that buttons 1 or 2 are pressed, it logs a button detection message. If it detects that the slider is active, it logs a message that the slider is active and its current position is 0-255.
void applicationTask() { // CORE STATE MACHINE samltouch_process(); if(timerCounter > 100) { if(SAML_Touch.button2 == 1) { mikrobus_logWrite( "Button 2 is pressed.", _LOG_LINE ); } else if(SAML_Touch.button1 == 1) { mikrobus_logWrite( "Button 1 is pressed.", _LOG_LINE ); } timerCounter = 0; } if(SAML_Touch.sw_state == 1) { mikrobus_logWrite( "Slider is active.", _LOG_LINE ); if(SAML_Touch.sw_pos != 0) { mikrobus_logWrite( "Slider position is ", _LOG_TEXT ); IntToStr(SAML_Touch.sw_pos, demoText); mikrobus_logWrite( demoText, _LOG_LINE ); } } }
Additional Functions :
All additional functions such as timer initialization and default handler.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
String
UART
Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
The SAML Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.