External 5v Source



  • Is it possible to provide an external 5v power source to the Duet 3 6HC?

    I'm currently powering the board with a 27v/7a power supply, and the board is powering a Pi 4 through the ribbon cable. However I also have a Pi touchscreen hooked up to the Pi 4, powered from the Pi 4's USB-C port. And a wireless keyboard transmitter, too. Plus I'm using the Pi 4's wifi. The combination is causing the voltage from the Duet 3's 5v converter to drop to about 4.86v, which is very close to the absolute lower limit for a Pi 4 and is within the "weird gremlins" range where funny things can happen. The lightning bolt symbol on the screen is on almost all the time.

    What I'd like to do is add a small 5v/5a AC/DC power supply next to the 27v one and use that to provide the 5v that the Duet 3 and Pi 4 use, perhaps cranked up to 5.2v. I'd rather not add any more external wires (my Pi 4 is outside the printer, the Duet 3 is not). So I was wondering if I could connect 5v to the board, for example through the 5v pin of the PS_ON header, and set the 5v jumpers to disable internal 5v but keep the 5V -> SBC jumper closed, one of the so-called unsupported configurations according to the documentation. This would also allow me to retain the SBC backfeed protection.

    This would mean that the Vin and 5v grounds would be separate and isolated since they'd be on separate power supplies, I'm not sure if this is an issue. But since one of the supported options is to have the 5v provided by an externally-powered Pi, my guess is that it's not a problem.



  • Is it possible to provide an external 5v power source to the Duet 3 6HC?

    It has a 5v ext header and a int_5v jumper just like the other duets; so in short yes.

    I'm currently powering the board with a 27v/7a power supply, and the board is powering a Pi 4 through the ribbon cable. However I also have a Pi touchscreen hooked up to the Pi 4, powered from the Pi 4's USB-C port. And a wireless keyboard transmitter, too. Plus I'm using the Pi 4's wifi. The combination is causing the voltage from the Duet 3's 5v converter to drop to about 4.86v, which is very close to the absolute lower limit for a Pi 4 and is within the "weird gremlins" range where funny things can happen. The lightning bolt symbol on the screen is on almost all the time.

    Just to clarify; you're drawing power from the USB-C? Probably not intended but can't see how it would differ from the USB2/3 ports.

    set the 5v jumpers to disable internal 5v but keep the 5V -> SBC jumper closed, one of the so-called unsupported configurations according to the documentation.

    if you look at the schematic it will feed 5V_EXT_INPUT through a diode each to supply the 5V_EXT (sbc and other peripherals) and 5V_INT (the Duet) - but as you already know not recommended and not supported.

    This would mean that the Vin and 5v grounds would be separate and isolated since they'd be on separate power supplies, I'm not sure if this is an issue. But since one of the supported options is to have the 5v provided by an externally-powered Pi, my guess is that it's not a problem.

    The pi will always have a common ground with the Duet regardless of who gives who 5v. Common ground is needed for the SPI bus in any case; and the external 5v header also has a ground terminal which needs to be connected if supplying external 5v.

    Sounds to me like you would benefit from heavier gauge wiring between the Duet and Pi, and/or supplying the Pi and Duet through the Pi's USB-C from your 5V/5A supply adjusting the output to give you 5.2V at the Pi when idle?



  • @bearer said in External 5v Source:

    It has a 5v ext header and a int_5v jumper just like the other duets; so in short yes.

    I must've missed that on the board. That's handy!

    Just to clarify; you're drawing power from the USB-C? Probably not intended but can't see how it would differ from the USB2/3 ports.

    The Pi 4 USB-C port is solely for powering the Pi, it's not for data. But it's bidirectional, so it can be used to provide power to accessories (like the Pi touchscreen) if power is being provided through the GPIO 5v pin, like it is in this case. Saves me from wasting a functional USB port on something that's only needed for power. Not really relevant to this discussion, though.

    but as you already know not recommended and not supported.

    I get that it's not supported, but I'm not sure why it's not recommended. I'd love to know what the reasoning is behind that.

    The pi will always have a common ground with the Duet regardless of who gives who 5v

    Good to know, thanks!

    Sounds to me like you would benefit from heavier gauge wiring between the Duet and Pi, and/or supplying the Pi and Duet through the Pi's USB-C from your 5V/5A supply adjusting the output to give you 5.2V at the Pi when idle?

    I can't increase the gauge of wire in a ribbon cable, and I don't think that's the issue here. The 4.86v I measured was at the Duet 3, not at the Pi 4. That's before any resistance from the cable. Admittedly trying to power all those things through that ribbon cable is probably causing some extra draw than would otherwise be necessary, but it doesn't feel even remotely warm to the touch where the 5v courses. The Duet 3 is only rated to provide 3a at 5v from its onboard converter, and it looks like it does so at exactly 5v rather than the 5.1v or 5.2v that most Pi power supplies provide. With the Pi 4, touchscreen monitor, WiFi and keyboard, plus any other 5v components drawing power from the Duet 3, it looks like I'm hitting the limit of what the onboard converter can provide and that's what's causing the voltage to dip. I could power the Pi 4 directly with a separate power supply and some extra wiring, but it seems more beneficial and easier to just provide ALL the required 5v through this 5v_ext header that you mentioned. From what I've read, the Duet 3 can handle 5.2v constantly, with a peak to 5.5v.



  • I just checked and the 5v voltage on the board with no SBC attached is 4.96v. This was measured at the 5v_ext pin, which I think goes through a 220 ohm resistor. That tells me the actual voltage from the onboard converter is in fact exactly 5v. I'd love to see this increased to 5.2v in future revisions, like in all official and 3rd party Pi power adapters. It would give a bit of overhead as far as wattage, and would keep the voltage above 5v even when the 3 amp limit is being approached.



  • Now, it is not recommended powering the raspberry 4 via the duet, and instead use the raspberry official power adapter, via the USB-C plug.

    When the duet 3 was being designed There was only the raspberry 3, so most probably if you use a raspberry 3 you will be fine if you power it via the duet.

    That being said, it is not recommended because it is not worth the hassle for the duet community to support all the gremlins that came with this setup (and potential dangers, as you are bypassing some raspi's protections), but that doesn't mean it can't be done, or that it won't work.

    I haven't tried this yet, as I'm still commissioning the printer in which I intend to use a duet3, but what people with this setup is doing is:

    • Disable the internal 5v regulator (remove the Int_5V_EN jumper)

    • Use a 5v industrial power supply (with an output adjustment potentiometer), with enough power, and thick enough wires, and connect it to the EXT 5V header

    • Power the raspberry via the ribbon cable (leave the 5V -> SBC jumper ON, and the SBC -> 5v open)

    • Adjust your power supply output voltage so its exactly 5.5v with your raspberry idling.

    • Measure what voltage is receiving your pi. It should be in the neighborhood of 5.25v, and definitely more than 5.0v.

    If you cannot reach this voltage, DO NOT increase your power supply past 5.5v or you could damage your duet.

    This usually means you have too much draw in your raspberry (too many peripherals) or too thin wires.

    In that case, you could try a powered USB hub, if the peripherals are the problem, or using the official raspberry pi USB-C power adapter.

    If you want a more integrated solution, and you 5v power supply have adequate ratings for powering the duet and the raspy, you could run a second set of wires for the raspberry, and power the raspberry via one of the free gpio pins (you will have to mess with the flat ribbon connector, as it covers all the gpio pins) or via the POE header (the 4 pin header next to the Ethernet jack) you will only use 2 of the 4 pins, search for the pinouts.

    Lastly, most of the information is taken from this thread: https://forum.duet3d.com/post/179406



  • @javitopia said in External 5v Source:

    • Disable the internal 5v regulator (remove the Int_5V_EN jumper)

    • Use a 5v industrial power supply (with an output adjustment potentiometer), with enough power, and thick enough wires, and connect it to the EXT 5V header

    • Power the raspberry via the ribbon cable (leave the 5V -> SBC jumper ON, and the SBC -> 5v open)

    • Adjust your power supply output voltage so its exactly 5.5v with your raspberry idling.

    Yeah that's pretty much what I was considering doing with a Meanwell RS-25-5 power supply. They're dirt cheap, and they can run in parallel on the same mains connection as the 24+v power supply. Only exception is I was gonna have the voltage at "just" 5.2v rather than 5.5v because my understanding is that the components on the board aren't rated for continuous 5.5v use, only occasional peaks to that level. The Pi 4 is technically fine with any voltage down to about 4.7v (the warning doesn't get issued until 4.69v), and I think with the onboard converter putting out only 4.86v due to the near-max draw, the voltage has dropped to right around 4.7v by the time it arrives at the Pi 4 through the ribbon cable



  • You don't have to use a ribbon cable; I made my own with relatively heavy silicone wire for the power and thinner for the signals. "Normal" 2x20 and 3x13 dupont style headers with crimped terminals to make sure the drop was as low as possible. Should be some pictures way back when here.



  • USB spec voltage is 5V +0.25V - 0.55V, so I agree not pushing above 5.25V. I don't know what the Pi's contnuous rating is, but it's presumably at least 5.25V. The official PSUs are 5.1V.

    https://forum.duet3d.com/topic/19667/external-5v-source-through-duet3 has @dc42 saying the duet 3 can take 5.5V continuous, though.

    I have two power supplies. First is a 5V 5A trimmed to a smidgeon over 5.2V which is supplying both Pi and MB6HC (into the Pi on its header, into MB6HC on the EXT5V header) and all three power options jumpers off the MB6HC. I use moderate wires.

    The other supply is 24V switched using using pson at the EXT5V header. Pson switches a relay that switches the mains input to the 24V PSU.

    For teh 5V I actually use a POL converter which is very close to the Pi (about 10mm way as the electrons fly) and only a few hundred millimetres from the MB6HC so cables are not that critical.



  • For those using the PS_ON signal, remember that it is an open drain output switched by a AO3400A. That means:

    • When it is active (M80) this signal is pulled low (so it is like a short to GND)

    • When it is inactive (M81) this signal is floating, so you need to add a pull-up if you want a proper high level voltage.

    • The AO3400A maximum ratings are 30V 5.7A (but the current rating depnds on many factors, divide it by half to make sure)

    • If you are controlling inductive loads like relays by themselves (withouth a module), add a flyback diode



  • @javitopia said in External 5v Source:

    For those using the PS_ON signal, remember that it is an open drain output switched by a AO3400A. That means:

    • When it is active (M80) this signal is pulled low (so it is like a short to GND)

    • When it is inactive (M81) this signal is floating, so you need to add a pull-up if you want a proper high level voltage.

    I wonder if you could clarify something that's been bugging me about this.

    What's the default state of that pin? Because when I boot up, it's definitely not pulled low. Not until I actually issue an M80 command. And it can't be floating, otherwise an ATX power supply would be shut down as soon as the board boots. So is it just open? And is it possible to return it to its default state without rebooting?



  • @GoremanX said in External 5v Source:

    And it can't be floating, otherwise an ATX power supply would be shut down as soon as the board boots.

    Isn't that the part of the point? you supply the board with 5v standby to counter act that, which isn't affected by the ps_on input.



  • @bearer said in External 5v Source:

    @GoremanX said in External 5v Source:
    Isn't that the part of the point? you supply the board with 5v standby to counter act that, which isn't affected by the ps_on input.

    So is it floating at startup?



  • Haven't checked the code or measured the signal, but from the behaviour on the one printer I have set up with a ATX supply it does seems so. On power on the ATX supply only provide 5v standby until you turn on the ps_on output (pulling it low) and then you get 12v Vin.



  • (You'll want to check the current rating for 5v standby if you plan on using it for the pi)



  • @bearer said in External 5v Source:

    (You'll want to check the current rating for 5v standby if you plan on using it for the pi)

    I'm changing my mind on that. I think I'll just feed the Pi 4 directly with a separate 5v power supply set to 5.2v and have the Pi provide 5v to the Duet 3 via the ribbon cable. My tests with that setup have been successful, and I get better 5v on the Duet 3 than with the onboard converter, despite the resistance in the ribbon cable. The Duet 3 draws barely any current over 5v anyways, and this is one of the "supported" modes so I won't be running afoul of the "rules" 🤣



  • @bearer said in External 5v Source:

    Haven't checked the code or measured the signal, but from the behaviour on the one printer I have set up with a ATX supply it does seems so. On power on the ATX supply only provide 5v standby until you turn on the ps_on output (pulling it low) and then you get 12v Vin.

    I'm trying to set it up to work in reverse. That option is supposedly on the to-do list for the 3.x firmware series, but I haven't seen it in the 3.2 changelog so far so I'm assuming it didn't make it yet. I've been trying to figure out how to get it to provide 5v when pulled high, but I'm not sure how to go about it... I was considering a high pullup resistor between the 5v and ps_on pins



  • Reverse? For the ATX supply or the output? Yes, the output will support inverting the signal to support some Meanwell supplies i think.

    The ATX supply will need modification to work otherwise, or simpler throw a 5v relay in there and always on the supply.

    You can't supply any serious current through a pull up resistor btw.



  • @bearer I'm using a Meanwell power supply with remote control, hence the need to reverse the behavior.

    So if I understand correctly, if I add a resistor (say, 10k?) between the 5v and ps_on pins, then when ps_on is floating (M80), it'll provide 5v but when it's pulled low (M81), it'll provide 0v? That way I could connect the - (minus) pin of the Meanwell remote control to the GND pin and the M80 and M81 commands would function as expected?

    I'm hurting my brain...



  • @GoremanX I think you've tied your brain in knots.

    The board powers up in a floating state.

    M80 switches a power supply (that has an active-low input) on by pulling pson low.

    M81 switches a power supply (that has a active-low input and its own pullup) off by letting pson float.

    If you add a pull-up resistor to 5V it will power up at 5V, then when you issue M80 it will go low. As to whether this casuses your PSU to do what you want depends on the PSU. You mention a Meanwell RS-25-5, but I don't think that has a input that will work with pson - it's just on when mains is supplied and off when not.

    In my system I have an opto-isolator across 5V and pson. That activates a relay. Yes it has a flyback diode.



  • @achrn My 24v power supply is a Meanwell RSP-150-24, that's the one I'm trying to control with the ps-on pin. The remote control pins on that power supply function in reverse to an ATX power supply



  • Possibly stupid question: If I use an external 5V PSU, do I need to remove the INT_5V jumper?



  • @GoremanX said in External 5v Source:

    RSP-150-24

    Ah, of course - I was being stupid thinking it was the 5V you'd control with pson.

    However, my reading of the RSP-150-24 data sheet shows it as active low, same as a ATX. The data sheet I've found says "CN1: < 0~0.8VDC POWER ON , 4~10VDC POWER OFF".

    So yes, I think you could connect a pullup between pson and +5V, then connect pson to CN+ and ground to CN-. I don't know what current that needs - 10k might be a bit high- I'd probbaly start at 1k.



  • @oliof Yes. If you're feeding 5v to the board from an external source (either from a Pi or through the ext_5v pin), then you no longer need to use the onboard 5v converter. Removing that jumper disables the onboard converter



  • Just think of the mosfet (the device controlling the pin) as a switch between the pin and GND.

    When you issue an M80, the switch closed, so there is a path to GND.

    When you issue an M81, the switch opens, so there is not path to any of the power levels.

    As far as i know, you can't change this behaviour (use m81 to "close" the pin) so if you need to control a device that is active high you will need external circuitry like a 7404).

    What you can do, is changing the default state. If you want your duet to power on as soon as it is supplied power, just add M80 to your con fig.g

    If you want your duet to start powered down (i mean the ps_on signal) you don't have to do anything, but you should add M81 in your con fig.g, so the power control appears in your duet web control interface (in RRF3 the ATC power control block won't appear until you have issued a m80 or m81 command)

    and lastly @oliof YES if you feed 5v via the ext 5v header you have to remove the int_5v jumper.



  • @achrn Woohoo! That worked. Ended up going with a 100ohm pull up resistor, and it works great. Anything higher would cut the voltage down below the 4v threshold for the remote control. The draw from the mosfet doing the switching on the power supply is negligible, so my tiny 1/4 watt resistor isn't being stressed at all. I'll wrap it in heat shrink tubing and call it done.

    alt text


Log in to reply