Creating capacitive touch-sensitive buttons is easy these days; many microcontrollers have cap-sense hardware built-in. This will work for simple on/off control, but what if you want a linear, position-sensitive input, like you’d find on a computer touchpad or your smartphone screen? Not so easy — at least until now. Trill is a family of capacitive touch sensors you can add to your projects as a linear slider, a square touchpad, or by creating your own touch surface.
Trill was created by the same team that designed Bela, an embedded platform for low-latency interactive applications, especially with audio. The new trio of Trill sensors rely on capacitive sensing to track finger movement, and communicate over I2C with your microcontroller or development board of choice. The Trill I2C library targets Arduino and Bela, but should be easy to port to any I2C host.
The hardware and software are both open-source — or will be as the Kickstarter that launched this morning has already met its goal. The firmware for the Cypress CY8C20636A (PDF) controller that powers these sensors will be released CC-BY-NC-SA. But, starting with the controller itself sounds like a lot of work that Trill has already done for you, so let’s have a look at what we know so far, along with a healthy dose of speculation.
The Trill Bar is a 101×22 mm sensor that can detect up to five simultaneous touches on a single axis — it reports the long-axis position and size of each. Interestingly, the sensor can be cut with sturdy scissors down to a minimum 40 x 14 mm size, which sounds great for fitting it into various projects. The minimum size is presumably set by the footprint of the controller and associated components on the reverse side of the board.
We do know that each contains a microcontroller and “high-resolution analog hardware and custom firmware.” Cypress has a nice application note that explains their CapSense (R) technology (PDF) that these sensors are based on. The Trill Bar sensor consists of a number of zig-zag shaped traces, each connected to a single capacitive sensor input. When you touch the bar, the firmware measures the capacitive change on adjacent traces, and estimates each finger position from the capacitance distribution across the traces. The “size” of each touch is then estimated from the total capacitance change. There’s a lot of details, though, and the underlying hardware supports a number of different filters and tuning parameters. Getting these right may not be trivial — having this already figured out for you (and populated on a board) is the value in the Trill products.
While the linear sensor is interesting, we’re more curious about the Trill Square, a 69 x 69 mm square 2-axis sensor. This version only senses a single finger touch, but does include size sensing. It can be cut down to 33 x 16 mm — again, this constraint is likely due to the size of the circuit on the back.
There are a number of diamond-shaped pads on the active side, and an array of 15 x 15 vias are visible. From what I can glean with a quick look at the Cypress documentation, the capacitive sensing inputs are used in a matrix mode here with linear sliders for the two axes interleaved. The hardware’s slider processing is in use once again, implemented as two sliders overlaid at ninety degrees to one another. It’s really nice to offload this sensing to hardware, we can imagine all sorts of interesting interfaces you could build with this thing.
Rounding out the new sensors is the Trill Craft, which forgoes the built-in sensing pads so you can add your own. The 45 x 22 mm board has 30 channels of capacitive sensing that can be connected to anything conductive to create your own sensor. As an example, the Kickstarter page shows a musical instrument where the sensors appear to be sections of brass tubing.
The sensing resolution for the Bar and Square sensors is claimed to be less than 0.1 mm, although there are no specifications on accuracy or precision. For the intended use, however, it probably doesn’t matter — finger placement isn’t terribly accurate or precise anyway, and you typically adjust your fingers in real-time when using an interface like this. The reading latency for all of the sensors is a snappy 5 ms.
One of the videos on the Trill page shows an array of four of the Trill Squares being used to create a larger interface, with a thin vinyl sheet applied over the top. This looks like it could open up some interesting possibilities. The sensors start at £14 ( $17.50) for a single unit of any of the three models.
I would love to get my hands on some of these things to try them out, but it appears like I’ll have to wait like everyone else. If you have an interesting use in mind for sensors like these, or more insight on how they might work, sound off in the comments below.