Controlling An AC Drill Using One PWM Connection

This peculiar setup allows [Ben Krasnow] to control an alternating current device using one pin on a microcontroller. He’s experimenting with a power drill and has relocated the trigger circuitry that makes it spin. On that board he found a variable resistor combined with a capacitor which control a triac, actuating the speed of a drill. [Ben’s] solution works great and isolates the drill from the control circuitry. He replace the variable resistor with a cadmium sulfide photoresistor (basically a variable resistor whose resistance depends on the intensity of light). Pulse-width modulation is used to adjust the brightness of an LED shining on that photoresistor and thereby affect the speed of the drill. This is such as simple alteration to the drill we’d call it MacGyver-esque.

See a demonstration after the break.


22 thoughts on “Controlling An AC Drill Using One PWM Connection

    1. Cudos to Ben Krasnow. This is a genius and timeless idea of yours! Congratulations. I realize, that this blog is 10 yrs old, but I’m looking into doing a similar thing for a cheap cordless drill, which also have linear potentiometers on the trigger switch circuit/PCB.
      (A) How did you initially figure out what type of component to use, and what range to pick from?
      (B) Did you open up the trigger switch and measure with a DMM the Ohm-range of the pads of the linear potentiometer in-circuit?
      (C) Did you measure the V across the linear pot in-circuit under load to estimate min/max V-range?
      (D) Did you insert an Amp-meter inline and measure the linear pot’s current draw under load to estimate Wattage for the replacement component?
      (E) If that’d be the appropriate way to correctly size the replacement component, how did you arrive at the conclusion that it should be a CdS photoresistor?

      I hope you’re still on this blog after so many years. I know some electronics, but for sure ain’t the pro you are :-)
      I’d be thrilled if you could guide me in the right direction.
      Best Regards,


  1. @thatguy, @lv the motor is still triggered by a Triac (I guess one as the machine may be powered by CC instead of AC) which already was in the original drill.

    This hack is nice clean and simple solution if you want to control the speed of the drill from a microcontroller.

  2. This would be really great to hook up to a drill press or use to regulate the speed of a router motor for a cnc.

    Lathes would be another great application. Would a similar power system work for an induction motor? (probably not)

  3. I really like this for what it is, but is there any relatively simple solution for speed control of motors like this? The triac circuit always seems to perform the worst when you most need it: for high torque at low rpm.

  4. He makes a tricky statement in the video, he says a cheap house lighting dimmer has the same circuit but that’s not true, the normal cheap lighting dimmers don’t have the zero crossing circuit and have a limited wattage capacity, so yeah you could control the light with the same hack but you should in such cases not connect a motor to it, those dimmers always have a warning that they are only for incandescent light too.
    On a related note, since everywhere people are switching to energy saving bulbs I wonder how long it will be before they stop selling those simple dimmers and we’ll get cheap dimmers of slightly higher complexity as standard.

    As for this nice hack, I would think it best to add this circuit and a switch to switch between the default resistor and an LDR/LED, and a small connector in the actual drill housing so you can simply plug and unplug the arduino and use the drill normally too.
    You’d have to make sure it’s the right switch (break before make), but most are, and it would be most convenient if ‘off’ is equal to the highest resistance though, which it most likely is I guess.

    Anyway it’s a moment of genius when he thought this up, so simple and yet you’d have to think of it eh.
    And so universal too, you can control most anything with a potentiometer with the LED/LDR trick, although you must be careful there are no glitches in the software when using it to control volume on a 600W amplifier for instance ;)
    And of course you’d need a LDR with the right range (my local shop has either 20K or 50K types only)
    And perhaps use a software profile for linear and logarithmic variants?

  5. Funny part – I haven’t watched the video, but the first thought I had was using it with a dimmer. It’d sure make that sunlight simulator circuit I wanted to build a lot safer/simpler to implement… I already have a dimmer.

  6. To dim a CF bulb, you wouldn’t necessarily need a different dimmer, just a different bulb. I haven’t looked myself, but the first stage to a CF bulb should be a rectifier, so the switching circuit should be being fed DC. Most switchers are designed to maintain a constant output voltage, even in the event of a varying input voltage, which, in my experience with dimmers and CFs, seems to be true. You would want the switching circuit in the CF bulb to slightly lower the output voltage at some ratio to the input voltage. Of course, at a certain dimming point, there will no longer be enough voltage to power the CF’s switching supply, so there would be fall off at the bottom end…

  7. nice use of old school tech..

    a little bit of history for you, the very early Heathkit sinewave oscillators used a circuit based on these to control amplitude of a Wien bridge..

    A modern equivalent would be a pair of back to back red LEDs and some sort of active feedback circuit based on a JFET and a phototransistor or a regular BFY51 can with its lid removed.
    relatively simple to implement as the transistor responds as if it is being biased in the conventional way.

    this particular hack was shared by a very helpful amateur radio enthusiast in the UK.

  8. This is exactly what I am trying to do. All the companies have told me that an Arduino is not the best fit for controllling an AC motor, so im wondering how did you go about controlling the motor. Also what exactly are you doing to control the brightness of the light, do you have a manual control or automatic?

    Lastly I know you weren’t worried about the direction of the motor, but if you have any ideas about how to control the direction as well.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.