Air Gesture AC Dimmer/Switch

A Touchless Gesture Mains AC Dimming Switch

Similar projects worth following
For a while now I've been toying with the idea of using the proximity effect of capacitive touch buttons to track motion, which can be used to create a intuitive "touch-less" lightswitch/controller. Turns out microchip thought about this type of tech too and released the MGC3130 3D gesture chip. Instead of reinventing the wheel, I have used this. A touch-less gesture lightswitch can be used in hospitals where the spread of germs is a major concern. Also could be used as a cool futuristic lightswitch for home. The device does away with mechanical switch's, which wear out over time, and is replaced with a solid-state switching device coupled with a microcontroller's intelligence.

I will be trying to add a detailed report including my design steps, images, schematics, CAD files and code here. But may need to link to this externally. For now, here is a rough description of what I hope to achieve:

  • Before I was kindly pointed to the MGC3130, my hands location was going to be sensed with the use of multiple capacitive antennas connected to microchips CTMU peripheral, within a PIC microcontroller. If the sensors were sensitive enough, proximity and location information could be obtained by comparing the data obtained from each antenna. The MGC3130 made this much easier. The MGC3130 is a turn key solution for this, all that is required is reading values stored in the MGC3130 via I2C. This includes gestures, and x, y and z position of hand.
  • The classic light switch has access to mains voltage, and the wires to the light that will be connected to the mains. This means that the device can be a direct drop in replacement, as there is mains power to power the device right there in the wall.

  • 1 × ATMEGA328P
  • 1 × MGC3130 3D Gesture IC from microchip
  • 1 × Espressif ESP8266

  • Operation Demo

    Johnny01/29/2016 at 01:39 0 comments

    Non-mains-connected version for demonstration.

  • Milled Front Plate

    Johnny08/03/2015 at 05:30 0 comments

    Built my CNC milling machine and milled out the switch's front face.

  • First PCBs

    Johnny07/17/2015 at 13:07 0 comments

    My electrode boards arrived.

    Added some LED's and parameterized them.

    A little more fine tuning and I'll be happy.

  • Level Indicator

    Johnny06/04/2015 at 09:09 0 comments

    Been working on a LED display idea, the goal is to show the dimming level. I'm using white perspex, with 3mm diameter holes (not all the way through), and 3mm blue LEDs inserted into the holes. The LEDs are driven from a TLC5940. As the LEDs are really bright, I'm able to run them at ~1mA each with great results.

    To give you an idea of what I'm hoping to achieve, here is the blank switch with paper in front of the LEDs. The images don't really do them justice. Looks really good in person. Also note that ambient light is shining both sides of the perspex. When the perspex is inside the switch and not being backlit, it looks even nicer.

  • Added Fading Effects

    Johnny05/24/2015 at 12:18 0 comments

    Added fade-in and fade-out effect between on, off and dimming states.

  • Early Firmware

    Johnny05/23/2015 at 13:42 0 comments

    Here is a quick demo with early firmware. Going to add fading between states, instead of switching instantly to a set dimmer level, or off to on and on to off, etc.

  • Parameterization Done, and Gestures Working

    Johnny05/19/2015 at 17:22 0 comments

    I have canceled my order for the Hillstar Development Kit, but it's not a big deal as I ordered samples of the MGC3130 and PIC18F14K50, built up my own dev board and downloaded firmware for the I2C Bridge from microchip :).

  • Still Waiting...

    Johnny05/13/2015 at 16:55 0 comments

    Ok, so the Hillstar Development Kit still isn't here (two and a half months later) and the company says they are waiting for new shipment from their supplier, and when they do get more stock, shipping takes 4-5 weeks, so god knows when this thing will arrive. Here is what I've been working on this week. Been reproducing the development kit myself basically, I'll be done before it gets here :(.

  • Dimming Test

    Johnny03/16/2015 at 10:34 0 comments

    Just a little dimming test.

  • PWM

    Johnny03/16/2015 at 06:03 0 comments

    PWM now tested and trailing-edge looks good. Leading-edge is also achievable by inverting the PWM signal :). That premature trigger (glitch) you see is due to the zero-crossing pulse being centered (not starting) at the zero-cross, therefore the rising edge of the pulse happens just before the zero-cross. This can be corrected by adding a small delay after the rising edge of the pulse in software, to know real position.

