JoepSchyns / Low_power_TTGO_T-beam

Low power consumption for TTGO t-beam

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Low power TTGO T-beam

The TTGO T-beam is a microcontrollers with a ESP32, WiFi, Bluetooth, GPS, LORA and Battery handling. Therefore it is especially suitable for off grid applications. However, little documentation can be found on reducting battery consumption.

This sketch demonstrates how battery consumption can be reduced to 10ma during sleep, see image below. Please feel free to push more power reduction methods.

TTGO T-Beam 10ma power comsumption
TTGO T-Beam 10ma power comsumption

Components

Chip Application Documentation Power reduction methods
Esp 32 Processor https://docs.espressif.com/projects/esp-idf/en/latest/ Deep sleep
- - - Power-down of RTC peripherals and memories
- - - GPIO isolation
- - - LED 14 low
Neo-6m GPS https://www.u-blox.com/en/product/neo-6-series Power Save Mode
SX1276 Lora https://www.semtech.com/products/wireless-rf/lora-transceivers/SX1276 Sleep mode
CP2104 USN to UART bridge https://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/device.cp2104 TODO/not possible
w25q32 Flash memory https://www.winbond.com/resource-files/w25q32jv%20dtr%20revf%2002242017.pdf TODO/not possible
tp5400 Battery management http://www.tpwic.com/index.php?m=content&c=index&a=show&catid=172&id=71 TODO/not possible
4a2d Voltage regulator https://www.st.com/resource/en/datasheet/ld3985.pdf TODO/not possible

Neo-6m UBX communication

The t-beam gps chip (Neo-6m) can be put into sleep by commisioning a power save command using proprietary UBX protocol over Neo's RX TX pins. In normal mode of operation the chip sends out location using NMEA protocol. Switching between these protocols can be done via pin 14 and 15 (see Data Sheet 1.15). However, as can be seen in the image below, these pins are not connected on the T-beam. During testing is established that the Neo does execute UBX commands in NMEA mode but does not send back acknowledgements. Therefore UBX commands, such as the sleep command, that do not require acknowledgements work out of the box. Nonetheless, protocols switching pins 14 and 15 are exposed on the t-beam. Thus the pins could be soldered to two GPIO pins by hand. By connectings these pins UBX acknowledgements could be enabled, this is however not an necessity.

TTGO T-Beam Neo-6m hardware configuration
TTGO T-Beam Neo-6m hardware configuration

Dependencies

Useful links

About

Low power consumption for TTGO t-beam


Languages

Language:C++ 100.0%