Why does Arduino work from USB power but not 9v dc jack

I am working on a small car and have the schematic as seen here for two wheels:

I also have a 5v sensor hooked up to the 5v pin, as well as an ICSP device hooked up on the pins on the back.

The problem comes when I run it on a 9v battery. When I plug a 9v battery into the DC jack it turns on but gets stuck in an endless loop of turning on and off again. When I plug the arduino in via USB though, it powers and works perfectly fine. If anyone has any idea why, and how to solve this I would love to know. I think it may have to do with the fact that the motors along with the ICSP device are pulling too much current from the arduino causing the current limit to be hit.

Any ideas welcome
Thank you.

Is this a PP3 9v battery.
If so, they cannot supply enough current.

A fresh 9V battery will power a typical Arduino alone for a few minutes.

However, motors and servos require a separate power supply, like a 4x or 6xAA battery pack. Never try to power a motor or servo from the Arduino 5V output, or you will damage the Arduino. You should also not try to power motors and servos from the USB port, or you could damage your computer.

Don't forget to connect all the grounds.

larryd:
Is this a PP3 9v battery.
If so, they cannot supply enough current.

It is a typical 9V battery :confused: . What would be a better option then?

jremington:
A fresh 9V battery will power a typical Arduino alone for a few minutes.

However, motors and servos require a separate power supply, like a 4x or 6xAA battery pack. Never try to power a motor or servo from the Arduino 5V output, or you will damage the Arduino. You should also not try to power motors and servos from the USB port, or you could damage your computer.

Don't forget to connect all the grounds.

These motors are below 5V motors, and after hours of testing using USB power (from my computer and the wall) there was no issue at all. The motors are hooked up using resistors transistors, and diodes (as seen in the original post) so backwards current as well as over current should not be an issue. I think my issue merely is the Arduino Stretching itself too thin by trying to supply all items connected with current.

//--------------------------------------------------------

Would it be more appropriate to power the Arduino with something like a RC car 12v battery?
I was hoping because of its price and size...

jaredc:
... The problem comes when I run it on a 9v battery. ...

That is indeed the problem. A 9 volt battery cannot provide the current needed to run much else beside the Arduino itself/ Your motors draw too much current and the voltage from the battery drops and drops until it isn't enough to even turn on the Arduino board.

Try a 6 AA cell holder to provide 9 volts - they use the same snap connector, but have MUCH more current available.

These motors are below 5V motors, and after hours of testing using USB power (from my computer and the wall) there was no issue at all.

For now. Eventually, electrical noise spikes will damage the equipment.