Home

Awesome

picoslidertoy

<a href="https://www.tindie.com/products/todbot/picoslidertoy-capsense-controller-for-pico/"> <img src="./docs/picoslidertoy_photo1.jpg" width="400"><img src="./docs/picoslidertoy_photo2.jpg" width="400"></a> <a href="https://www.tindie.com/products/todbot/picoslidertoy-capsense-controller-for-pico/"><img src="https://d2ss6ovg47m0r5.cloudfront.net/badges/tindie-smalls.png" alt="I sell on Tindie" width="100" height="27"></a>

Table of contents

What is it?

picoslidertoy is a touch-sensitive control surface that uses 24 GPIO pins of the Raspberry Pi Pico to provide:

It also includes a cutout for a reverse-mounted SSD1306 I2C OLED display. The Raspberry Pi Pico SMD mounts to the back of the board to provide a clean look for the touch surface. The entire PCB is 165 mm x 76 mm (6.5" x 3.0").

The picoslidertoy can be a USB MIDI control surface, a USB Macropad keyboard with "analog" controls, or even a USB gamepad. It can be programmed in CircuitPython and touchio or Arduino with my TouchyTouch library. Several example firmware apps are provided.

Variants

There are two versions of the picoslidertoy available:

There is also a nice minimal 3d-printable enclosure available in the github repo (and visible in the photos above). You really want a case for capacitive touch projects like this to reduce spurious readings.

Parts needed

In addition to the picoslidertoy PCB, you will need:

Soldering components

Firmware installation / Installing apps

CircuitPython apps

These are the apps currently available

If you've never used a Pico or CircuitPython, there are several ways to put code on it. The two main ways I'll present here are:

Ready-to-go UF2 file

Steps to install a UF2 file:

In general, I'll try to make UF2 files available in the Releases section for the different apps.

Installing by hand

Steps to install by hand:

Why?

I wanted a way to experiment with linear and rotary touch sliders. I made some touchwheels to give away for Hackaday Supercon 2023 and they were popular. I wanted a larger playground for experimenting with these controls.

What makes it special?

The 24 capacitive touch sensors are read directly by the Pico, either via CircuitPython's touchio library or the TouchyTouch Arduino library. No external touch chip needed. I think that's really cool! Getting an "analog" value out of the three touch sensors that make up a linear or rotary touch slider is fairly simple but there are some tricks I'm developing to make the values stable.

picoslidertoy is also completely open source with schematic files in KiCad and software in CircuitPython and Arduino.

Press links

<img src="./docs/picoslidertoy_render2.jpg" width="400">