Undervolts on Pi



  • Very interesting. I've discovered I'm getting a LOT of these:

    Apr 19 11:24:26 duet3 kernel: rpi_firmware_get_throttled: 10 callbacks suppressed
    Apr 19 11:24:26 duet3 kernel: Under-voltage detected! (0x00050005)
    Apr 19 11:24:31 duet3 kernel: rpi_firmware_get_throttled: 9 callbacks suppressed
    Apr 19 11:24:31 duet3 kernel: Voltage normalised (0x00000000)
    Apr 19 11:24:33 duet3 kernel: Under-voltage detected! (0x00050005)
    Apr 19 11:24:37 duet3 kernel: Voltage normalised (0x00000000)
    Apr 19 11:24:47 duet3 kernel: Under-voltage detected! (0x00050005)
    Apr 19 11:24:51 duet3 kernel: Voltage normalised (0x00000000)
    

    Just sitting. Not printing, no heaters, etc. DWC shows
    a87bbd54-f378-421d-b432-1c36107e3686-image.png

    Physical config is "out of the box", ribbon cable and default jumpers, Pi powered from Duet. Pi is an Pi 4B+ with 4Gig ram.

    Not asking for support... I will reconfigure my power... just pointing out this was happening and I did not know it. Discovered via 'sudo journalctl -f' while looking at something completely different.



  • Trying to work out the voltage drop or current in the ribbon cable would be the interesting bit, although given the frequency and duration maybe just measuring 5v on the Pi is sufficient.



  • Yeah, the Pi has quite a few grounds in that ribbon, and two 5V "VCC" or "VIN" pins. I don't have a D3 schematic, so I'm not sure exactly what it is 'sending'.

    Anyway, I'd be REALLY surprised if it is the cable. Voltage drop across 10cm is a lot less than we all think, even on very thin wires, if you really put a pencil to the numbers in the tables.

    I'd come a lot closer to believing the 5V reg on the Duet is not up to the task. Which is fine. Its nice to be able to "get it out of the box and plug it together" for initial runs, but I really ought to set it up differently for a variety of reasons...



  • I mentioned what is likely the same thing a while back. Indeed, you commented on it... Duet3 SBC Power Warnings

    I still get this happening continuously. While it doesn't seem to cause problems, I'm not really comfortable with it. I've bought a 25W DC/DC converter to power the Pi separately... just waiting for it to arrive.



  • Exactly! I wasn't seeing any symptoms of any kind, everything worked.

    By the way, at the moment I found these (a few min ago), the Pi has a Logitech C270 plugged into USB but not doing anything, and does NOT have the screen. So it is very interesting that I can do something (plug in the screen) that factually pulls about 100mA more, and everything still works.

    Let me try the screen and see about the frequency of these events in the log. Back in a few moments.



  • Yeah, about 20 min after plugging the screen, no noticeable change. I'm just eyeballing, no log scan analytics or anything, but it clearly didn't double or anything.

    Therefor, I believe this is not, or only very loosely, current related. I'm trying to find some small voltmeters to embed in the thing right now.

    More later.



  • Switched the Pi to its "wall wart" for the moment (note Pi4 went to USB C micro for power connection). Pulled 5V > Pi jumper.

    This is very temporary.

    Seems to have eliminated messages.



  • @Danal I've consistently had random undervolt errors when not using "proper" power supplies on all of my pi's. I'm unsure what the max power delivery is from the duet 3, but in other applications (mostly octoprint setups) I'll consistently get random undervolt errors w/out a beefy directly wired in supply.

    Doesn't seem to effect performance, but definitely happened more when i had webcams plugged in via the usb ports directly (not thru a hub)

    haven't tried a 4, but i'd assume that it has higher power draw that anything i have here.



  • From the day I upgraded to duet3 and sbc I always intended to supply an external 5v to the pi.

    I went overboard and purchased a 5v 10amp meanwell psu.

    I went down this route because the sbc boots up from an ssd (very fast) and is fed from external 5v and my printer camera also runs off a separate raspberry pi running motioneyeos.

    Fortunately I have never experienced under voltage issues.



  • I don't have Duet3 but I'm using over 100 different SBC's here (most orangepi, some rpi2/3/4), as we started pushing MySQL to ARM platform too so it requires some Q&A, and learned long time ago that voltage drop on the cables powering these can be "huge". The PRC made USB cables with 5.00 (or more common 4.89) V chargers that can deliver 3-4A get the "undervoltage" error even on light (sub 500mA) load. Looks like a lot of these cables are very thin aluminium wire with copper coating. Some are even magnetic! So using "beafier PSU" does not help if you use same cables.

    Second issue is that some versions of RPI boards (never had that issue with other SBC's) have rather poor power routing on the PCB so even if you drop 5.0V 10A on the pcb itself with thick cables and good PSU, attaching a load on the USB (camera, "fancy keyboard with leds and screen and stuff", power for the screen ...) will again show "undervoltage" errors even with 5.00 being on the board itself. I didn't trace the boards myself to see where the drop actually happens but I added a self powered USB HUB to eliminate the problem.



  • @Danal said in Undervolts on Pi:

    Switched the Pi to its "wall wart" for the moment (note Pi4 went to USB C micro for power connection). Pulled 5V > Pi jumper.

    This is very temporary.

    Seems to have eliminated messages.

    Yeh, this is exactly what we found on the system I have at work. I had planned to try this on my test printer at home, but the Duet & Pi are kinda buried in the base of the printer at the moment and I'd rather not have the downtime at the moment.

    @Luke-sLaboratory said in Undervolts on Pi:

    @Danal I've consistently had random undervolt errors when not using "proper" power supplies on all of my pi's. I'm unsure what the max power delivery is from the duet 3, but in other applications (mostly octoprint setups) I'll consistently get random undervolt errors w/out a beefy directly wired in supply.

    Doesn't seem to effect performance, but definitely happened more when i had webcams plugged in via the usb ports directly (not thru a hub)

    haven't tried a 4, but i'd assume that it has higher power draw that anything i have here.

    Currently, this issue doesn't seem to affect anything in terms of printing or reliability. However, it's not true to say that it doesn't affect available performance - when the Pi detect an under-voltage situation it will throttle the CPU. So if people start making fancy scripts and interacting with DSF, it could cause issues.

    @chas2706 said in Undervolts on Pi:

    From the day I upgraded to duet3 and sbc I always intended to supply an external 5v to the pi.

    I went overboard and purchased a 5v 10amp meanwell psu.

    I went down this route because the sbc boots up from an ssd (very fast) and is fed from external 5v and my printer camera also runs off a separate raspberry pi running motioneyeos.

    Fortunately I have never experienced under voltage issues.

    I'd be interested to know how you ended up wiring this up since I'm going to be needing to do this in the near future. Assuming you didn't hack the ribbon cable to the D3, did yo solder to the underside of the Pi onto the GPIO header or hack up a USB-C cable?



  • The onboard 5V regulator is rated at 4A IIRC. I wouldn't trust it to run the Pi except under minimal load.

    Powering the Duet from the SBC has been working fine for me. I have a hefty 5V 8A Meanwell powering the SBC (Jetson Nano) because it has a USB3/nvme SSD, plus camera and touchscreen connected. Plenty of current left over for the Duet. I actually have a relay between the SBC and Duet so I can power cycle the Duet if I have to.



  • @gtj0 said in Undervolts on Pi:

    The onboard 5V regulator is rated at 4A IIRC

    i think you do recall correctly, and i think dc42 said we could load the 5v_ext rail that goes to the pi and io_n headers with 3a leaving 1a for the duet3 but there aren't any fuses or other mechanisms except a diode that will drop some of the 5v right off the bat.



  • @ChrisP said in Undervolts on Pi:

    'd be interested to know how you ended up wiring this up since I'm going to be needing to do this in the near future. Assuming you didn't hack the ribbon cable to the D3, did yo solder to the underside of the Pi onto the GPIO header or hack up a USB-C cable?

    If you connect the pi externally via its external 5v input pin then this bypasses the internal protection so for both of my pi's I hacked usb cables so that they retain onboard circuit protection.

    @arhi said
    Looks like a lot of these cables are very thin aluminium wire with copper coating. Some are even magnetic! So using "beafier PSU" does not help if you use same cables.

    Forgive me if I am wrong but my 50 years working in the electrical field tells me that the voltage drop on a 100mm long cable will be negligible. If the cable is not beefy enough to supply the amps that is being pulled then you would soon know about it because it would start a fire!



  • @gtj0 said in Undervolts on Pi:

    The onboard 5V regulator is rated at 4A IIRC. I wouldn't trust it to run the Pi except under minimal load.
    Powering the Duet from the SBC has been working fine for me. I have a hefty 5V 8A Meanwell powering the SBC (Jetson Nano) because it has a USB3/nvme SSD, plus camera and touchscreen connected. Plenty of current left over for the Duet. I actually have a relay between the SBC and Duet so I can power cycle the Duet if I have to.

    Looks like we done similar.

    My set up works flawlessly too.



  • @bearer said in Undervolts on Pi:

    @gtj0 said in Undervolts on Pi:

    The onboard 5V regulator is rated at 4A IIRC

    i think you do recall correctly, and i think dc42 said we could load the 5v_ext rail that goes to the pi and io_n headers with 3a leaving 1a for the duet3 but there aren't any fuses or other mechanisms except a diode that will drop some of the 5v right off the bat.

    Interesting. Didn't know there was a diode... do we know that the Vf is for that? Even a low Vf schottky diode is around 0.3v. The Pi apparently starts throwing warnings and throttling then the supervisor notices the 5v rail at or below 4.65v (a 0.35v drop) .

    The Pi4 apparently idles at ~650mA but with gui, chrome, DSF, apache, a touchscreen, keyboard, and pi cam I can easily believe we'd be looking at over a couple of amps. While I'm never a fan of using ribbon cable for handling current like that, I think they should be fine here (even assuming 26AWG aluminium conductors at 150mm)... providing there's a full 5v coming from the D3. If not, the current being drawn down that cable could cause just enough of a drop to tip over the limit.



  • @ChrisP said in Undervolts on Pi:

    do we know that the Vf is for that

    its D30 which is a CDBA540-HF digikey said Voltage - Forward (Vf) (Max) @ If 550mV @ 5A which seems high for a schottky



  • As far as I can tell, the "Duet powers Pi via ribbon" is not at all sensitive to current. Adding or subtracting 100 or 200mA makes no difference. (I'm sure there is some upper limit, where adding 5 full amps would cause a problem, or whatever. Pundits, hold your tongues regarding edge cases).

    This lack of current sensitivity argues strongly against simple resistance based voltage drop. The Zener sounds much more likely.



  • If its not current sensitive then it has to be something else? Its not a constant; and given the sort duration and high frequency i doubt temperature is the issue (unless indirectly caused by load fluctuations).

    It could well be its not dependent on the load of the PI though.

    9e291af5-a00c-44e9-949c-847f4ca9e221-image.png


  • administrators

    The 5V regulator on the Duet 3 has both internal and external 5V outputs, both through didoes.. On version 0.6 and 1.0 boards, the feedback to the regulator takes an average of those two voltages. So the 5V external output (which is the one fed to the Pi) will see about half the difference in the two diode drops, not all of it. This is likely to mean that at low loads you get 5V and at 2.5A load you get 4.9V. There will be additional voltage drop in the ribbon cable and connectors.



  • There's been warnings from Octoprint about running Raspberry Pi's with lower rated supplies than the official supplies. I've got everything ready to go now, and was planning on using an external feed for the Pi and screen as the ratings from the duet seem to cut it very fine. My choice, and I know others get away with it.

    I wonder it this has anything todo with the short raspberry pi lifespans one of our fellow users ( @spllg ) is seeing?



  • Scrub my last question, that specific user has external power to the PI I think.


  • administrators



  • @chas2706 said in Undervolts on Pi:

    If the cable is not beefy enough to supply the amps that is being pulled then you would soon know about it because it would start a fire!

    Not sure how a .2-.6W will cause a fire, the cable will (and usually does) get slightly worm and that's about it. Again, I'm talking about USB cable, not the flat cable on the duet. Replacing cable with a proper one in all cases solved the problem. Looks like here the 2 diodes dc mentioned are the issue. I doubt there's any issue in the flat cable (have not seen those made out of crap, like USB cables I was talking about) but any drop after 5V reg. like a diode can be enough to trigger the voltage warning on the pi.



  • Looking at the schematic and @dc42's comment, I don't think it is the diodes since the regulator feedback is taken after these.

    I've just tried starting my system up from cold with nothing attached to the Pi (other than the D3, clearly) and I didn't get power warnings at all (can be observed by either the Pi's red power LED staying lit or looking at the journal logs). As soon as I plugged the LCD in, I begin getting occasional under-voltage warnings that tend to last for ~6 seconds before the voltage shows as normalised again. If I then open a chrome tab on the Pi with DWC then the it's under-voltage warning is on pretty much permanently with only the occasional flick off - not long enough to register as normalised in the journal logs.

    Having looked at the schematic, I'm now wondering if the bottleneck is that all the power to the SBC (via J48) seems to go through just one jumper - JP4. While I don't know the exact spec of the part used, the internet seems to suggest that these are typically rated at 2A.


Log in to reply