Touch Potentiometer

Available at Sparkfun. A collaboration based on the original design with some additional features popular with Sparkfun customers.
Front and back of Sparkfun Touch Pot PCB
Touch Pot block diagram
The Touch Potentiometer is an intelligent linear capacitive touch sensor that implements potentiometer functionality with 256 positions. It can operate as a peripheral to a computer or embedded micro-controller or in a stand-alone capacity. The Touch Potentiometer provides both a dual-channel analog and PWM output for direct control of other circuitry. Configurable analog and PWM transfer functions support a wide variety of applications. A built-in low-dropout voltage regulator allows operation over a range of input voltages. Breadboard friendly connectors make it easy to play with.


  • Dual host interfaces: Logic-level serial and I2C™
  • Dual 8-bit 20 k-ohm 3-terminal digitally controlled variable resistor outputs
  • PWM output
  • 8 LED display with multiple display modes and intensity levels
  • Option for interpolated (soft) changes between touches
  • Configurable touch sensor parameters for a variety of PCB covers
  • Easily configurable I2C address to allow multiple devices on one bus
  • Configurable linear or non-linear PWM transfer function
  • Configurable linear or simulated logarithmic variable resistor transfer function
  • Variable resistor supports single- or dual-supply operation
  • Simple register interface with jabber option
  • Programmable power-on default operation
  • Built-in calibration procedure
  • User-accessible EEPROM data storage
  • Built-in 5V LDO voltage regulator
  • Through-hole and SMT connectors


  • Analog potentiometer replacement
  • Stereo channel audio level control
  • Computer peripheral
  • Embedded system control
  • Dimmer for LED lighting applications
  • DAC replacement


Touch pot dimensions
tputil software program

tputil program

User and programming manual.
Test and demonstration sketch for an Arduino Leonardo or clone that demonstrates how to interface to the Touch Potentiometer using both the serial and I2C interfaces. Also provides utility functions such as calibration and reset of EEPROM to factory default. This sketch can be run as an interface to a host computer program.
Demo sketch for an Arduino Leonardo or clone that demonstrates basic access routines as described in the user and programming manual.
"tputil" utility application for exploring and configuring the Touch Potentiometer using the serial interface connected to a computer via a USB interface. Click the link for more information and application downloads.

Touch Potentiometer Examples

Examples taken from the Sparkfun Hookup Guide written by my collaborator Joel_E_B. We had some interesting ground loop problems with the lighting rig...
Demo of Touch Pot with Pro Micro
A Sparkfun Pro Micro makes for an inexpensive and flexible USB interface. Here shown connected to both the serial and I2C interfaces and running "tp_test_sketch".
Demo of Touch Pot controlling LED lighting
As a LED Dimmer controlling a PicoBuck constant-current driver. The Touch Potentiometer replaces the micro and provides the PWM signal.
Demo of Touch Pot controlling volume of stereo amplifier