First of all, a huge thanks to Hackaday user [Spatz] for helping me out with the schematic! Soon I will post another project log entry describing all those changes from the original! But for now, some physical prototypes.
If you're unfamiliar with the term, a "works-like" (WL) prototype is a prototype that doesn't look like your intended design, but it has all the features you think are going to go in your intended design. It's usually large, easy to assemble, and easy to re-work where necessary.
I designed and ordered a WL board about two weeks ago. A LOT has changed in the design since then (more on that later). Still, it would be a good opportunity to sanity-check parts of the design and, hopefully, run some firmware!
...Well, the works-like doesn't work.
Big issue 1: can't upload new programs to the ESP-WROOM-02. This is discouraging because it's such a dumb mistake on my part. In my excitement to order this WL PCB, I completely failed to finish the design. Around the WROOM-02 module, I'm missing pullup resistors on EN and GPIO2, I didn't tie nRST to Vin, and I didn't tie GPIO15 to GND. And, since I laid out this board so badly, it isn't as easy to rework as it should be. While I was soldering on those connections, I knocked Q1 off the board. That's a teeny-tiny SC-70 package that will be hard for me to reattach. Sigh.
Big issue 2: LiPo charging doesn't work as promised. What is the deal with these MCP73831 modules? The datasheet describes what the STAT pin should do: turn an LED on when charging, turn the LED off when charging isn't happening. So how come my LED turns on when there's no battery plugged in? How come it stays on after the battery is fully charged? I built my circuit precisely like the datasheet specifies, with the correct resistance to match my LiPo's 1C charge rate. I even used their suggested value for the LED current-limiting resistor, even though it was WAY TOO BRIGHT. I don't know. Should I be using a different charge IC? I don't know where to begin diagnosing this one.
So, that's what I'm grappling with right now. There are enough design changes in the circuit that I'm not sure it's worth my time to keep re-working this poorly-laid-out PCB. I'd much rather pick up the pieces and build a friendlier WL prototype that incorporates the latest version of the circuit. Speaking of which, I'll post another design log soon describing all those changes.