I am seeking advice on improving the power integrity of a PCB featuring a
HT16K33 driving 6 segment LEDs and a YX8002 (equivalent to
LM4871) audio amplifier.
Here are the relevant sections from the schematic, but I would like to directly refer to the KiCad project for the PCB design available on
GitLab.
The circuit draws around 150 mA at 5 V when idle (i.e. with the segment LEDs turned on and the speaker muted). I tried different linear bench power supplies and even the 5 V rail of an ATX power supply, but to a variing degree, I experience issues with power integrity as illustrated by the following scope screenshots.
The 5 V power rail drops by up to 500 mV while the LED driver is multiplexing through the LEDs; in worst case, when all LEDs are driven in 1 Hz blink mode, I can hear a hissing sound, presumably coming from the power supply:
When the amplifier is turned on as well, the power rail is distorted even further and the LEDs become visibly dimmer during the loudest parts of the audio sample:
Decoupling capacitors C7 and C16 are placed physically as close as possible to the respective power pins and are connected to the ground plane (IC pin – cap pin – via pin). Besides increasing C16 from 100 nF to 10 uF (with no noticeable effect), I tried to add several different electrolytic capacitors in the range of 10s and 100s of uF in parallel to C16 (admittedly in a crude way, by pressing the capacitor leads against the power and ground pins of U5, as I had not planned for an additional decoupling capacitor footprint). This smooths down the distortion somewhat (in the sense that it always looks more like the second scope screenshot with the audio amplifier being turned on), but the same distortion pattern is still visible and the user-facing issues (dimmed LEDs and PSU hissing) do not go away.
Hence, I conclude this is not really a decoupling issue.With the HT16K33 sinking around 30 mA per row and a maximum of 10 segments connected per column, the display would draw around 300 mA worst-case. The audio amplifier draws up to 600 mA (but of course I do not drive it to the maximum at all). With my power supply net having a total length of 30 cm alone, a trace resistance calculator tells me that I would have a voltage drop of several hundred mV with my trace width of 0.25 mm used for everything –
so in my current understanding, power-carrying traces being too thin is the main issue for the massive power rail voltage drop seen here.I have now doubled the trace width of the 5 V power rail and the common LED driver traces to 0.5 mm (see KiCad project on
GitLab).
Do you agree that is the main power integrity issue of my design or is it something else? I am also grateful for any other hints to improve my design. Thanks in advance!