View all 18 project logs

Enjoy this project?



Valentin Ortega wrote 04/10/2016 at 21:35 point

Hi Johnny, what happened to this project? are you still developing it? 

  Are you sure? yes | no

Johnny wrote 04/11/2016 at 00:29 point

Hi Valentin,

Yeah, although I haven't worked on it in a while. I have the problem of starting to many projects without finished the last lol. I will get back to this, as the prototype does work well, and it is quite a unique project.

  Are you sure? yes | no

Iván Todorovich wrote 10/24/2015 at 20:23 point

I really like this project! Would love to make a few of my own.

What's the estimate cost per unit?

  Are you sure? yes | no

Johnny wrote 10/24/2015 at 21:53 point

Hi Iván, 

Thanks man! Bit early to say yet. PCBs are expensive, especially 4 layer boards. The 4 layer PCB you see in the picture was $60 for 5 from memory. Wouldn't be more than $30 for components. If you were to make 5 or more (hand made by yourself), I'd say it'd be less than $70 each. Pretty expensive I know.


  Are you sure? yes | no

nhack wrote 08/04/2015 at 17:27 point

Really like this idea. Wifi/Zigbee/Z-wave would be great, but good security design is essential! Too many insecure IoT nodes already. Cloud integration would also be nice, but please also enable cloudless local-only network control..

  Are you sure? yes | no

Johnny wrote 08/04/2015 at 21:38 point

Thanks man :). True, I agree. That's partly the reason I've decided to leave the IoT and home automation stuff out of this project now (I really should remove the stuff about it in the description). I was ambitious in the beginning and wanted to make something "Connected", as the 2014 competition required, but I strongly believe that things should't be connected to the internet just for the sake of it and I think that was kinda the case for this project. There are already great products out there that can do that sort of thing. I'm happy with just a good touchless switch. If someone wants to add that sort of thing to it, awesome, but yeah I want to keep it simple.

Thanks for taking the time to comment. I love getting feedback.

Cheers, Johnny.

  Are you sure? yes | no

J. Ian Lindsay wrote 05/14/2015 at 09:15 point

I just finished using the MGC3130 in Murum Lux.

I have a library for it if you like that covers the basic gestures and such that you would be interested in. But seriously... mad props for solving a very sophisticated problem.

  Are you sure? yes | no

J. Ian Lindsay wrote 05/14/2015 at 09:18 point

Man....  is sold out too....
That route would be $40, versus the $180 I'm guessing the Hillstar set you back.

  Are you sure? yes | no

Johnny wrote 05/14/2015 at 09:49 point

Hey Josh, nice project man! Yeah, I paid $180USD for the hillstar development kit, I've been waiting so long for it to arrive that I decided to make the hillstar kit myself. That hover development kit looks good too, uses the mgc3130 also. $40 is much better deal, do you know if that board will work with AUREA also? 

  Are you sure? yes | no

J. Ian Lindsay wrote 05/21/2015 at 06:28 point

This is cheaper than the Hillstar, uses the same chip (MGC3130), and is IN STOCK! lol

  Are you sure? yes | no

Johnny wrote 05/21/2015 at 08:13 point

Pros to hover: only $40, electrode board, MGC3130, voltage translation and 3.3V power supply included. 

