CANxtra Capacitive Keypad

I have designed a keypad for the CANxtra.

It’s based on the MPR121 by Freescale.

It give you one key matrix of 4 by 4 keys totaling 16 buttons and four seperate buttons that isn’t multiplexed. One button can be pressed on the matrix at any one time, plus any number of the non multiplexed buttons. Thus the non multipleded buttons can be used at Shift/Alt/Ctrl buttons to modify the functions of the matrix buttons.

I made the PCB from two layers of 0.1mm FR4 laminate, that I glued together with high temp gasket silicone, and I used silver containing lacquer to “plate” the 6 through holes…

Is anybody interested? Where should I port the Eagle files?

Awesome man, good work!

looks great

Wow! Very interesting. I would love to see a tutorial in more details. Wiki?

That does indeed look awesome…more details please :smiley:

Will try to add a wiki page tomorrow. Bed time now… :slight_smile:

Some photos in the mean time.

The case does need some TLC from a dremil to make room for the parts on the bottom of the PCB.

And the bottom of the PCB.

Excuse all the silver paint. I had an exposure problem as I don’t have a vacuum table. This created tracks that was too thin and gave etching problems, so I touched the tracks up with silver varnish.

This plugs into the keypad port of the CANxtra and uses the new SoftwareI2C driver to talk to the MPR121.

Close up of the parts…

Very impressive! Thank you.

Very well done!

What’s the width of those traces?

Trace widths are 8mil. Might be able to make some of them wider, but as you can see, there isn’t much space… :slight_smile:

And the space between tracks must be maximized to minimize stray capacitance…

Edit: Updated PCB so that pull up resistors are on the PCB and not on the CANxtra. Now it is a clean plugging, no CANxtra PCB mods required… I have also widened most of the tracks to 10mil

Still adding, but:

Thanks for the wiki page. Where did you get FR4 and what did you use to print on it and etch?

I got the FR4 laminate from a small PCB fabricator/supplies shop. It is usually used when making 16 layer boards, so it is very common, I just don’t know how easy it will be to get hold of without contacts. Thicker will probably also work, it just will not recess into the case so nicely.

For manufacture I printed the board onto a transparency on a laser printer, sprayed the board with photo resist, let dry, exposed board through transparency with UV, developed board, etched. The normal light method.

BTW, I reuse the transparency, for economic reasons, by cleaning the printed image off it with acetone… :slight_smile:

That’s a great tip. I always used chalk paper for that, but I don’t think it would survive acetone…
I’ll try to use transparency in future.

How do you use(and what is) chalk paper for PCB exposure?

Sorry, bad translation from dutch :slight_smile:

Seems like the correct english term is “tracing paper”

Ahh, ok, makes more sense… :slight_smile:

Never though about using trace paper. Might work better as I have trouble getting narrow tracks to print on transparencies. It is as if they peal off during the printing, or doesn’t stick well. Doesn’t matter if it is a reused sheet or a new sheet.

I’m reusing them because I have trouble finding laser printer transparencies, and when I do then they are $50 to $100 for 50 sheets. And I’m down to my last 10, or so, sheets… :slight_smile:

i’m interested to hear if you could conceivably use a more standard thickness material like double sided 1.6mm board. That I could conceivably get in my local electronics shop (or use what I know I have :)) but something small and specialised like you used would be pretty much impossible to get in AU.