I am having an issue with getting full power output from the USB ports on the Zero4U, and no combination of cables I use is allowing more than about 400mA from the ports and voltage is dropping below 5V. Using a mobile phone as a high-current (>1A) example, and an inline USB power meter to measure current, I am getting the following:
3.1A Power supply --> Phone = 5.185V 1.13A (stable)
3.1A Power supply --> Pi Zero 2 W --> piggybacked Zero4U --> Phone = 4.785V 0.438A (fluctuating)
3.1A Power supply --> Zero4U JST connector (With Pi attached) --> Phone = 4.706V 0.441A (fluctuating)
3.1A Power supply --> Zero4U JST connector (Pi removed) --> Phone = 4.889V 0.439A (stable)
The power supply is confirmed good, all cables are tested and capable of >1A, and nothing else is plugged in to the Pi nor Zero4U. Is it somehow stuck in bus-mode power mode despite having a power supply? Why is the voltage dropping below 5V like it is overloaded?
You did mention Pi, so I assume your Raspberry Pi (Zero/Zero W/Zero 2 W) is attached underneath Zero4U? You Raspberry Pi also draws current (via the pogo pins), which is not measured by your current meter.
Zero4U's USB ports's power rails directly connect to the JST XH2.54 connector, or to the USB Mini connector (if you use that for connection). There is only a 2A polyfuse in between.
It is recommended to use a power supply that can deliver higher current, 1A is too small if you want to have Raspberry Pi running and also charge your phone.
@admin The power supply is 3.1Amps, and I included the tests above where I was plugging directly into the JST connector on the Zero4U, even without the Pi attached at all, and it still won't deliver 5V at anything more than about 440mA
@rossj84 Your phone is not ideal for this kind of test, because it will decide how much current to draw from the source. When it comes to phone charging, there are different ways to negotiate the charging current with the phone, but Zero4U is not designed for that and it does not negotiate at all. The charging current is eventually decided by your phone, as it appears as a ~10 Ohms resistor to Zero4U.
If you want to confirm what current can Zero4U's USB port deliver, you can use a pure resistor load. A 2.5 Ohms resistor can drop 2A from 5V source.
@admin That is a good point about the negotiation, I can't find any 2.5ohm resistors but I've just tried a USB ring light which is drawing 1.077A, but the voltage has dropped to 4.015V. Is that normal?
The original problem I was having is that I had the Zero4U mounted to the PiZ2W, with the following peripherals plugged in:
- Webcam (MS LifeCam Cinema)
- Android phone
And I was running into power issues and instability in the Pi operating system, error messages about unstable voltage, and the Android phone was discharging even though it was plugged in. It seemed to only be getting about 100mA from the Zero4U and frequently dropping the USB connection.
Further testing with the ring light: Plugged directly into the power supply, I can increase the brightness all the way up until it is drawing just over 2Amps, and the voltage is rock solid at 5.03V.
With the Zero4U plugged into the same power supply and the ring light (only) plugged into the Zero4U, it will only go up to 1Amp and the voltage drops to around 4V. Does this mean the Zero4U is limited to around 4 watts of power?
When the current is rather big, the resistor of the wires, connection and copper trace on the PCB can not be ignored. There are tools/methods to measure the actual resistor from one end to the other.
As I mentioned, Zero4U doesn't do anything to limit the output current or output power. The 5V on the USB port is basically directly connected to the power source you feed to the board.
If you noticed significant voltage drop, you may figure out where the voltage is dropped by measuring the voltage between two points in the route. If you have a voltmeter, you can check the actual voltage that arrives to Zero4U, the voltage after the polyfuse and the voltage on the USB port etc..