This project shows the driver implementation of an SPI capacitive touch sensor using the CAP1166 sensor with Silicon Labs Platform.
Cap Touch 2 click is a capacitive touch sensing Click board™ which features the CAP1166 chip, which is an advanced touch/proximity sensor IC. It packs a range of different touch/proximity functionalities allowing the development of robust and aesthetically pleasing touch interfaces. It can be used for desktop computer or notebook control, LCD/TFT monitors, various types of consumer electronics, home appliances, and other applications that can benefit of having a reliable and feature-rich touch activated user interface.
-
1x Silicon Labs BLE Explorer Kit based on the EFR32 SoC, such as:
or
1x Silicon Labs Wi-Fi Development Kit based on SiWG917, such as:
-
1x Cap Touch 2 Click board based on CAP1166
The Silicon Labs Explorer Kit boards feature a mikroBUS™ socket, allowing the Cap Touch 2 Click board to connect easily via the mikroBUS header. Ensure that the 45-degree corner of the Cap Touch 2 Click board aligns with the 45-degree white line on the Explorer Kit. The hardware connection is illustrated in the image below.
For the Silicon Labs boards that do not have a mikroBUS™ socket, consider using the Wire Jumpers.
The tables below provide an overview of the pin connections.
Silicon Labs BLE Explorer Kit:
| Description | BRD4314A | BRD4108A | BRD2703A | BRD2710A | ↔ | Cap Touch 2 Click |
|---|---|---|---|---|---|---|
| SPI CS PIN | PC3 | PC3 | PC0 | PC3 | ↔ | CS |
| SPI CLK PIN | PC2 | PC2 | PC1 | PC2 | ↔ | SCK |
| SPI RX PIN | PC1 | PC1 | PC2 | PC1 | ↔ | SDO |
| SPI TX PIN | PC0 | PC0 | PC3 | PC0 | ↔ | SDI |
| Alert/Interrupt | PB3 | PB3 | PB1 | PB3 | ↔ | ALT |
| Reset | PC6 | PC6 | PC8 | PC6 | ↔ | RST |
Silicon Labs Wi-Fi Development Kit:
| Description | BRD4338A + BRD4002A | BRD2605A | BRD2708A | ↔ | Cap Touch 2 Click |
|---|---|---|---|---|---|
| RTE_GSPI_MASTER_CLK_PIN | GPIO_25 [P25] | GPIO_25 [P3] | GPIO_25 | ↔ | SCK |
| RTE_GSPI_MASTER_MISO_PIN | GPIO_26 [P27] | GPIO_26 [P5] | GPIO_26 | ↔ | SDO |
| RTE_GSPI_MASTER_MOSI_PIN | GPIO_27 [P29] | GPIO_27 [P7] | GPIO_27 | ↔ | SDI |
| RTE_GSPI_MASTER_CS0_PIN | GPIO_28 [P31] | GPIO_28 [P9] | GPIO_28 | ↔ | CS |
| Alert/Interrupt | GPIO_46 [P24] | GPIO_10 [P23] | UULP_VBAT_GPIO_2 | ↔ | ALT |
| Reset | GPIO_47 [P26] | GPIO_11 [P22] | GPIO_30 | ↔ | RST |
You can either create a project based on an example project or start with an empty example project.
Important
- Make sure that the Third Party Hardware Drivers extension is installed as part of the SiSDK. If not, follow this documentation.
- Third Party Hardware Drivers extension must be enabled for the project to install the required components from this extension.
Tip
To show all components in the Third Party Hardware Drivers extension, the Evaluation quality must be enabled in the Software Component view.
-
From the Launcher Home, add your device to My Products, click on it, and click on the EXAMPLE PROJECTS & DEMOS tab. Find the example project filtering by cap1166.
-
Click Create button on the Third Party Hardware Drivers - CAP1166 - Cap Touch 2 Click (Mikroe) example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.
-
Build and flash this example to the board.
-
Create an "Empty C Project" for your board using Simplicity Studio v5. Use the default project settings.
-
Copy the file
app/example/mikroe_captouch2_cap1166/app.cinto the project root folder (overwriting existing file). -
Open the .slcp file. Select the SOFTWARE COMPONENTS tab and install the following components:
-
If the BLE Explorer Kit is used:
- [Services] → [Timers] → [Sleep Timer]
- [Services] → [IO Stream] → [IO Stream: EUSART] → default instance name: vcom
- [Application] → [Utility] → [Assert]
- [Application] → [Utility] → [log]
- [Platform] → [Driver] → [SPI] → [SPIDRV] → default instance name: mikroe
- [Third Party Hardware Drivers] → [Human Machine Interface] → [CAP1166 - Capacitive Touch 2 Click (Mikroe)]
-
If the Wi-Fi Development Kit is used:
- [Application] → [Utility] → [Assert]
- [WiSeConnect 3 SDK] → [Device] → [Si91x] → [MCU] → [Service] → [Sleep Timer for Si91x]
- [Third Party Hardware Drivers] → [Human Machine Interface] → [CAP1166 - Capacitive Touch 2 Click (Mikroe)]
-
-
Build and flash this example to the board.
The example checks touch detection (is interrupt occured) and shows a message on the logging screen on which input touch is detected or on which input touch is released. Also turns on LED on which linked input interrupt occured.
You can launch Console that's integrated into Simplicity Studio or use a third-party terminal tool like Tera Term to receive the data from the USB. A screenshot of the console output is shown in the figure below.
To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of third_party_hw_drivers_extension repo. Please reference the board, project, and source files associated with the bug, and reference line numbers. If you are proposing a fix, also include information on the proposed fix. Since these examples are provided as-is, there is no guarantee that these examples will be updated to fix these issues.
Questions and comments related to these examples should be made by creating a new "Issue" in the "Issues" section of third_party_hw_drivers_extension repo.