Is it good practice to separate the charging circuit (TP4056, DW01A, FS8205, and related components) into a separate PCB? My plan is to connect this secondary PCB to the main PCB via two wires, similar to how a battery would be connected. This would help me to take advantage of all the space on the main PCB.
It's not really 'good practice' (as in it does not help or hurt your design; you can do either and get a working product), but it may be helpful when e.g. the main PCB needs to be in a different place than the USB connector or battery, or when you want to re-use the battery PCB for another project as well. Shouldn't really be any issue with that. You might want to break out the data lines and an extra ground of the USB connector as well in that case, in case some other project (using e.g. a later ESP32 which has a built-in USB controller) needs it.
About the pull-up resistors, I understand some display modules already contain them. I am using an SSD1306 module. If my module already includes pull-up resistors, is it still necessary to add external ones? If I do add them regardless, will it cause any issues?
It might work, but be aware that the pull-ups on the module tend to be something like 10K while the I2C specs (for 3.3V) would want something like 3.3K there. Note that it's always an option to put a resistor on your PCB design and then mark it as 'do not populate'; that means the solder pads are there in case you need them anyway.
Thank you very much for your help!
Based on your feedback, I understand that I can separate the charging circuit into a secondary PCB and keep only the ESP32-related components (function buttons, display, etc...) on the main PCB. I will connect these PCBs with cables (I understand that using a flex PCB is pretty much the same).
Regarding your suggestion about the data lines, I’ll omit it for this specific project, as it will use a different chip in future versions and will require a completely new PCB. Nevertheless, I hadn’t considered this before, and I appreciate the suggestion, it will be useful for future projects that may require modular PCBs.
I also understand that I can use 0 ohm resistors to connect the SDA and SCL pins of the SSD1306 module to the corresponding ESP32 pins if I later need 3.3K resistors.
Thanks again for your time and patience!
