Skip to content

Lilygo T-LoRa-Pager support #1479

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

emericklaw
Copy link
Contributor

@emericklaw emericklaw commented Jul 14, 2025

Proposed Changes

Add support for the Lilygo T-LoRa-Pager.

Device Features

  • QSPI Flash/PSRAM
  • GPIO Expander
    • Needs converting to the way Bruce already implements IO Expanders using io_expander ioExpander
  • SD Card
  • Battery Charger/Gauge
  • Keyboard + backlight
    • Settings to vary brightness? At the moment it uses the same level as the screen
  • Haptic feedback (startup, keyboard and encoder)
    • Settings to switch off?
  • GPS
  • NFC
  • Audio (Speaker and Mic (ES8311) - no libs available, there is an espressif component that Lilygo uses)
  • Expansion Port
    • Tested with:
      • NRF24
      • CC1101
  • LoRa
  • Accelerometer

Hardware Docs: https://github.com/Xinyuan-LilyGO/LilyGoLib/blob/master/docs/hardware/lilygo-t-lora-pager.md
Lilygo PlatformIO Repo: https://github.com/Xinyuan-LilyGO/LilyGoLib-PlatformIO/

Types of Changes

New device

Library changes
Reworked the changes made to the Adafruit library by rennancockles - https://github.com/rennancockles/PN532/
This was needed since this library included coded from the Adafruit BusIO library but with modifications. The latest Adafruit library was needed to stop the T-LoRa-Pager from boot looping when the I2C keyboard was initialised.

The BusIO changes were merged into https://github.com/emericklaw/Adafruit-BusIO_Bruce
The PN532 changes were merged into https://github.com/emericklaw/Adafruit-PN532_Bruce

GPS Serial Port
I have updated the GPS code to use different TX/RX pins (GPS_SERIAL_TX/RX) since the T-LoRa-Pager has multiple UARTS one for GPS and one for expansion port - precompiler_flags.h takes care of the mapping if not defined to the standard GROVE_SDA/SCL pins.

CURRENT_YEAR for GPS
Now updated a build time to the current year.

mykeyboard.cpp
Since the T-LoRa-Pager has both a keyboard and encoder I had to make minor alterations to the order of the code.
Also allow both encoder and keyboard to be active at the same time, this is because the T-LoRa-Pager keyboard has a limited range of symbols and the encoder needs to be able to move through the on screen keyboard to select.

Verification

image

Testing

No unit tests

Linked Issues

None

User-Facing Change

Add support for Lilygo T-LoRa-Pager

Further Comments

@emericklaw
Copy link
Contributor Author

Preview Build

Download: Bruce_dev_T-LoRa-Pager.bin.zip

Flash with https://esptool.spacehuhn.com/ at address 0x0

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant