I am reverse engineering my Dirt Devil M612 Spider 2.0 vacuum cleaner as a hobby project, such that later on, I can use a micro-controller to run it myself.

I was looking into how the motors were driven and I found a H-Bridge setup which I created a schematic for (see picture).

Vaccum Cleaner reverse engineering motor control

I am a bit confused by how Q3, Q4, Q5 and Q6 control the current flow. I would expect the "wires" between, for example, R10 and Q5 at the right or the wire between Q5 and R9 to be connected to something. What is happening when Q5 is switched? There is no reference voltage on it. Is this a functional setup or am I truly missing a lead somewhere which i have not found yet? I looked and measured really hard on the board but I couldn't find any other traces so maybe this setup is already functional like shown here. If so, could one maybe explain a bit more how that is possible with nothing else connected to either R10 or R9?

I think that what I'm trying to ask is, I can see the gate (base) of Q20 being pulled low through R9 but how could it be pulled high? I see no reference somewhere in my schematic which means I could not find it on the physical board anywhere. Could that be right or am I truly overlooking something on the board.

I hope my question is clear but if not please let me know where I could enlighten a bit more of my question.

  • \$\begingroup\$ It would help to see how it operates if the MOSFETs weren't horizontal. But you are right, Q5 does look very strange. Perhaps you traced that part wrong somehow? \$\endgroup\$
    – winny
    Jun 19, 2023 at 8:51
  • \$\begingroup\$ what do you mean with not horizontal? In the schematics? and are you referring to q3, q4, q5 and q6? \$\endgroup\$
    – Mart
    Jun 19, 2023 at 9:46
  • \$\begingroup\$ Not horizontal = vertical. Yes, Q3-6. In general, try to have inputs from the left and signal flow from left to right. An H-bridge would be a notable exception. Used named nodes if you don't want to draw lines from one end of a page to the other. \$\endgroup\$
    – winny
    Jun 19, 2023 at 9:49
  • \$\begingroup\$ I suspect that Q3 & Q5 are backwards - swap pin 2 & 3. Q5's drain should connect to R10. Q5's source should connect to R9. Q3 has the same problem. In other respects, the circuit looks functional. \$\endgroup\$
    – glen_geek
    Jun 19, 2023 at 12:06

1 Answer 1


First, significant specs for the 2N7002 MOSFET switch:

  • Gate threshold: +1.2 V w.r.t. source
  • \$RDS_{on}\$: between one and two ohms

When gate voltage of M5 is zero volts, consider it an open-switch (no current flows through drain -to- source).
If gate voltage of M5 is logic HIGH, M5 can be considered a closed-switch, so that base of Q22 connects to base of Q20 through R10. Added to R10 is M5's \$RDS_{on}\$ of a few ohm. R10 mostly determines Q20 & Q22 base current...both these bipolar transistors are actively ON, and high current flows into (outof) their collectors, through a motor winding.


simulate this circuit – Schematic created using CircuitLab

When M5's gate voltage is 0 V, M5 is open-circuit because R9 drags its source down to zero volts, so that M5's gate-to-source voltage is zero. With M5 OFF, R9 pulls Q20's base to GND, turning it off. Since M5 is off, Q22 has no base current too.

R10 mostly sets base current of Q22 and Q20. This base current flows from Vcc, through Q22's base-emitter junction (a drop of 0.7 V), through R10, through \$RDS_{on}\$ of M5 (a resistance of a few ohm) and splits between R9 and base of Q20. Since base of Q20 can't rise much more than 0.7 V, it consumes much of that available base current.
Because Q20's base doesn't rise more than +0.7 V, M5 remains ON if its gate is pulled to +5 V by the control signal V2. In this ON-state, most of Vcc appears across R10. Q22's base current (Q20's too) is mostly set by (Vcc - 0.7 -0.7)/R10.
Be aware that turning ON M5 and M6 simultaneously results in smoke. Only one at a time! Logic 0 to both is OK - both H-bridge arms are off.

This is really bare-bones circuit. Missing are diodes to clamp the voltage spike when motor coil current switches off. Each half-bridge would have two diodes added. (This dual-coil H-bridge would need a total of 8 diodes).

  • 1
    \$\begingroup\$ As far as improvements, I'd like to see a B-E resistor on top as well. It's perplexing that they felt one on the bottom was justified! \$\endgroup\$ Jun 19, 2023 at 23:11
  • \$\begingroup\$ Thank you so much @glen_geek! Long story short, this circuit is correct like this? Could never have figured this out without your explanation! Tim, thanks for the comment, could you elaborate on it a bit more? The reasoning for why you want that and why you are perplexed? (I'm trying to learn) \$\endgroup\$
    – Mart
    Jun 20, 2023 at 8:02
  • \$\begingroup\$ Also, glen_geek, I'm not quite sure that I get how the base voltage of Q22 can be Vcc-0.7. Is that always the case? (maybe this is basic knowledge though). I know that for the gate to be a closed switch, you should have a gate-source voltage threshold like you mentioned. In a general case, If i were to apply a fixed voltage to the base, like exactly Vcc, what would happen with Q22? since there will be no voltage drop between the drain and the gate? \$\endgroup\$
    – Mart
    Jun 20, 2023 at 8:14
  • \$\begingroup\$ When M5 is open, Q22's base is left dangling free (no base current). It floats somewhere between (Vcc) and (Vcc-0.5). If you pull its base up to Vcc, then Q22 is very definitely OFF. This is what Tim Williams desires - a resistor to pull it up, ensuring it turns off promptly. Remember that Q22's base-emitter is a diode...if you try to pull its base lower than (Vcc-0.7) a LOT of base-to-emitter current flows, which multiplies into much collector current...becoming a switch that connects collector to Vcc. \$\endgroup\$
    – glen_geek
    Jun 20, 2023 at 12:12
  • 1
    \$\begingroup\$ Is circuit correct? No, Q3, Q5 need drain swapped with source (drains should connect to R77, R10 respectively). @TimWilliams gives good advice: add a resistor from each PNP base up to its emitter at Vcc: same value as R8. All 4 PNP;s. And I'd add clamp diodes - 8 required. \$\endgroup\$
    – glen_geek
    Jun 20, 2023 at 12:32

Your Answer

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

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