A battery would complement the device very well and after some research here is some info.
- In order to not change the case design a maximum battery capacity is around 500mah, this should be enough with deep sleep implemented.
- According to the schematics found at https://github.com/lewisxhe/TTGO-Electronic-Badge/blob/master/schematic/T5_V2.2.pdf the VBAT pin is not connected to the ESP32 so a "manual" connection has to be made, possibly to pin IO34.
- The GPIO on the ESP32 works at a 3.3v level and the battery is 3.7v (4.0v while charging) so a voltage divider has to be added to the board in order to bring the voltages down.
- The board already has a charging circuit but the charging LED (or any charging signal) is not available in the GPIO header, so either "charging mode" is detected by voltage increase on VBAT or "LED_G LED0603 BLUE" has to be remapped to the available GPIO.
- In addition to the VBAT pin the charging pin (VBUS/CHRG) is hardwired to the onboard USB which will be hard to get around without some hackish solutions. Ideally a vertical USB connector would replace the existing one thus removing the need for an extra USB.
- The cases are likely to be reprinted since the battery barely fits the existing model. A 2mm increase in depth should be enough to accommodate the battery nicely.
- The device consumes ~85mA while powered, peaking to ~150mA when pulling data.
- In deep sleep mode the device consumes 7mA which is higher than the researched values of around 10μA (https://lastminuteengineers.com/esp32-sleep-modes-power-consumption/). This is likely to be related with the onboard LED's (charding and power) that are always powered on. Ideally these would be removed in order to save power.
- Software wise, deep sleep can be implemented with ease and a prototype has been sketched out. The network connection and deep sleep functionality have to ported out of "Manager" into the modules that require it (eg: TickerView). The "Manager" module has to store the current view in RTC in order to be aware of what view the module is at since the CPU and RAM are powered off in deep sleep.
- A new board has been manufactured which includes the following changes:
- Remove SM_20PIN header.
- Replace SM_20PIN pads with PCB through-hole.
- Remove MICRO_USB_SMT.
- Replace MICRO_USB_SMT pads with PCB though-hole.
- Remove LED_G LED0603 BLUE (charging LED)
- Remove LED_G2 LED_G LED0603 GREEN (power LED)
- Connect VBAT with pin 13 on SM_20PIN (IO34).
- Connect CHRG on TP4054 with pin 14 on SM_20PIN (IO33)
- Connect RED LED to pin 12 SM_20PIN (IO26)