Cons to hover: no i2c to USB bridge (use for AUREA, paramaterizing, etc), no MGC3130 GPIO output header (I don't really need that). No electrodes header for custom made electrode boards. 

I'd still buy it if I didn't make my own dev boards up. Sucks I didn't hear about it sooner lol. 

  Are you sure? yes | no

J. Ian Lindsay wrote 05/22/2015 at 10:18 point

I'm sorry, I just now realized my link failed to post.

  Are you sure? yes | no

Johnny wrote 05/22/2015 at 12:09 point

Oh yeah, I have seen that. Looks pretty sick. Where I was purchasing the hillstar development kit included that 3d touch pad as well in the $180USD price (now $140USD!).

  Are you sure? yes | no

RISC wrote 09/14/2014 at 15:26 point
To simplify your project you should use a GestIC chip (MGC3130). This device is dedicated to 3D gesture. Regards

  Are you sure? yes | no

Johnny wrote 02/26/2015 at 06:56 point

Thanks for the suggestion, looks prefect for my application :)

  Are you sure? yes | no

Gary Skinner wrote 07/05/2014 at 19:59 point
somebody is making a similar product, i saw it at lightfaire.
i cant remember the company name right now.

  Are you sure? yes | no

KingOfKYA(Travis K. ) wrote 06/24/2014 at 16:46 point
Make sure to bug me if you need help with a cheap power supply:) I have a 5v 100ma supply in my raptor12 project that requires about $2 worth of parts.

  Are you sure? yes | no

Johnny wrote 06/24/2014 at 21:49 point
Nice one! I'm keen to see a schematic of that. Sure is cheap enough.

  Are you sure? yes | no

KingOfKYA(Travis K. ) wrote 06/24/2014 at 22:55 point
At the bottom the java applet has a simulation/schmatic

  Are you sure? yes | no

Johnny wrote 06/27/2014 at 06:47 point
cheers :)

  Are you sure? yes | no

Storken wrote 06/18/2014 at 07:59 point
I've been thinking about the exact same idea, interesting to see someone taking it from idea to reality. Atmel's proximity chips (10-15 cm of range) may suit your project, or simply using an AVR with q-touch features - to ease development.

Good luck :)

  Are you sure? yes | no

Johnny wrote 06/19/2014 at 11:59 point
Sweet, thanks for the input. Yeah, I'm planing on trying Microchips internal CTMU to measure the change in capacitance. Not sure of its range yet, but seems pretty good on paper.
Cheers :).

  Are you sure? yes | no

Mike Szczys wrote 06/06/2014 at 23:09 point
I could swear I already left a comment on this one because I love the concept!

Thanks for entering it in The Hackaday Prize. With the WiFi module as you described you'll be able to put switches just about anywhere!

  Are you sure? yes | no

Johnny wrote 06/19/2014 at 12:00 point
No problem Mike :)

  Are you sure? yes | no

Johnny wrote 05/24/2014 at 20:49 point
Thanks for the encouragement! I'm looking forward to getting started in about 3 weeks. It's currently exam time, so I have no free time atm :S.

  Are you sure? yes | no

TAIBHSE DESIGNS wrote 05/25/2014 at 15:02 point
haha thats understandable, best of luck with your exams :D

  Are you sure? yes | no

Johnny wrote 05/19/2014 at 06:02 point
Very true, Ide like to try that, great idea. Meybe the sensitivity will be high enough to register through plasterboard. I was hoping to use LED intensity to give feedback to the user how close the hand needs to be, then change colour when your hand is in range for gestures. If the control was behind paper flush with the wall, it may be possible to hide it completely and then light up behind the paper when you get close. Something to try :).

  Are you sure? yes | no

TAIBHSE DESIGNS wrote 05/24/2014 at 18:17 point
I would love that, if it could be networked to multiple devices I could imagine walking into my room and making a normal flick just to activate lights or a special wave sign to start up my media setup if i was to watch a film or even a gesture to startup my main pc to work on college projects. A simple concept with far reaching uses :D I cant wait to see how this project evolves.

  Are you sure? yes | no

TAIBHSE DESIGNS wrote 05/19/2014 at 01:35 point
this i would love for my room, I have a huge painting done directly on the wall but the current light switch i have kinda runes the look of the art, this switch could be made flat into the wall with a slight outline to indicate its position, i could paint over it and yet still be able to see where to swipe for control :D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates