I recently got 5 broken Roomba robot, with the purpose of scavenging useful parts and trying to assemble one frankenstain style.
Motors are working!
The motor assembly is always working, is the sturdiest and more reliable part of the robot.
The motor has an encoder, which is analised on the motherboard, an endstop switch which connects when wheels are pressed against the ground and a spring that compress between 800 and 1200g.
The motor assembly weights ~250g.
Motors are powered at 12v dc.
The pcb connector leads out the assembly the motor, the encoder and the switch.
The battery pack has inside 12 nimh cells soldered and glued together, with a thermistor and an auto-resetting fuse.
Cells have a really good capacity, 2000-3000mAh and in a failed battery pack usually 5-9 cells are still good to use.
The roomba charges directly the battery using a mix of delta and trickle charging.
The motherboard is by far the most complex piece, a monolythic big large pcb with 2 layers, protected by a metal and a pastic sheet.
The core processor is an MCU, with lots of port expanders.
All buttons are directly soldered onto the motherboard.
There is a microphone inside the vacuum, probably with the purpose to find if there are big debris inside. This sensor is isolated with rubber and is really brittle.
The driving circuitry is all integrated inside the motherboard, the motor drivers hold just enough current to drive the motors.