I've been using a Boron to drive a 5V micro servo with a Grove Shield and Grove connectors. Unfortunately, the Grove Shield powers each connector port with 3.3V. While this is marginal, it has been sufficient to drive my servo, which only needs to move a very small load through a short arc.
I’ve had this setup running successfully for several months on over 10 Borons using the same model servo.
Recently, my newer devices started rebooting when I attempted to write to the servo using the 3.3V power supply. However, when I use a breadboard and power the servo with 5V from the VUSB pin, it works fine.
Question: Can anyone think of a reason why this marginal setup stopped working on the newer implementations? Could it be related to updates in the Device OS code or other subsystems?
Driving a servo from the 3V3 line is not recommended for two reasons:
You'll probably exceed the limit of the regulator which could cause a brownout reset (probably what is happening now), or you could damage the regulator.
There is also a potential for voltage transients coming back from the motor affecting either the regulator or the MCU.
5V is the correct solution when using a motor. Actually, an external support is better than VUSB depending on the size of the servo as the reasons it's bad for 3V3 also apply to a lesser extent for a computer USB port.
Whenever you slightly exceed the design limitations, the outcome is always uncertain. It might work for a while, or not. You never know, and it may stop working at any time.