Introduction: ICStation G003A Touch Switch Sensor Module

The touch switch I'm using is an ICStation ICSG003A (item #3411) , which I believe they manufacture themselves. The board is etched with the model number as well as their web address, guess that's a clue 'eh.

You can find this switch at and it is currently priced at $2.93.

I found this switch to be very user friendly. To begin with, it is basically another plug-and-play component that only requires a power source to be fully functional. And to me a real plus is that we don't have to try to determine if the switch has been touched or not when a project includes this guy. That's because this switch changes, and holds, the state of its signal pin (between HIGH/LOW) with each touch. Touch it once, the signal pin is held HIGH, touch it again and the signal pin is held LOW, touch it again and the signal pin is held HIGH, touch it again, .... well you get the point.

I see two distinct advantages to this switch holding the signal pin in its current state;

1. It can be used independently with no board or programming required, just a power source.

2. If you are writing a sketch with this switch in the project the coding is going to be much easier. Unlike some switches that momentarily change the state of the signal pin when touched, by holding the state HIGH or LOW as this switch does, we don't have to worry about trying to figure out if or when the switch was touched in our code.

The board also has a built-in connector for the pins. I know that connector will be useful to some but prove to be inconvenient for others. You can always remove the connectors plastic shell (carefully) if it's in your way.

The "finger print" icon area (where you touch the switch) is pretty sensitive. Sensitive enough to be able to hide the switch behind some light material or something. I was able to get the switch to respond reliably with four sheets of printer paper over it.

Let's head over to Step 1. and set this thing up to play with...

Step 1: Touch Switch Demo

EXTREME CAUTION: The upcoming example involves a 110v circuit. It can KILL YOU if you do not know what you are doing. If you do not know exactly what you are doing with 110v in a project - then DON'T. Plain and simple, no legalize, no fine-print, no disclaimers; Please do not play with 110v circuits without the knowledge and experience to do so.

(Instructions for using an LED instead of a 110v light bulb are included)

I should probably explain all of those attachments above.

#1. everything is setup and working to turn a light on and off with the touch switch, the light is off

#2. same as #1, but the light is on

#3. close up of 110v Relay to Light connection(s)

#4. how to set this up using a Relay and 110v light bulb (had to improvise with some parts)

#5. how to set this up using a Relay and an LED

#6. and finally, how to set this up with just the touch switch and an LED - no Relay required

For this project I used:

(1) Arduino Uno

(1) Relay (rated at 125v 10A)

(1) ICStation G003A Touch Switch Sensor Module

(1) 110v light bulb socket and a light bulb

(1) LED - for optional setup

(1) 330 Ohm resistor - for optional setup

Note: Steps #1 & #2 are the same for all setup scenarios, if you're setting up the light bulb version - continue through Step #8. If you are using an LED look for the section label below that's appropriate (IE: LED and Relay or LED alone - no relay required.)

Setting up the Touch Switch

1. connect the 5v OUT from Arduino to VCC on the touch switch

2. connect the GND from Arduino to the GND on the touch switch

3. connect the touch switch "OUT" to "INC" on the relay

Setting up the Relay

4. connect the 5v out from Arduino to the Vcc in on the relay

5. connect GND from the Arduino to GND on the relay

Adding the light socket/bulb

6. take one leg of 110v directly to light socket (I soldered this to the metal threaded side of the socket)

7. the other leg of 110v goes to COM on the relay

8. connect N/O (normally open) from the relay to light socket (bottom contact that's separated from the side area above)

Using an LED and Relay instead of playing with 110v, replace steps #6 - #8 above with;

6. connect the 5v out from Arduino to COMM on Relay

7. connect N/O from the Relay to one leg of the resistor

8. connect the other leg of resistor to positive leg of the LED

9. connect the negative leg of the LED to the GND on the Arduino

Last but not least, we can get rid of the Relay and go straight to the LED, replace steps #3 - #9 with;

3. connect the touch switch "OUT" to one leg of the resistor for the LED

4. connect the other leg of resistor to Positive leg of LED

5. connect the negative leg of the resistor to GND on the Arduino

That should do it. Power up and use the touch switch to turn the LIGHT or LED on and off. And as always, if you spot any errors or omissions in this Instructable please don't be shy, let me know.

Step 2: Touch Switch Specifications

Supply Voltage: 2 - 5.5v

Output: matches supply (pretty close anyway)

Wiring: 3 pin connector (GND, VCC, OUT) Note: "OUT" on other modules maybe labeled as SIG or something else, whatever it's labeled that is the pin that will respond when the switch is touched.

LED: (Red) is on when the module is powered up

Characteristics: changes (and holds) the state of the OUT pin, between HIGH and LOW, with each touch detected.

Functionality: The fingerprint icon on the front (looks more like a target to me, but that's another hobby) is comprised of 7 circles (it is if you count the dot in the middle). When the "icon" is touched your finger creates a connection between two or more of those circles. And that connection completes a circuit which triggers the switch to respond.

OK, while you guys are having fun with this, I'm going to take a break and go check my rock tumblers.


gr8yt made it! (author)2015-12-19

happy holidays

lomnicks made it! (author)2015-11-24

When first powered on does it go to the high or low state, or is there a way to switch it to start in the state you want?

lomnicks made it! (author)lomnicks2015-11-24

Thanks for the helpful reply. I am needing something to start off in the high state. But it this will still work since I will be using it as an I/O for an Arduino and the high low state can be controlled in the software. It will be nice to have something to avoid the button 'bounce'...

gr8yt made it! (author)gr8yt2015-11-24

Glad I could help! (Even if I'm not sure how I managed to do that) :-))

gr8yt made it! (author)gr8yt2015-11-24

The way I have it setup at home and in the Instructable, the light will be off at start up or reset.

That is because I'm using the N/O (normally open) side of the relay. Or as I like to think of N/O (normally off). So the INC pin on the relay has to be energized to pull the internal circuit in the relay closed allowing current to flow.
Yes, you can change it by using the N/C (normally closed) side of the relay. In this case the internal circuit is "normally" allowing current to flow and applying voltage to the INC pin will open the circuit stopping the flow of current.
The reason I went with N/O, particularly when I'm using a 110v light bulb, is that I would like any lights or whatnot to stay off after a power failure - until I turn them on. Anything connected to the N/C side of the house would be slapped with current as soon as the power was restored.
Hope that helps and thanks for asking.

About This Instructable




Bio: Hi, I'm Brad. My interests spread over a large area and I tend to get carried away when something new peaks my interest. I ... More »
More by gr8yt:D2-3 Tracking & Obstacle Avoidance Smart Car DIY KitLED Cycle Light ReviewSimple Serial Converter Makes Pro-Mini Programming Easy
Add instructable to: