I've recently acquired a Create 2 and want to power a Raspberry Pi (and potentially other sensors/motors) off of the serial port. I've seen the official recommendations (e.g. power from the motor drivers instead) but am trying to see if I can make use of the more accessible power from the port.

Through testing, it looks like skipping the 200mA fuse (using an ammeter on the board) allows for at least ~1.5A of draw. However, the 26AWG wires of the serial-to-USB cable limit the current to ~360mA for power transmission, which I can bypass by unbundling the cable or just using header wires and recombining them for the USB converter. I also see D80 on the board in particular that could be a little small/have a low current limit, and the traces seem somewhat small in comparison to the traces that lead to the motor outputs.

Are there any other current limitations? If I were to replace or bypass the fuse, what might be an appropriate current limit?


First the disclaimer - if you modify the robot by defeating or replacing the protection features you're on your own.

That being said here is some useful information that will hopefully help you make good design decisions.

The fuse is actually a PTC. The benefit is when you eventually accidentally short battery to ground in your project the PTC protects but then resets after you clear the fault. This saves you from having to disassemble the robot and perform additional soldering and eventually damage the SMD pads. It also avoids you not having the right value fuse and just deciding to short it through because you tell yourself you know what you're doing and you promise yourself you'll be careful. That never ends badly.

The connector pins are rated for 0.5A each, the diode is a 1A diode, the tracks are 12mil wide 1oz copper, also good for about 1A, and the power supply in the dock delivers 1.25A to the robot when the battery is charging. A few tens of miliamps go to running the robot processors and the rest of the 1.25A goes to charging the battery. This last bit is important. While you are developing on your project it is likely that you will sit the robot on the dock assuming all is good because the dock is powering the robot. If your project takes all of that 1.25A or more then the remainder actually comes from the battery so you can kill the battery by drawing too much power even while docked. Be sure to use both pins 1 & 2 and 6 & 7 for power and ground on the connector so you don't overload the contact pins.

A 1A PTC doesn't protect at 1A, it will allow 1A to pass without tripping. If you choose to replace the PTC choose one that is rated above your expected load but less than 1A. Usually the goal for the PTC is to protect from a loose wire or failed component from damaging the robot. The PTC needs to protect before the diode or tracks fuse themselves. This ends up being a thermal mass race so picking a lower rated PTC biases the race in favor of protecting. The 200mA PTC was chosen based on the anticipated load of powering processor in the communication cable.

What if you need 1A or more? You will have to get it via the motor drivers. The battery has built in protection as well. Depending on which battery you are using it is either a 4.2A PTC or a 5.5A current limit. The motor drivers in the robot run directly from the battery rail and have built in current limit. Those current limits are based on the capabilities of the motor drivers and the anticipated motor loads when it was a Roomba. You will need to pay more attention to the robot battery state of charge and will need to remember to turn off your project's heavy loads when the robot is docked to enable the battery to charge.

If you need more current then that you will need to provide power from a source other than the robot battery.


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.