2

BLUF: I'd like to see if there's a solid way to delay the boot-up of the kernel to keep a Pi from sucking up a lot of juice out of the gate, or the USB bus to delay the devices' boot-up until after the Pi is in an "idle" state. Essentially, I'd like to forgo the early-on feeding frenzy of power consumption and try to spread it out across a set amount of time to prevent any brownouts.

Details: After calculating a quick and dirty power budget, I've determined that there may be an issue in my build during boot-up: the Pi might draw too much power once I have all my devices connected (the order for the BOM hasn't come in yet, so I currently don't have all the pieces on hand, hence the question).

Here's my current list with some rough figures:

  • Raspberry Pi 4, headless (~750mA peak, ~310mA "idle" [scripts running but no perephrials])
  • Alfa Wi-Fi card (~270mA idle)
  • 64GB USB thumb drive (~250mA idle, will be writing constantly during operation)
  • USB GPS puck (~140mA full operation)
  • Cameras x2 (unsure of the current draw; I'm using an old webcam until my ordered cameras come in--they should be much more efficient and will sit in standby mode until turned on by a script, however, they will be initialized at boot-up which could draw about ~250mA each, roughly totaling ~500mA)
  • Discrete LEDs and switches (<10mA based off the resistor values I'm using)

The devices' total is roughly 1170mA (pretty close to the 1200mA limit) plus whatever the Pi itself will end up using.

I'll be augmenting the USB 3.0 ports with an expander, but not a powered one. I understand that a powered expander would probably solve all my issues, but I wanted to tackle the issue programmatically first if possible. Also note the Pi won't be easily serviced, so waiting until after boot-up then plugging in additional USB peripherals isn't an option.

I'd love to hear anyone's ideas on how to solve this problem or what you've done in a similar situation! If push comes to shove I'll order powered USB expanders to negate the issue altogether, but I'll roll the dice first! Thank you!

1

One thing that might help is switching off the USB things until you need them - however IIRC even USB Hubs that do properly support Per-Port Power Switching will tend to power up in the powered state. If you can find a suitable hub then the uhubctl project will be of interest.

For the record a suitable hub might be a one that UGear do, it is a USB2/3 4-port hub for RPi type projects and they have worked with the uhubctl developer to ensure it works properly. {Disclosure: they sent me a free sample which is working for me to switch on/off a couple of external USB2 RFID readers on a RPi project with a UPS-backup.}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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