Bill of Materials

Part Quantity Unit Price Total Price Example Link
L298 Motor Driver (Dual H-Bridge DC Driver) 1 ~$5.99 $5.99 here
Raspberry Pi 3 Model B Board 1 ~$32.00 $32.00 here
Jumper Wire Kit having (M-F, M-M, and F-F is handy) 1 ~$5.00 $5.00 here
iRobot Roomba 560 1 ~$30.00 $30.00 here
32GB microSDHC Memory Card 1 ~$7.49 $7.49 here
14-18vDC Lithium Polymer Battery Pack 1 ~$15.99 $15.99 here
14-18vDC Lithium Polymer Battery Charger 1 ~$37.99 $37.99 here
XT90 Battery Connector Lead Wires/Pigtail 1 ~$7.99 $7.99 here
Lever Nuts Wire Connection Pack (28pc) 1 ~$18.95 $18.95 here
JBL CLIP 3 Portable Speaker 1 ~$39.95 $39.95 here
Small USB Battery Bank (5vDC over USB) 1 ~$19.99 $19.99 here
Momentary Push Button (Low Voltage) 1 ~$5.79 $5.79 here
Sullins Connector Solutions:RBB06DHHN 1 ~$-.– $-.– Not available

The BOM is provided for your convenience. Please note that parts availability varies wildly, so any links provided might not still have active products. Consider getting some of your parts used. For your Roomba, only the motors need to be functional.

You need three separate battery packs: 1x5vDC, 1x14-18vDC, and one integrated into your speaker. If your battery pack is 18vDC, then you can use it, but you can also get a 18vDC LiPO battery and charger. The 18vDC battery is only used to drive the motors. The 5vDC battery pack should only be used to power the Raspberry Pi. You should get a small enough battery pack so it fits in the casing easily. Large banks are difficult to work with in the confined space of a Roomba.

During testing, consider using a bench power supply set to the target voltage of your battery pack, that way, you don’t have to continuously charge the battery pack. Pick up another pack of XT90 leads and some primary wire.

This documentation is written for the iRobot Roomba 560 model, but these instructions should be adaptable to other robot platforms as well, especially those from the same generation from iRobot.

Note: Older versions of this documentation indicated that you should also get limit switches. Newer revisions have changed to using the Roomba’s built-in sensor array.