My project has an atmega328 (arduino-programmed) controlling two stepper motors, displaying position information on an lcd, and receiving instructions from a matrix keypad and over bluetooth from a laptop. It all works like a treat at 5v and i have now swapped in the components needed to run at 3.3v (the 'arduino' is an arduino-programmed atmega328 running at 3.3v and 8MHz, a new lcd runs at 3.3v, and the bluetooth module needed no change). It all works fine...

Now I want to power this system by a lipo cell (hence the change from 5v to 3.3v) and i have purchased a 6AH 3.7v lipo from sparkfun.

My question is this: given that the stepper motors draw about 800mA-1Amp total when they are both moving at the same time, and the rest (the atmega + LCD + bluetooth + matrix keypad) draws up to 150mA, how should I best regulate the output voltage from that lipo cell?

Option 1: have no voltage regulator at all - would this be OK? I suppose I should have some sort of under-voltage protection though but I'm not sure how to achieve that.

Option 2: Get a low drop out 3.3 voltage regulator - but I cannot find any that will handle the sort of current I have here. It also seems pretty inefficient.

Option 3: have no voltage regulator for the stepper motors (which can happily operate up to 5v and would not be damaged at low voltages) but then regulate the atmega and all the other components.

Option 4: Some sort of 'buck-boost' system (like the one from SparkFun - link below) but again due to the current draw I would only be able to have that wired up to the atmega + components, the steppers would have to be unregulated. Would that be OK?

Looks like a good part to use - takes in 5v from USB or elsewhere (5v regulated wallwart) to charge the battery. Connect battery to motors (via switch to disconnect during charging?) and 3.3 out to the circuit.The 8 MHZ atmega will run just fine on 3.7V (I do the same for an RFremote contro), don't know aboutyour other parts.