I'm designing a LED controller based on a Teensy 4.1, some AD9833 Function Generators and some TLC5948 LED Drivers. I'm aiming to make an instrument of sorts, specifically a POV display that transmits a series of musical notes via light to a solar panel + amp. I know the music won't exactly be visible due to the relatively high frequency, so I'm going to add that signal on top of an image signal. Thanks to the help of glen_geek on my question here, I decided to use AD9833s to generate notes that I'll read in through ADC on the Teensy and use that data to adjust the LED PWM signals on the TLC5948s.


I'm wondering if a more experienced PCB designer can tell me what I'm doing wrong or if there's another way to achieve my goal.

This is my first attempt at a PCB, and I've hit a wall. I'm not really sure how I would go about routing the TLC5948s to the LEDs neatly. I added a picture of my first attempt, and to me it feels really clunky, messy and wrong. I could only get everything connected using 4 layers. I've tried looking up layouts for LED arrays/matrices for inspiration but I can't find anything that isn't designed for strobing the LEDs (i.e. common row/column connections). I'm not opposed to strobing but I haven't found any LED drivers that offer that as a feature and I'm worried that'll add audible noise to the music if it's not fast enough (ideally it should be above 20Khz so people can't hear it). Does anyone know if there's a cleaner/easier way to route this or an IC that can handle strobing at high frequency? This has been answered by @Justme.


I'm also looking for feedback, both on the circuit design and the PCB layout. Two questions I have are:

  1. Is there any way to make this smaller?
  2. Is it ok that I cross some of the LED lines with clock signals? If not, is there a fix?

I tried my best to research the basics like decoupling capacitors and keeping analog/digital ground separate, etc, but if I've missed something else I'd love to know about it. Also, any ways to make the board more compact would be appreciated as well.

Thanks so much in advance!

Revised PCB Design #1

I made the following changes and reattempted the routing thanks to the suggestions from @Justme.

  1. Use 3.3V for RF, AD9833s, and TLC5948s
  2. Use 3.0V for Hall Effect Sensor (since output can be Vcc +0.3 and Teensy is only rated for 3.3V)
  3. Change pin order on the TLC5948s to consecutive pins

Improved Design Pictures

Top Layer PCB Bottom Layer Main Circuit Schematic LED Array Sub-circuit Function Generator Sub-circuit Hall Effect Sub-circuit

  • \$\begingroup\$ Would it be simpler to route three concecutive chip outputs to a single LED, instead of having separate R chip, B chip etc? \$\endgroup\$
    – Justme
    Commented Apr 6, 2021 at 15:31
  • \$\begingroup\$ @Justme That's a good idea, I didn't even think of that! I'll give it a try. \$\endgroup\$
    – wootie11
    Commented Apr 6, 2021 at 15:39
  • \$\begingroup\$ How much is VDD? \$\endgroup\$
    – Justme
    Commented Apr 6, 2021 at 15:40
  • \$\begingroup\$ I was think of using another 5V+ supply for VDD. \$\endgroup\$
    – wootie11
    Commented Apr 6, 2021 at 15:42
  • \$\begingroup\$ Do you think the LED driver chip will work with 3.3V logic levels when powered from 5V? I assume the MCU runs at 3.3V. \$\endgroup\$
    – Justme
    Commented Apr 6, 2021 at 15:58


Your Answer

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