I'm building an Arduino-based quadcopter. I already built a partially working prototype and now I'm preparing the second version, which will probably be the definitive one.
Instead of the the whole Arduino (UNO) board (actually it's quite a small quadcopter, and the board is too big for it), I'm going to use only the microcontroller, ATMEGA328. I set it up on a breadboard following this tutorial on Arduino's site and it works fine... if I don't use my 4 motors simultaneously (but of course in order to run a quadcopter I need them to work together).
My quadcopter is powered by a single cell LiPo battery (3,7V; 600mAh; 2,22Wh): a unique battery for the 4 brushed motors, the microcontroller and some sensors. If I connect the ATmega328 directly to the battery, just like the motors, it sometimes fails and reset for example because of some current spikes, too big for the battery, when the motors start.
So my question is: can I set up a "stable" circuit, with as little noise as possible, to run the Arduino and the sensors first of all without risk of failure in case of current spikes in the motor's circuit, and secondarily to get the best ADC results etc.? How can I do that?