Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use SparkFun Capacitive Touch Slider - CAP1203 (Qwiic): Examples, Pinouts, and Specs

Image of SparkFun Capacitive Touch Slider - CAP1203 (Qwiic)Design with SparkFun Capacitive Touch Slider - CAP1203 (Qwiic) in Cirkit Designer

Introduction

The SparkFun Capacitive Touch Slider - CAP1203 (Qwiic) is an innovative breakout board featuring the CAP1203, a multiple channel capacitive touch sensor. This component offers a versatile touch interface with three individual touch pads that can also act as a single slider for swipe gestures, as well as three proximity sensors for non-contact detection. It is designed for seamless integration into interactive projects and can be used in applications such as touch interfaces, control panels, and lighting controls. The inclusion of Qwiic connectors simplifies the process of chaining devices and modules in a Qwiic-enabled ecosystem, allowing for rapid prototyping without soldering.

Explore Projects Built with SparkFun Capacitive Touch Slider - CAP1203 (Qwiic)

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Capacitive Touch and Ultrasonic Sensor Interface with Adafruit Feather nRF52840 Sense: A project utilizing SparkFun Capacitive Touch Slider - CAP1203 (Qwiic) in a practical application
Capacitive Touch and Ultrasonic Sensor Interface with Adafruit Feather nRF52840 Sense

This circuit features an Adafruit Feather nRF52840 Sense microcontroller connected to an ultrasonic sensor for distance measurement and an Adafruit AT42QT1010 capacitive touch sensor for touch input. The ultrasonic sensor's Trigger and Echo pins are interfaced with the microcontroller's digital pins D6 and D9, respectively, to send and receive ultrasonic signals. Additionally, a pressure-sensitive conductive sheet (Velostat) is connected in series with a 10k Ohm resistor to the microcontroller's analog pin A0, likely forming a pressure sensor.

Open Project in Cirkit Designer
Image of Arduino Nano-Based Wireless Input Controller with Joysticks and Sensors: A project utilizing SparkFun Capacitive Touch Slider - CAP1203 (Qwiic) in a practical application
Arduino Nano-Based Wireless Input Controller with Joysticks and Sensors

This is a multifunctional interactive device featuring dual-axis control via PS2 joysticks, visual feedback through an OLED display, and wireless communication using an NRF24L01 module. It includes a piezo buzzer for sound, tactile buttons for additional user input, rotary potentiometers for analog control, and an MPU-6050 for motion sensing. The Arduino Nano serves as the central processing unit, coordinating input and output functions, with capacitors for power stability.

Open Project in Cirkit Designer

Technical Specifications

Key Technical Details

Pin Configuration and Descriptions

Pin Name Description
GND Ground connection
VCC Power supply (2.7V - 5.5V)
SDA I2C Data Line
SCL I2C Clock Line
RST Reset pin (active low)
INT Interrupt output (active low)

Usage Instructions

Integration into a Circuit

  1. Powering the Device: Connect the VCC pin to a 2.7V - 5.5V power supply and the GND pin to the ground.
  2. I2C Communication: Connect the SDA and SCL pins to the corresponding I2C data and clock lines on your microcontroller or Qwiic system.
  3. Reset and Interrupts: The RST pin can be connected to a digital output on your microcontroller if you wish to manually reset the CAP1203. The INT pin can be connected to an interrupt-capable digital input to react to touch events.

Important Considerations and Best Practices

Example Code for Arduino UNO

#include <Wire.h>

// CAP1203 I2C address
#define CAP1203_ADDR 0x28

// CAP1203 Register Addresses
#define MAIN_CONTROL_REG 0x00
#define SENSOR_INPUT_STATUS_REG 0x03

void setup() {
  Wire.begin(); // Join I2C bus
  Serial.begin(9600); // Start serial communication at 9600 baud
}

void loop() {
  Wire.beginTransmission(CAP1203_ADDR);
  Wire.write(SENSOR_INPUT_STATUS_REG); // Point to the Sensor Input Status Register
  Wire.endTransmission(false);
  Wire.requestFrom(CAP1203_ADDR, 1); // Request 1 byte from the CAP1203
  
  if(Wire.available()) {
    byte status = Wire.read(); // Read touch status
    Serial.print("Touch Status: ");
    Serial.println(status, BIN); // Print the status in binary format
  }
  
  delay(100); // Wait for 100 ms
}

This example initializes the I2C communication and continuously polls the CAP1203 for touch status, which is then printed to the serial monitor in binary format.

Troubleshooting and FAQs

Common Issues

Solutions and Tips for Troubleshooting

FAQs

Q: Can I use the CAP1203 with a 3.3V system? A: Yes, the CAP1203 operates within a 2.7V - 5.5V range, making it compatible with both 3.3V and 5V systems.

Q: How do I change the I2C address of the CAP1203? A: The I2C address of the CAP1203 is fixed and cannot be changed.

Q: Can the CAP1203 detect touch through materials? A: Yes, the CAP1203 can detect touch through non-conductive materials like plastic or glass, depending on the thickness and the sensitivity settings.

Q: How do I use the proximity sensing feature? A: Proximity sensing can be enabled and configured through the CAP1203's registers. It uses the same touch pads to detect the presence of an object without direct contact.

Q: What is the purpose of the Qwiic connector? A: The Qwiic connector is a standard I2C connector that allows for easy daisy-chaining of I2C devices without the need for soldering, simplifying prototyping and design.