I am building a project using a Raspberry Pi and a decently sized LCD screen and NVMe SSD. These things draw a lot of current together, and they cause a significant voltage drop in my system. The CM4 is specified to be limited to the (4.75, 5.25) volt range, and anything outside that range can either cause damage or trigger random restarts.
The issue I am having is that despite using a stable power supply (I'm using a lab power supply for now for testing), the voltage drop in the CM4 varies wildly during usage. For reference, when idling, I need to provide 5.5-5.6 V to the IO board where the CM4 sits in order to keep the CM4 voltage at 5V. Even then, if I do any normal task, the voltage initially drops another 0.2 V, and sometimes drops up to 0.4 V. This is already enough to drop the voltage well below the recommended limit, and I'm already supplying 0.25 V over what I should just to keep the internal voltage within boundaries. I could provide even more voltage, but then I'd have the opposite issue, where when the CM4 idles, the voltage drop would be reduced so much that the internal voltage would rise out of boundaries.
The solution I have thought of is using an active power supply that monitors the CM4 module's internal current, and updates the provided voltage in real time to keep the internal voltage in the 4.9 - 5.1 V range. This would be done using a variable output switching voltage regulator like the TPS565208, and either implement the voltage monitor in the voltage regulator circuit itself, or have the CM4 monitor itself and control the regulator on its own.
However I am starting to believe that this is a bit too complicated, and that there is either something wrong with my approach, or a better and simpler way to do it. In simpler terms, what I need is something that automatically corrects the supplied voltage to the CM4, so that its internal voltage is kept at a stable 5V.
Note: I want to mention that I haven't had any issues with current. The calculated max draw of the system would be around 5 A, yet I haven't seen my power supply go above 2 A, and it can supply up to 10A, as well as the cable used to connect to the IO board. The IO board specifically is the X635 by Geekworm
EDIT: After a comment by @Attie I decided to modify a bit the wiring of the testing power supply, and that more or less seems to have solved the issue. The voltage drop still varies, but at least is within 0.1V during boot, which already is a lot better than the previous 0.2 - 0.4V drop. I'll add some images below to explain how I had everything set up
- Original power supply to female USB-A port
- Oscilloscope probe connection to the board
- The whole setup running
- The new connection of the power supply to the USB port (I used the cables to cover up the data pins, but they aren't actually connected to anything)