ADC for battery voltage reading:
Requirements: 6V -> 1V, don't destroy the input, low power
- Fixed divider
- P-FET with capacitor control
- P-FET with N-FET control
1 is out because it requires continues current and really big values on resistors.
2 might put 6V on the ADC input when off, we don't want that.
I thought of 4 until I found 3. 3 will be cheaper and smaller to implement and I hope it will work so I'm going for that at the moment. Values of resistor will be decided later to keep number of rows in BOM as small as possible.
Requirements: Able to restart to programming mode
I settled for the cp21* family as it has better driver support and the part 3. CP2104 as it was used in other projects so I knew it worked.
http://community.silabs.com/t5/Interface-Knowledge-Base/Differences-between-CP2102-and-CP2104/ta-p/158933 but I have seen smaller CP2102.
Disable when running from battery:
Only found MCP73831T so far.
Requirements: 1 AA to 4AA, Lipo, NiMH etc. (0.8V to 5.5V)
TPS61200 is the candidate but looking for cheaper ones.
Added diode to prevent battery from powering CP2104