Capacitive sensing libraries for the Arduino and just about every other microcontroller platform have been around for ages now, but if you’d like to put a slightly complex cap sense pad in a PCB without a lot of work, you’re kind of out of luck. Not only do you need a proper education in how capacitors work, but a custom cap sense pad also requires some advanced knowledge of your preferred PCB layout program.
The folks over at PatternAgents have just the solution for this problem. They created an Eagle library of touch widgets that includes everything from buttons, linear and radial sliders, touchpads, and a whole lot more.
The simplest cap sense pad is just a filled polygon on the top layer of a board, but this simple setup isn’t ideal if you want to use Eagle’s autorouter. By playing with the restrict layers in Eagle, PatternAgents were able to create easy cap sense buttons that will work perfectly, without the problems of the autorouter placing traces willy-nilly.
There are more than enough parts to replicate a whole lot of touch interfaces – buttons can easily be made into a smallish keyboard, and the radial touch sensor will emulate the ‘wheel’ interface on an iPod. Very cool stuff, and we can’t wait to see these in a few more boards.
18 thoughts on “Easy Capacitive Touch Sensors In Eagle”
I can’t touch this… sorry for the pun. It was there I had to take it… lol
You made my day!
dum di di dum dum di di dum dum di dum…
Bookmarked, will come handy someday for sure!
Any Arduino LIB or example how to use this?
“Not only do you need a proper education in how capacitors work”
Dear god no! Don’t learn anything while doing electronics! Just make it go!
Caps are actually pretty damn simplistic
Laying them out of a PCB is a bit more involved if you want a certain vaule, but seeing how this is being offered without accounting for the variables that come into play for differing PCB parameters, you could probably fake it and get something good enough to work.
But why bother now!? Theres an app for that!
The EAGLE Autorouter?!? Man that thing is a JOKE. Every time I used that thing it would put wires willy nilly everywhere, in patterns that didn’t make sense, and give up after about 75% routed. Granted these boards were pretty complex (professional work not small hobby projects) but I still ended up routing by hand for good clean looks.
Nifty that they were able to figure this out. I assume this is only for EAGLE 6+ right?
Yep. Just found the github repo and the folder is named Eagle6. Those of us that stayed on Eagle 5 are just out of luck or will need to recreate their work. The article is pretty step by step.
Uhm… what are the reasons to stay on 5? I didn’t notice any issue switching to 6.
Two possible reasons, applicability may vary:
1. You have a paid license for Eagle 5. (Licenses do not cover major version upgrades.)
2. You want to write files readable by Eagle 5.
#1: We have a paid license and dont want to buy again. We did a 5 user license for a small engineering team I am on. Couldn’t justify the cost after we began a migration over to Altium. Yes it seems strange that we can afford Altium but we got 1 license for the new Electronics Drafter and then we just use the old Eagle for support while we migrate things over.
Should have used Kicad. No vendor lock-in. No fees.
Eagle has parts libraries. For the lazy ones it is a good thing…
And the last time I looked at KiCad it was not made for humans :). Eagle’s UI was more convenient
I’d like to use KiCad, I really would. But I tried it once when I was migrating my FPGA design to a board layout that was bigger than the free version of Eagle support. I added the single 144-pin chip and after weeping at the redraw speed, shut it down and never loaded it up again.
I’m all for proposing viable alternatives, but “no fee” isn’t the only metric to consider by a long shot. “No vendor lock-in” isn’t much of an issue with most other software given that pretty much everything imports and exports different file formats.
TI now have symbol/footprint for some of their parts. You download the
.bxl and run Ultra librarian to export that to Eagle. KiCAD is not one
of the formats. http://webench.ti.com/cad/
Some of the board shops also have their specific DRC file for Eagle.
This means even as a newbie, you know your routed board are within their
Also this (Sept 2012)
The libraries are in Eagle 6 XML format, so you are out of luck. I tried
to stay with Eagle 5, but gave up after seeing V6 libraries that I
needed. The tutorial is more useful to me than the library.
I would rather stick with a version that is stable enough than to chase
the latest version. For me it is 6.3.0 as the update (6.3.1?) doesn’t
Google for SLAA363A (TI App report). It has lots of the useful background information
that as applicable for other chips too.
Any arduino lib for this? For normal you need to connect a resistor to get this working
To answer a few of the questions :
Yes, there is an Arduino Sketch Lib at http://playground.arduino.cc//Main/CapacitiveSensor?from=Main.CapSense
We are also working other examples.
We needed to move to Eagle6 for other reasons (we use the XML for other things),
but if we get enough requests, we will consider other versions/tools (V5 /KiCad/Altium)
Other folks tell us KiCad has made big inprovements, so we may take another look.
We use many of the different layout packages, everyone seems to have their favorite though…
The tutorial and how-to are up now, so please comment (or tweet/follow -us) if
you have other questions or if something is not clear.
We’re about to add a bunch more patterns to the library, so follow us if you
want to know when it’s been updated.
And yes, you CAN touch this… (LOL…)
Please be kind and respectful to help make the comments section excellent. (Comment Policy)