I have the following circuit set up on a breadboard:-
The '470 uF' capacitor is actually 104 uF, it was mislabelled, sorry. ;D The transistor is a MOSFET, I didn't know the symbol for a MOSFET when I drew it. The MOSFET I'm using is this one.
I labelled the power rails as '9VA' and '9VB' because the motor is powered by 6 AA batteries, and the Arduino by a 9V battery, both with shared ground. The tests give the same results even for 5V USB Arduino power though.
I want to make a simple RC car toy that can be controlled by the computer over Bluetooth. The motor runs fine without the Bluetooth shield on the Arduino, but if I have the Bluetooth shield on, it causes a reset after a short while of being run (sometimes a fraction of a second, sometimes a little more, but never more than 3 seconds).
I actually have two programs set up (one for the PC, one for Arduino) to control the Arduino through Bluetooth, but even with the simple 'blink' example modified to give an always-high output the reset happens when the Bluetooth shield is connected (although it isn't actually being used). It runs fine without it though.
Datasheet etc. for the Bluetooth shield can be found here.
I've recorded a video of the problem that you can watch here.
The programs for Processing and Arduino, respectively, can be found here and here.
A user on IRC suggested that the problem might be that the MOSFET draws current, and the Arduino having to power both the MOSFET and the Bluetooth shield, browns out. I'm not sure yet how to check for a brown-out though. I'll measure the current flowing through the 100 ohm resistor and post the results here.
So, finally, for my question:-
How do I fix this?