As options for three-cell Li-ion/LiPo charging, you may choose from
Alternatively, you may use LTC4007 (datasheet), however, this requires an input voltage of at least 6V, so you'll have to supply an in-between boost mechanism from the USB voltage of 5V.
What you are trying to achieve does not seem overly hard but it needs to be better defined than has been done here so far because the situation that you describe sounds to be different enough than the usual charge & run situation that you need to make specific provisions.
You need to identify desired pass through Imax and I_pass_through_average for a given Ah capacity. The most demanding case will be that with the largest pass_through_Ah ratio.
Usually with simultaneous 'charge and run' situations I load is less or much less than Ichg_max. In such cases it is often OK to address the battery needs and accept that the load may somewhat prolong charging times. Clearly I_load_average must be less than I_charge_averge or the battery would never charge, but you may get situations where I_load is > I_charge for significant periods, or is a substantial fraction of I_Charge_terminate, and this will affect charging results.
Usually Imax in constant current mode Icc is the same in mA as the capacity in mAh. So a 1000 mAh cell is charge at 1000 mA max, a 5Ah cell at 5 A max etc.
If you just increase charging capacity without regard to interaction with charge termination you may 'have problems'. This is because LiIon/LiPo charging typically terminates when I charge in CV mode drops to some preselected percentage of ICC = Imax and I_pass_through is seen as part of Iterminate if special steps are not taken to prevent this.
Taking the extremes of your spec ie 3A charge and 5Ah cell that is 0.6C charge (still under the usual 1C max) the usual charging terminate current will usually be in the 0.5C to 0.1C range with 0.25C being typical. So here with a 5 Ah cell Iterminate will be 2.5 A / 1.25A / 0.5A max/typ/min. If I_pass_through is say 1A mean it will swamp a 0.5A terminate current and interact significantly with a 1.25A or even 2.5A terminate current. In a dumb charger, if the C/10 rate was used for terminate the charging would almost certainly never cease, at 1.25A terminate (C/4) it may cease on load dips and at 2.5A terminate charging may be prolonged.
A LiPo cell charged at CC of C/1 will reach about 75%-85% of full capacity when CV level of 4.2V is reached. If charging is at less than C/1 (as will be the case if you charge a 10 Ah cell at 5A or C/2) then an even larger % of the full capacity has been transferred when you reach 4.2V. If you are happy to accept say 90% of full capacity then the easy choice is to hard terminate charge when 4.2V is reached and have no CV final stage. This removes the need to make end of charge determinations based on combined pass through and CV currents. Some charger IC's are available with no CV stage.
Also, as now you only need a CC stage and a voltage cutoff at 4.2V then a current limited
power supply and a comparator will fill your need. Adjustment of the current limit on an off the shelf supply may suffice in a small volume research situation.
Best Answer
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.
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!
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!