Arduino con alimentacion externa da saltos

Hola, tengo un arduino conectado a 2 motores con su driver correspondientes,
si lo alimento por usb, los motores funcionan correctamente, si lo alimento con una bateria externa de 9V los motores dan saltos.
por que puede ser esto?

Nunca he alimentado mi arduino con 9v, yo utilizo 4 baterías de 1.5v ... y he trabajado con motores, servos, sensores, etc. sin problemas

es posible que los motores te devuelvan corriente, se te a quemado algun micro?¿

Podrías solucionarlo con algun condensador gordo junto a los motores o algun diodo rectificador que no permita el paso de la corriente que te devuelven los motores.