I have a Sparkfun Arduino Pro Micro (an ATMega32u4 breakout board), feeding two PWM signals to a custom board I made based around a mic4606 (dual half-bridge gate driver IC)

The IC is driving 4 MOSFETS in an H-bridge configuration, which drive a Peltier device through a pair of LC filters to smooth out the ripple (which improves the efficiency of the Peltier). The PWM and ground connections are made with a couple inches each of ~22 gauge hookup wire.

If I setup my Arduino to generate a 187.5kHz signal, it occasionally "glitches out"; I'll feed the PWM signal into one side of the bridge, leaving the other one grounded, but both sides will switch (and thus no current flows through the peltier). Maybe 80% of the time it works fine though.

I reduced the PWM frequency to 93.75kHz, and now it seems to work 100% of the time. I would rather use the higher frequency to keep my filters smaller while maintaining efficient operation of the peltier, so I need to figure out what the problem is.

Is a couple inches of hookup wire enough to mess up a ~200kHz signal? Or is it likely to be an issue with my (or the Arduino's) PCB design? If it helps, this is what my PCB looks like:

custom mic4606 board

(I've since redesigned it to shrink some high frequency current loops, particularly the fairly large ones in this design through the "bottom" FETs, and all the high dI/dt current loops described in the datasheet, but I haven't ordered it yet. would this help? I assume those will only help with not-important-for-a-prototype EMI issues)

UPDATE: I just recalled that attaching small (100 ohm) series resistors in the PWM linse reduced reliability even further. So perhaps the issue is my MCU's outputs aren't "strong" enough to drive the gate driver inputs? I hope I don't need a "gate driver driver" 0_o

UPDATE: here we go. I've cleaned up my schematic for display purposes:schematic

  • 2
    \$\begingroup\$ Show schematic! How do you know it's not a software problem? Show oscillograms. \$\endgroup\$
    – winny
    Commented Aug 5, 2017 at 7:25
  • \$\begingroup\$ I actually don't own an oscilloscope. I have to schedule a session with my local university when they're free to use their scope. The schematic is basically the Typical Application Circuit on page one of the datasheet, but with more bypass caps on the supply rails, and the motor replaced with an LC-filtered peltier. I can post the schematic if needed but i worry that'll make this question far too lengthy to read \$\endgroup\$
    – user371366
    Commented Aug 5, 2017 at 8:25
  • 2
    \$\begingroup\$ Then my friend, you are screwed. Buy or borrow an oscilloscope. At that switching frequency, you can get away really cheap. By the way, your layout isn't crap, so you've got a lot of things going for you so far. \$\endgroup\$
    – winny
    Commented Aug 5, 2017 at 9:01
  • \$\begingroup\$ Also, where does your inches of hookup wire come into play? Your micro is in the center of the board, yes? \$\endgroup\$
    – winny
    Commented Aug 5, 2017 at 9:08
  • 2
    \$\begingroup\$ dn3s, if you got your wires straight they will form a gap, if this gap is flat then there will be some inductance, if you however twist it as @ThreePhaseEel adviced, then the gap will no longer be flat, the magnetic field will twist around itself and cancel out most of its own. I've done a laboration at the university where we tried measuring with twisted, coax, non shielded, and all different kinds of things. Twisting cables helps a lot. I also want to repeat what Winny said; SHOW SCHEMATIC!. Also, with so little to go on, don't expect much help or an answer any time soon. \$\endgroup\$ Commented Aug 5, 2017 at 18:08

1 Answer 1


There is no common mode filter on the output.

Thus, the whole Peltier assembly and its wires are at an ill-defined HF common mode potential, but it sure includes the nasty fast PWM edges which will go through the inductors' interwinding capacitance unimpeded.

Besides wrecking communication with the arduino (not surprising) this should be a rather powerful radio jammer.

Solution: put caps between both outputs and ground, instead of just between both outputs.

A common mode choke would have been nice too. The best would be CM choke, then two small caps to GND after the choke.


I had missed the fact that the "ground plane" at the back is full of traces, and the arduino connector is located in a very noisy position. This will be harder to fix... maybe thread the arduino cable through a ferrite core?...


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.