Introduction
Last year, I backed a project on kickstarter by a company called Bare Conductive: the Touch Board. The Touch Board is an Arduino compatible board, based off the Arduino Leonardo, which adds new features such as:
- capacitive touch chip
- MP3 Player
- LiPo battery charger
- stereo output
- microSD slot
- ON/OFF switch
The Touch Board can also be set up as a MIDI device.
In The Box
In the box of the kickstarter reward (£45, early bird £40), there was:
- a Touch Board with 2GB microSD card
- a quick start guide
- a thank you note
- an electric paint pen (10ml)
- an electric paint jar (50ml)
- stencils for various shapes and lines
Optionally, a LiPo battery and/or microUSB cable could be added for respectively £5 and £2, making the kit even more complete.
Setting Up
The Bare Conductive website contains a lot of tutorials and projects using the Touch Board and/or electric paint. One of the tutorials is about setting up the Touch Board, starting with the Arduino IDE. The setting up tutorial can be found here.
Preconfigured
The Touch Board comes pre-installed with an audio guide that can be accessed by touching the electrodes on the board. Here's a video of the audio guide:
Arduino IDE
The Touch Board requires the Arduino IDE version 1.5.6 or later. This can be downloaded directly from the Arduino website. Once the correct version of the IDE is installed, a hardware plugin and some libraries need to be installed in order to be able to work with the Touch Board.
Hardware
The hardware plugin ensures that the Arduino IDE is able to recognise and program the Touch Board. It can be downloaded from Bare Conductive's GitHub page and needs to be put in the Arduino IDE's hardware folder. It is possible to verify the hardware plugin has been correctly installed by starting the Arduino IDE and confirming it is available in the list of boards.
Note: There's even a "Thank you backers" file in the repository in which I found my name. Awesome!
Libraries
A total of three libraries need to be installed/updated:
- MPR121: capacitive touch chip
- SFEMP3Shield: MP3 chip
- SdFat: microSD card
The MP3 chip and microSD card libraries are bundled together in a single zip file. Once the libraries are installed by extracting them in the Arduino IDE's libraries folder, the programming environment is ready.
Code
The code for the pre-installed audio guide is available for download. Once opened in the Arduino IDE, it can be used to understand how the application works and how the board could be reprogrammed for other purposes. Because the Touch Board is recognised by the Arduino IDE, the serial monitor can be used for troubleshooting purposes. In the case of the pre-installed application, it shows which electrode has been touched and which audio track has been played.
Electrodes
Anything conductive can be used as an electrode for the Touch Board.
This could be a nail, aluminium foil, electric paint or even a piece fruit. When something new is attached to an electrode to be used as a button, the Touch Board needs to be reset. This is to ensure the Touch Board uses the new input value of the electrode as a baseline, in order to properly detect contact or proximity. The audio guide which is programmed by default, requires the electrodes to be touched in order to play the audio file. This behaviour can be modified by loading the proximity sketch found in the "Making Distance Sensors" tutorial.
The difference with the audio guide program is the following:
// this is the touch threshold - setting it low makes it more like a proximity trigger // default value is 40 for touch MPR121.setTouchThreshold(8); // this is the release threshold - must ALWAYS be smaller than the touch threshold // default value is 20 for touch MPR121.setReleaseThreshold(4);
This changes the thresholds for all electrodes. If this is only required for specific electrodes, this can be specified as well:
// configure touch threshold for electrode 0 MPR121.setTouchThreshold(0, 8); // configure release threshold for electrode 5 MPR121.setReleaseThreshold(5, 4);
I've been experimenting with materials such as copper tape, aluminium foil and electric paint. Alligator clips can be used to connect the sensors to the Touch Board. Alternatively, the connection could be made by applying electric paint to the electrode, this method is called "cold soldering".
MP3
Changing the sound effects is as easy as replacing the mp3 files on the microSD card with new ones. The files are named "TRACK000" to "TRACK011" with extension ".mp3". "TRACK000" is linked to electrode "E0", "TRACK001" to electrode "E1", and so on. There is enough space on the microSD card to keep different folders with different sound effects, and swap the files depending on the project. Careful though, there are also other non-mp3 files on the microSD card required by the Touch Board. Removing those files could affect the functionality of the board. More information on replacing the audio files can be found on the Bare Conductive website, in a dedicated tutorial.
Project
I'm currently working on a project in which I'll be using the Touch Board to integrate capacitive touch controls into the surface of a desk, triggering certain actions with accompanying sound effects. A first test is demonstrated in the video below, in which hidden controls are triggered by hovering a hand over a piece of cardboard.
Conclusion
The Touch Board is great and easy to use. The amount of content available surrounding this board is phenomenal!
The fact that the board is 100% Arduino compatible makes things so much easier as well.
The price is a bit on the high side to my opinion, but I'm glad I backed the project and have this board as part of my development kits.
Finally, the list of backers in every Touch Board related download is a very nice touch (no pun intended) to show appreciation towards the kickstarter backers.