Touch Sensor Kit Gets Thumbs Up

DN Staff

April 5, 2011

4 Min Read
Touch Sensor Kit Gets Thumbs Up

Engineers who must investigate the use of touch or proximitysensors in a front-panel design will like this board and the free software from Silicon Labs. I enjoyed working withit and found it easy to use. The board provides four capacitive touch buttons,a capacitive proximity sensor and an infrared (IR) proximity sensor. The IRsensor detects a finger, for example, at about 10 cm, while the capacitiveproximity sensor detects an object at a shorter range. The pre-programmedsoftware worked well and provided a good demonstration of how these controlsoperate. An LED associated with each sensor indicates its state. Software alsomonitors sensor states. Silicon Labs provides excellent software tools.

In this kit, a C8051F800 microcontroller with capacitive-sensinginputs handles the capacitive devices and a Si1120 proximity/ambient-lightsensor chip controls an IR LED and detects the proximity of an object.


Silicon Labs' QuickSense software provides the key to using thesetypes of sensors successfully. You start by analyzing the performance of thesensors on the board. Then you configure hardware for either an 'F700 or an'F800 MCU and automatically generate configuration code, as well as aready-to-use project framework for a compiler. Silicon Labs provides anintegrated-development environment (IDE) that works with tools from Keil orRaisonance, or with the Small Device C Compiler (SDCC). I used the Keilcompiler already installed from a previous Silicon Labs evaluation.

A Performance Analysis tool presented a display on my PC thatplotted values from one or more sensor as time versus counts from the MCU'ssensor inputs. Five signals arise from the touch sensors and proximity sensor.A sixth signal comes from the IR proximity sensor. An image of a sensor boardon the PC display lets you choose sensors to monitor and it provides rawnumeric data for each sensor. You also can set thresholds for each sensor. TheQuickSense Front Panel User's Guide (UG) missed an important point, though: Ifyou want to see the upper and lower threshold percentage for a sensor, you mustfirst click on the numeric value forthe sensor on the image. It took me a while to figure this out. The thresholdsrepresent the points - as percent of full-scale values - at which softwaredetermined a change in sensor state. An engineer would use this type ofinformation when going from a prototype-sensor layout to the ConfigurationWizard that accepts parameters and provides working code for a design. Thegraph of sensor activity includes two heavy black traces that go unexplained.Silicon Labs has a revision of the manual underway that should clear up severalpoints and provide more information.

After I experimented with the threshold values and monitoredsensor activity, I printed the QuickSense Studio User's Guide that explainedhow to create a new software workspace file, select an MCU, configure the MCU'sI/O pins for the sensors and for a serial port (UART, SPI, or SMbus), andcreate the QuickSense firmware API files for a project. A section in the guideprovided detailed explanations of the several steps and programs involved.Unfortunately, it does not explain all of the options. But if you "mouseover" a parameter you get a short explanation on the screen. And whenapplicable, the information refers to an application note. I liked that featureand hope more development kit suppliers do something similar.

I didn't have my own prototype-sensor board and the SiLabsinformation doesn't include a step-by-step tutorial, so I worked my way throughthe steps by accepting most of the default values. At the end of the process, Icould view and export the new code in three files, QS_Config.c, QS_Config.h,and QS_ExtDeviceConfig.h. According to Alan Sy at Silicon Labs, "The codegenerated by the Configuration Wizard is best used as the base for your owncode development. So it's better to generate Config Wizard code, then importthe desired files from the EK board firmware to the Config Wizard code. Thedesired file to be copied from the kit-specific code to the newly generatedcode is QS_Events.c. This file is where the processing for the buttons takesplace."

To create your own code you must specify the compiler tool chainyou will use; Keil, Raisonance, or the Small Device C Compiler (SDCC). TheQuickSense Studio User's Guide explains how to open the project, either fromwithin the QS Studio or from within the Silicon Labs IDE. I used the Keil toolsto rebuild the original project code as supplied with the board. Unfortunately,the Keil tools have a code-size limit that printed an error message. Accordingto Sy, "There is another project in the same code directory namedS_QuickSenseFrontPanelSTB.wsp. This project is configured for the SDCCcompiler. The SDCC compiler is a free, unlimited compiler which is available onthe Internet. SDCC is the best option for people who do not currently own acode compiler."

Sign up for the Design News Daily newsletter.

You May Also Like