This has all the bells and whistles, so it'd be nice to get some more eyes on it.
It's exported from Upverter, which to be honest, I'm not particularly happy with the exported schematic view. The schematic looks decent within the tool, but as you can see, it's kinda terrible when viewed here!
Other than that, I quite like Upverter.
It's an ESP8266 dev board.
USB-UART bridge uses DTR and RTS to control the programming pins, NodeMCU-style.
Battery or USB, whichever is higher, feed the main voltage input. That goes to a SMPS, which a fixed 3.3v output, and an enable pin tied to a low-voltage cut-off for when the battery sags to around 2.8v.
USB power is also feeding a battery charger.
Most of the semiconductors are also ones that are available through AliExpress, which to me, means the Chinese clone market is using them and they should remain cheap/good/available, and easy to scale up if I want to manufacture.
Manufacturing and board bring-up postmortem:
(Excuse the terrible soldering, it was bodged a whole bunch of times as I was adding and taking things out of the circuit)
Most of the board works really well! USB enumerates and can program, the battery charges and works, the ESP8266 works.
A few issues that I missed, and need to be corrected:
- My USB/battery power switchover would work, if the battery was above the USB's 5v rail. It's just designed for a single ~3v-4.2v LiPo cell, so it doesn't work at all. I swapped it for those two huge diodes feeding the VCC rail you can see in the image.
- Because the diodes of relatively high voltage drop, the low battery cut-out triggers at closer to 3.8V than 3.0V, so you can get, like, 30 seconds out of the battery before it kicks it. Changing the MAX803's input to the battery terminal directly, but this will add a small phantom drain while it's off :(
- The SD card footprint didn't have holes for the plastic feet. They were easily snapped off with pliers.
- The ESP8266's D16 and RST should be connected together to allow deepsleep mode, if desired.