0
\$\begingroup\$

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

\$\endgroup\$
5
  • 1
    \$\begingroup\$ "I am starting to believe that this is a bit too complicated" - correct... What cables are you using between the power supply and device? Using a multimeter, what voltage do you measure at the power supply terminals and device's terminals? I'd be quite surprised if this voltage drop is within the device, but it could certainly be in cheap / small gauge cables used between the supply and device. Also, what current limit have you got set on the power supply? \$\endgroup\$
    – Attie
    Jan 30 at 12:29
  • \$\begingroup\$ @Attie I am using a oscilloscope to probe the 5V pin of the IO board, which should output 5V from the CM4. The power supply cables is a bit of a weird thing. I'm having to use crocodile clips to connect to a female USB-A port, and to that port I connect a regular USB-A to USB-C cable, rated for 10 A. On the power supply the current limit is set at 10 A \$\endgroup\$ Jan 30 at 12:35
  • \$\begingroup\$ EE nitpicking: "voltage though" isn't correct. You have voltage across and current though. \$\endgroup\$
    – winny
    Jan 30 at 12:41
  • 2
    \$\begingroup\$ "I'm having to use crocodile clips to connect to a female USB-A port, and to that port I connect a regular USB-A to USB-C cable" - I don't follow, please draw a diagram showing how things are wired (and perhaps include photos if you're doing non-standard things) \$\endgroup\$
    – Attie
    Jan 30 at 12:44
  • 1
    \$\begingroup\$ You can add bulk capacitors to your power supply circuit. Capacitors can help stabilize voltage by providing additional charge during transient load changes. Ensure they are appropriately sized and have low equivalent series resistance (ESR). You can make an Automatic AC Voltage Stabilizer like this too: pcbway.com/project/shareproject/… \$\endgroup\$
    – liaifat85
    Jan 30 at 12:48

2 Answers 2

2
\$\begingroup\$

It sounds like there simply isn't enough margin between the power supply voltage and the CM4 minimum input voltage to account for all the losses in-between (cables, traces, connectors etc).

You can confirm this by measuring the voltage drop across the cable, and the voltage drop between the IO board and the CM4.

If you can swap the IO board for one with eg. a 12V input and an on-board regulator, that would be the best solution.

Alternately, you could try a thicker/shorter USB cable if that's where most of the voltage drop happens.

\$\endgroup\$
0
\$\begingroup\$

I've actually had the same problem, not with a CM4 but with a RPI4, but their power consumption should be rather equal.

The RPI was running fine with the official power supply, but since I had to run it from a car battery, I used a 12V USB charger rated a 3A and a standard 1.5m USB cable. It was running, but almost constantly showed the "low voltage" warning. Then I took a regulatable lab power supply with a short (cut) USB cable and intended to rise the voltage a few tents of volts to reduce the undervoltage. This did not have the desired effect, as apparently the PSU's voltage regulation wasn't able to react on the changing consumption fast enough. When the CPU got busy, the RPI now even crashed, despite the higher base voltage. After some more investigation, this showed that a lab power supply might not work reliably to power a PI4, despite these being considerably more expensive than a 5V buck converter typically used in a car charger.

The (to this day) final solution was to stay with the car charger and buy a short 15cm USB cable. Now the PI is working reliably again and the warning is gone.

\$\endgroup\$

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.