I'm not entirely sure how to ask this because I'm just a hobbyist . . . but here goes.
My daughter and I are working on a PCB for next year's pinewood derby car (I call it the Carduino). It's base on the ATmega32U4. I'd like to be able to use the same schematic for Christmas ornaments this year. So, to be flexible, here's my plan.
I added a tag-connect footprint for flashing the Arduino bootloader onto the AVR; that footprint includes a power pin I called V_ISP.
I added a USB port which provides power on a rail I called V_USB.
Finally, I have a battery port for V_BATT.
I tried to protect each of these with Schottky diodes and if the USB power is present, it should charge the battery and power the device (and allow you to flash the AVR with firmware).
We have WS2812Bs on the board so we need a 5V rail . . . and I want to run the AVR at 16 MHz. So, I have a boost converter to get the input voltage (I call V_IN) to a stable 5V. Then I LDO it down to 3v3 to power accessories (like an accelerometer).
Today I read that the USB power rail can have a maximum capacitance of 10uF! My boost converter has a 22uF capacitor on the V_IN line which I assume would contribute to the capacitance of whichever power supply is providing power.
First of all, am I doing this all wrong in the first place? Will the 22uF cap on the V_IN line exceed the capacitance limit of the USB port? What's the right way to do this?
Thanks!!
Edit: Will this work?
Following some of the answers and discussions, pushing the USB power into the boost converter will likely exceed the USB specifications because of the inrush current due to the large capacitance on the power side of the boost converter.
But, I don't really need to boost the USB power because it's already stable . . . so the best bet is likely to switch off the power supply from the battery when USB power is present.
Would this effectively put the device into "charging mode" by eliminating the load on V_BATT?
simulate this circuit – Schematic created using CircuitLab
Edit: The New Version
Here's what I have now. I'll come back and update this question once I figure if it works or not. :)