So to give an update, I received and built updated boards a while ago, I used 0603 and up passives as opposed to the 0402 of my first design :
(Don’t mind the poor solder job, I swapped some components here and there )
One issue that bothered me is the whine at low loads, the first driver I built also had some but it was very faint. The 2 others were more audible, I’m more sensible than the average person because I have hyperacousis, hence for me this is unacceptable.
As mentionned in the previous page at low loads the regulator starts to skip pulses for higher efficiency, at some point the frequency enters the audible range and vibrating components (inductor, MLCCs) can make audible noise. In this case the noise comes only from the capacitors and not the inductor.
There are several articles about MLCC noise : for example
They list several things that can influence the intensity of the noise such as :
Mounting orientation, vertical or horizontal internal layer, which are impossible to know in caps with a square section (the vast majority), vertical mounting is more noisy.
Solder filet size : too much solder leads to more noise.
Those two can explain the variation between the 3 drivers I’ve built, I verified the orientation thing by testing a few capacitors on the two orientations and indeed that affects the noise.
I also built drivers based on the TPS61178, but never heard anything despite it also having a pulse skipping mode, the reasons I think are that smaller cases make less noise, I used 0805 caps because I’m running it at a higher frequency, also because it has a shorter minimum pulse lentgh (being able to switch at 2MHz vs 0.5MHz for the TPS61288), so the transients are less energetic.
As mentionned in the article there are special MLCCs with less acoustic noise, the problem is that they are pretty rare, more expensive, don’t exist in 1206 case and up (AFAIK), I did try making those caps on interposer by adding a copper spacer under each terminals (as seen in the pics) it is as annoying to do as it works, additionally after finding the right orientation for the caps the driver makes barely any noise, not a realistic production method though, probably poor reliability too.
They also mention that when mounted on the opposite side of the board the vibrations can cancel out each over, that might be worth a try, along with trying caps with a rectangle square section to identify the internal layers orientation.
Another point is that the TPS61178 TPS61288 can’t maintain 5A@6.5V for long before it starts overheating and hiccuping, that is before the firmware even starts to throttle down, even on 2oz PCB with decent copper pours, in that regard my first design was better because the regulator was located closer to the edge where I could place a lot of thermal vias to a large copper pour on the back, though when located in the center in my second design the layouting is much simpler, by using a smaller batt+ pad (brass button only) I could place more vias. 4A seems to works fine.
I assume that the small size of the TPS61288 doesn’t help for thermal transfer either.
Anyway due to those issues I designed another driver based on the MP3431 and also built one a few weeks ago, the MP3431 has an ”ultrasonic mode” in which the frequency doesn’t drop below 23kHz (more like 30 in reality), hence no acoustic noise, there is also no need to apply a minimum load with a resistor in order to prevent flickering at very low currents.
(The through hole resistor was for a test)
Unfortunately it was still noisy on the low range, for another reason : unstability :( . I put it aside to work on other things for a change, I got back to it recently and tweaked some values to make it stable by slowing down the Op-Amp, which leads to another issue : a current spike at startup, mostly visible at the bottom of the high range, I believe this is due to the Op-amp output now taking too long to rise at startup (if OPA output is low > FB is low > regulator thinks the output voltage is too low > need to rise the voltage > more current). This is something that Mike C warned me about and apparently that was an issue on the GXB172 too.
A solution is to delay the HDR FET at startup, there is still a small bump in brightness but it is much less pronounced since the higher value sense resistor limits the maximum current during the spike. Preferably this would be done in software just like the delay needed for the HDR FET when ramping from the low to high range In order to prevent a flash, I explained In detail why this delay is needed here.
Since I don’t have the skill to do that I added the delay in hardware which unfortunately requires 4 components because the delay needs to be only when the FET turns ON and not OFF (otherwise it flashes when ramping down...).
Additionally I improved the layout a bit for better thermal, also did some cost optimisation by using an inexpensive LDO and a better suited HDR FET that is also less costly. I should receive the boards in a few weeks.