Is it possible to make a simple dimmer thats operated just with the flick of the regular wall switch on and off? just like what Philips sceneswitch bulb does?

My requirement is 100%, 50% and 10% brightness settings. These have to cycle each time I flick the switch on and off. There is no need for a time limit ( eg: like flick the switch withing 3 seconds to change the brightness mode). Also there is no need for memory to remember the brightness next time I turn the light on.

The light in question is a 12v 500mA Led panel. It uses an AC to DC driver so I guess I can install the dimmer between the DC out of that driver and the DC in of the led panel.

What all components will I need for this and how can I do it?

Thanks in advance.

Edit- Modes I want are going to be like this -Switch on -> 100% brightness -Switch off -Switch on -> 50% brightness -Switch off -Switch on -> 10% brightness -Switch off -process repeats

By 'memory' I meant that the dimmer doesn't have to remember my brightness preference each time I turn the light back on. Instead the dimmer can simply switch to the next mode.

  • \$\begingroup\$ Are you looking for a stepped soft-starter? switch-on->10% for x seconds->50% for y seconds->100% forever? I'm not familiar with the Philips sceneswitch at all, and I suspect that a lot of other folks aren't either. \$\endgroup\$
    – AaronD
    Jun 29, 2017 at 4:01
  • 1
    \$\begingroup\$ @AaronD Not exactly. I want it like this- switch on ->100% , switch off , switch on ->50%, switch off , switch on ->10%, and this process repeats. No time limit and No memory. Thanks \$\endgroup\$
    – Kokachi
    Jun 29, 2017 at 4:12
  • \$\begingroup\$ @AaronD Philips sceneswitch video \$\endgroup\$
    – Kokachi
    Jun 29, 2017 at 4:15
  • 1
    \$\begingroup\$ Okay, I think I get it now. But I don't think your goal is possible. Physically, you need some kind of memory to tell which option you want next. (or now, even) This could be the mechanical position of something, or an amount of charge sitting somewhere, or whatever. Maybe you could clarify what you mean by "memory". \$\endgroup\$
    – AaronD
    Jun 29, 2017 at 4:18
  • 1
    \$\begingroup\$ @AaronD Sorry, when I meant memory I meant smart memory like when the light is at for example at 50% and I turn it off and after a few days I turn it back on I don't necessarily want it to remember my brightness preference and turn it back on at 50% itself. it can simply go to the next mode or start over again from the beginning. \$\endgroup\$
    – Kokachi
    Jun 29, 2017 at 4:22

1 Answer 1


There are lots of different ways to do this, and once you get the basic functionality, the rest that Philips does with it is almost free, which is probably why they did.

Looking at hardware, you'll probably end up with:

  • Some kind of microcontroller (uC), which has it own requirements of:
    • A compiler or assembler, depending on what programming language you like.
    • A programmer.
    • Some way to test incremental parts of the software.
    • Knowledge of how to use all of these tools.
  • Some kind of power supply that is uC-friendly.
    • Read the uC's datasheet to see what it needs.
    • This will most likely be designed specifically as part of the overall project. It could be bought off-the-shelf, but probably not.
  • Some way to amplify the uC's output signals, that are controlled by your software, into what your chosen light emitting device requires.
    • More circuit-design, yay!
  • Some way to keep muggles' fingers away from live electrical stuff, including yours when you're not paying attention.

Each of these points is easily worth its own separate question.

Looking at software, you'll have:

  • Some non-volatile memory that stores either the previous setting or the next one.
    • You typically get at least a few bytes of this with most uC's in the form of either EEPROM or self-programmable code space. In case of the latter, just be sure to not clobber the program!
  • A startup routine that sets up the uC for the normal-running code and manages that non-volatile memory.
  • Some normal-running code that does whatever it needs to convert the chosen setting into your desired effect.

There are at least two separate questions involved with that; probably more.

Given that this almost certainly requires software, and that software is easily changed to fix bugs and add features, it's no wonder that we see so many features in what would otherwise appear to be a "simple" device.

  • \$\begingroup\$ So I guess an arduino can do the job? \$\endgroup\$
    – Kokachi
    Jun 29, 2017 at 5:23
  • \$\begingroup\$ @Kokachi Yes, but like most 'duino projects, it's probably a bit bulky for more than a handful of copies. If that's all you want, or for initial development, it's great; but for much more than that, you'll want a purpose-designed circuit with a uC chip soldered directly into it. \$\endgroup\$
    – AaronD
    Jun 29, 2017 at 5:27
  • \$\begingroup\$ @Kokachi Also note that a 'duino still needs some kind of amplifier between it and the load. This could be as simple as a logic-level FET transistor, but you do need something. That's a separate question. \$\endgroup\$
    – AaronD
    Jun 29, 2017 at 5:31
  • \$\begingroup\$ how about L293D \$\endgroup\$
    – Kokachi
    Jun 29, 2017 at 5:33
  • \$\begingroup\$ @Kokachi Does it have a datasheet? \$\endgroup\$
    – AaronD
    Jun 29, 2017 at 5:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.