A Self-Expanding PWM Driver

For smaller microcontrollers, having enough outputs for the job is sometimes a challenge. A common solution is to do some sort of multiplexing with the available outputs or perhaps something more advanced such as Charlieplexing, but another good option is to use a specialized driver board. What’s even better is if you can daisy chain driver boards to get even more outputs.

[Eric] has been working on a 16 channel LED project but first wanted to build a driver board with 8 channels. Before building a full 16 channel version he realized that he could take the same 8 channel board, make a mirror image of it, and attach it underneath the first board with headers in order to double the number of channels available. Without having to build a separate 16-channel board, this shortcut saved [Eric] some time and a great deal of effort.

This is a great example of working smarter, not harder. Each of the 8 or 16 channels has full PWM support as well to support PWM dimming, and a similar board could be built for motor control as well. It’s a good illustration of how good design can end up working for you as well. And if you need even more outputs, Charlieplexing is one way to get them.

8 thoughts on “A Self-Expanding PWM Driver

  1. Also seems like a good way to get more value from a PCB run. Lots of times I end up with five to ten boards when I’m really only ever going to use one or two. If the boards can all be stacked together to expand functionality, it becomes more worthwhile not only to keep multiples around but to populate them as well.

    (Alternatively, if you put your social media handles on the underside of a small board you can use the spares as business cards to increase value yield)

  2. The linked site doesn’t say which PWM expander chip it uses, how it interfaces to the host micro, or much else useful. Maybe it says those things in the video but for those of us on mobile only static text and still images are really accessible and the videos might as well not exist. Viewed through that lens this link contains no content but a link to the tindie page which _also_ fails to provide that information or a link to the source for interacting with it (from which we may be able to glean how it works).

    1. Ummm. The linked site doesn’t discuss the PWM expander chip or host interface because they do not exist.

      Reading the site, I found this, “One of the nice things about the ESP32 is that it has a peripheral known as “LED control” that provides 16 independent channels of PWM for controlling LED brightness”

      The host provides 16 individual pins that are capable of PWM output. Each PWM drives one MOSFET – which can be seen in the static pictures.

      1. Got it. I was confused by the daisy chaining thing (in that daisy chains are generally arbitrarily extensible whereas this can have 1 or 2 but no more than 2). Still the board flip is a neat idea =:-)

    1. Author here…

      I certainly could have done that. It would have made the MOSFET board bigger to hold twice as many mosfets and have enough space on the edge for another 8 connections, which made it bigger than I wanted for the 8-channel scenario. The stackable version fits what I wanted to do a bit better and allows me to just make a single 8-channel version.

Leave a Reply

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