MPR121 (I2C Touch Sensor) Arduino Library

As part of my Play Kitchen Retrofit project, I’m building a control panel for the oven using this I2C Touch Sensor module from SeeedStudio.  I couldn’t get the demo code to work (invalid ZIP, posted something to support about it, but am still waiting to hear back), but the interface looks pretty simple, and I’ve had experience with I2C before, so I thought I’d write my own interface abstraction library.

While checking to see if anyone else has already done this, I found the i2cdevlib project, by Jeff Rowberg.  He has written an I2C abstraction layer and library framework which looks pretty good, and had a placeholder for the MPR121 driver code.  I whipped up a partial implementation that sets up all channels as simple touch sensors and provides a way to poll the results, and submitted it, and he was kind enough to include it in the library.

It’s far from a complete driver implementation for this device, but it was enough to work for the 4-channel controls I had, and I hope it will be a good foundation for someone who needs more features to build upon (maybe me, in the future, who knows?).

When implementing it, I ran into some trouble trying to test pins 8-11, which are the other pins broken out to connectors on the Twig.  I’ve asked support about that, too, in case there’s a software workaround I can use, but since I don’t need those channels for this project, I’m not gonna sweat it too much.

Stay tuned for a module (for the same library) for controlling the OLED 128×64 display Twig!

Advertisements
This entry was posted in Play Kitchen Retrofit, Projects. Bookmark the permalink.

2 Responses to MPR121 (I2C Touch Sensor) Arduino Library

  1. Pingback: SSD1308 (128×64 OLED) I2C Arduino Library | blogsville

  2. Pingback: MPD Control Panel | blogsville

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s