Raspberry Pi USB vs. Arduino

Plugging an Arduino with GRBL into a USB port on a Raspberry Pi 3 with bCNC causes an immediate crash: the Arduino doesn’t power up and the Raspberry Pi stops responding. A hardware reset / power cycle with the Arduino plugged in doesn’t improve the situation, so it seems the Arduino draws more current from the USB port than the default setup will allow.

Most likely, the Arduino’s 47 μF power supply caps draw too much current while charging, as the steady-state current seems to be around 40 mA:

RPi vs Arduino - USB current
RPi vs Arduino – USB current

The solution / workaround requires a tweak to /boot/config.txt:

#-- boost USB current for Arduino CNC


# blank line above to reveal underscores

Update: As mentioned in the comments, the max_usb_current option doesn’t apply to the Pi 3 you see in the picture and, thus, shouldn’t have changed anything. Your guess is as good as mine.

I’d be more comfortable with a separate power supply plugged into the Arduino’s coaxial power jack, but that’s just me.

2 thoughts on “Raspberry Pi USB vs. Arduino

  1. That’s strange. I’d think the lower current limit on the USB port would be better for charging the caps without causing the host to brown out. And looking into the meaning of that flag, it appears it isn’t implemented on the RPi version 3.

    This is deep in the “why does that work?” stage of debugging.

    1. Soooo: setting a option that isn’t defined changes the outcome. Who’d’a thunk it?

      I’m running the MPCNC from that Arduino + GRBL through a laptop for some bCNC testing, but when I reunite it with the RPi, I’ll definitely try it both ways.

Comments are closed.