GRS Mesh Device - USB-C Power Guide

Charging your device, reverse charging another device, and the 3-second flip.

Charging Your Device

Plug any USB-C charger into the device's USB-C port. The device will:

  1. Detect the power source automatically (no interaction needed)
  2. Display an Apple-style charging animation on the screen
  3. Show the battery percentage and a lightning bolt () icon in the status bar at the top of every screen

The device charges at whatever rate the USB-C charger supports (up to the board's rated input current).


Charging Another Device From Your GRS Device (Reverse / OTG Charging)

Supported on: LilyGo T4-S3 and T-Display-S3 (verified). T-Deck and CYPHER-M8K may also support - assume it may work.

  1. Connect your phone or any USB-C accessory to the device using a USB-C cable
  2. The GRS device will detect the connected accessory and switch to host mode
  3. Your phone or accessory will begin charging from the GRS device's battery
  4. The status bar will show a icon to indicate reverse charging is active

Safety limit: The device will not enter reverse charging mode if its battery is below 20%. This prevents accidentally draining the device completely in the field.


The 3-Second Flip - Switching Charging Direction

The fastest way to switch between "device charges phone" and "phone charges device" is the 3-second re-plug mechanic:

  1. Unplug the USB-C cable from either end
  2. Re-plug it within 3 seconds
  3. The device detects the quick re-plug and flips the charging direction
SituationBefore unplugAfter 3-second re-plug
Normal chargingCharger → GRS deviceGRS device → phone/accessory
Reverse chargingGRS device → phoneCharger → GRS device (or phone → GRS device)

You can repeat the 3-second re-plug to flip back at any time.

If you wait longer than 3 seconds after unplugging, the next plug-in will default back to normal charging mode.

The device will display a brief notification on screen each time the direction changes.


Status Bar Indicators

The always-on status bar (top 12 px of every screen) shows:

Icon / SymbolMeaning
78% + battery outlineCurrent battery level
next to batteryCharging (external power → device)
iconReverse OTG charging active (device → external)
iconScreen capture active via USB

Frequently Asked Questions

Q: My phone isn't charging when I plug it into the GRS device.

Check:

  • The GRS device battery is ≥ 20% (required for reverse charging)
  • Your board supports USB OTG (T4-S3, T-Display-S3, CYPHER-M8K only)
  • The cable supports data + power (not a charge-only cable)
  • Try the 3-second re-plug if the device is currently in device-charging mode

Q: Can I charge the GRS device and my phone at the same time from one cable?

No - a single USB-C cable is either sourcing or sinking power on the VBUS line, not both simultaneously. You can charge the device via USB-C while the device's internal radio and display run, but you cannot charge an external device at the same time through the same port.

Q: The 3-second re-plug isn't working.

Make sure:

  • You're re-plugging the same end of the cable within 3 seconds
  • The device had fully detected the previous disconnect (wait for the screen to acknowledge)
  • The device battery is ≥ 20% (required for reverse charging activation)

Q: Which devices support reverse charging?

DeviceReverse Charging
LilyGo T4-S3 (ESP32-S3 OTG)
LilyGo T-Display-S3 (ESP32-S3 OTG)
T-Deck CYPHER-M8K (Rokland) May support - assume it may work; firmware config not yet added
LilyGo T-Deck (base) May support - assume it may work
T-Beam No OTG
Heltec V3 No OTG

Q: Will this damage my phone?

No. USB OTG reverse charging is a standard USB specification. The GRS device sources 5V at USB-standard current (up to ~500 mA for USB 2.0 OTG). This is the same as any power bank. The 20% battery minimum guard prevents full discharge.


Reference

  • Firmware source: grs_usb_power.c / grs_usb_power.h
  • Board config: GRS_HAS_USB_OTG, GRS_VBUS_GPIO, GRS_USB_VBUS_EN_GPIO in grs_mesh_config.h
  • Status bar: grs_status_bar.c / grs_status_bar.h