Chances are the problem lies with your power system. When motors start up, they require much more current than they use once they’re running. The battery will try its best to satisfy this bigger power requirement, but something has to give. In many cases, that “something” is the battery’s output voltage, which can sag so low that the robot’s MCU resets itself. Even worse, the MCU sometimes doesn’t reset cleanly, and “runs away,” executing garbage data from your EPROM. Continue reading