So basically how can I charge both the cells without adding any more major components?
You severely underestimate the complexity of two-cell LiPo charging. A specialised IC designed for two-cell Lipo charging is recommended, as there is a complex sensing and 'balancing' process that needs to happen during charging to ensure both cells are changed at the same rate/voltage, else problems can occur.
A possible IC for charging 1,2, or 3 Cell lipo batteries is the Texas Instruments BQ24133 and similar devices. They have a large range of battery managment ICs, check it out.
arduino needs 7volts to operate.
Well that is not entirely true - it needs 7 volts because it has a crappy cheap linear regulator on the Vin input jack. It has a large drop-out margin, so needs the 2V gap between the 5V output and the 7V+ recommended input. You can bypass this with your single cell lipo by putting it directly into the VCC pin (V5+ pin). PLEASE NOTE YOU MIGHT DAMAGE YOUR ARDUINO, AND YOU CANNOT RUN THE ATMEGA328P AT 16MHZ ANYMORE!!
Basically, you will need to somehow get a 3.3V, 8Mhz version of an arduino (Like the arduino Pro [mini] with 3.3V 8Mhz setup on the board) and do what I mentioned above. Please be careful, there is no reverse protection or over-voltage protection on this pin, as it's assumed to be nicely regulated and protected by then. Don't say I didn't warn you!
(Or how can I power this setup?)
I suggest you just get a much larger capacity single cell Lipo pack and let the bluetooth module's integrated charger do it's thing. Nothing wrong with 3.7V. Also your 2-cell Lipo will need regulating down to 3.3V somewhere, so there is losses involved with this as well. You must check that if you will use a single cell lipo charged fully to 4.2V, if the system will not be damaged by this - check max ratings for all devices in their datasheets. Maybe you should look at getting a 3.3V LDO (low dropout regulator) and plug the single cell lipo into this, which will nicely drop out the system at 3.4~3.5V and remain very efficient the whole time.
I suggest a Micrel MIC5205 for that purpose I mentioned above.
There are benefits to doing high voltage (like lower input currents), for motor driving etc and avoiding regulation of those high current driven devices, but for a low-power embedded system I suggest just staying with a single cell lipo with high capacity.
good luck!
The answer is to use a charging chip that has the ability to back off on charging current when the input voltage from the solar panel begins to collapse.
While using a regular Li-Ion charging IC will technically "work" with a solar panel, it will take forever to charge in practice, and, as mkeith pointed out: "it will never get a chance to terminate charging".
The discussion about this on the Adafruit website is the best explanation of this phenomenon that I can recommend to others with this question:
Most people try to plug a solar panel directly into a lipo charger and while it sort of works, the battery takes forever to charge because the efficiency is terrible! That's because most lipo chargers are meant to plug into a USB port or wall, and are very simple in their design. USB ports supply 5V at up to 500mA and they're pretty solid - the voltage doesn't change much even at the max current draw. So when you plug a charger into a computer with a USB port, they just draw 500mA or so and happily chug away. Same goes for wall adapters. The voltage and current limits are kept steady.
Solar panels are a little different, the voltage and current vary constantly depending on sunlight available. They are unstable! That instability confuses battery chargers, which causes them to do one of two things: rapidly turn on and off as they try to draw more current from the panel than possible and/or draw much less current than they can, to keep the voltage from collapsing
Best Answer
I don't think this is good idea. The charger measures voltage and current to determine proper charging profile for LiPo. It cannot distinguish between too high battery current and normal current + additional load. Plus, in your case it is simply too weak to support combined current (max battery output is 1A).
That is the reason for modern BMS having "power path" technology, which does tricks like charging battery while feeding the system with extra power if it is available, or supplementing weak power source with some battery discharge. Your MCP73871 is exactly that kind of BMS! I'd recommend using it as intended.
Keep in mind, that
One more thing. You said your charger provides "regulated 5V output". The MCP73871 does not do this. If external power provided it goes directly to OUT pin. It will be 5V from USB and 6V from solar panel. So basically, there are no "losses of the regulator" you are trying to avoid, except those in the GSM module that you have no control over anyway.
UPDATE:
If you draw enough current to drive supply below battery voltage (which is not hard to do with solar panel) then (and only then, per Kirchhoff) the battery will start discharging. At this point MCP will go into shutdown mode (see UVLO in datasheet) which will cut the input off and (hopefully) protect the charger. So, yes, you will get your surge current.
However in all other conditions you will have charge curves off and nice precise chip doing fools errand. All that to solve a problem created artificially by bad choice of LDO. I'd recommend using ultra-low LDO (ISL80103, LD39200, NCP59300) for as little as 0.12V drop and let the chip do its job.
UPDATE 2
Come to think of it, why do you need LDO at all?
In most cases the output voltage is at or below 5V. Only the combination of fully charged battery, bright sun and GSM in some low power mode will result in higher voltage, and even then only 1V over!
What you need is a voltage clamp. Something as simple as zener circuit below or a bit more complex with FET like this. Note that both have exactly zero loss under normal conditions, unlike LDO which will always drop some voltage, even if input is below regulation level. I even think you can find high power 5.05~5.1V zener with enough internal resistance to get by with just diode alone, assuming GSM module has permanent connection to output.