Skip to content

T-Deck Pro support #6936

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: master
Choose a base branch
from
Open

T-Deck Pro support #6936

wants to merge 7 commits into from

Conversation

mverch67
Copy link
Collaborator

@mverch67 mverch67 commented Jun 1, 2025

Implementation status (standard UI)

  • E-Ink display GxEPD2_310_GDEQ031T10
  • Touch driver CST328
  • LoRa Radio SX1262/SX1268
  • TCA8418 keyboard
  • GPS M10Q
  • SD card
  • BQ25896 battery fast charger
  • BQ27220 battery fuel gauge
  • LTR-553ALS light sensor
  • BHI260AP gyroscope (self-learning AI fitness tracker)

Note: reused keyboard code provided by @Szetya 🙏

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

@mverch67 mverch67 requested a review from caveman99 June 1, 2025 13:09
@mverch67 mverch67 marked this pull request as ready for review June 1, 2025 13:09
@mverch67
Copy link
Collaborator Author

mverch67 commented Jun 1, 2025

CannedMessage module function (keys) are missing currently.

@mverch67 mverch67 mentioned this pull request Jun 1, 2025
12 tasks
@Szetya
Copy link
Contributor

Szetya commented Jun 1, 2025

The BQ27220 does not provide useful information.

OperationConfigA Values:0x0
External Thermistor Selected: NO
BATT_GD Pin Polarity High: NO
BATT_GD Function Enabled: NO
Can Enter SLEEP State: NO
slpwakechg Function Enabled: NO
Write Temperature Function Enabled: NO
Battery Insertion Detection Enabled: NO
Battery Insertion Pin Pull - Up Enabled: NO
Pin Function Code (PFC) Mode: 0
Wake - Up Function Enabled: NO
Wake - Up Threshold 1: 0
Wake - Up Threshold 0: 0

OperationConfigB Values:0x0
Default Seal Option Enabled: NO
Non - Removable Option Set: NO
INT_BREM Function Enabled: NO
INT_BATL Function Enabled: NO
INT_STATE Function Enabled: NO
INT_OCV Function Enabled: NO
INT_OT Function Enabled: NO
INT_POL Function Enabled (High - Level Polarity): NO
INT_FOCV Function Enabled: NO

Standard query:
        - AtRate:0 mA
        - AtRateTimeToEmpty:0 minutes
        - Temperature:-273.15 ℃
        - BatteryVoltage:0 mV
        - InstantaneousCurrent:0 mAh
        - RemainingCapacity:0 mAh
        - FullChargeCapacity:0 mAh
        - DesignCapacity:0 mAh
        - TimeToEmpty:0 minutes
        - TimeToFull:0 minutes
        - StandbyCurrent:0 mA
        - StandbyTimeToEmpty:0 minutes
        - MaxLoadCurrent:0 mA
        - MaxLoadTimeToEmpty:0 minute
        - RawCoulombCount:0 mAh
        - AveragePower:0 mW
        - InternalTemperature:-273.15 ℃
        - CycleCount:0
        - StateOfCharge:0 %
        - StateOfHealth:0 %
        - RequestChargingVoltage:0 mV
        - RequestChargingCurrent:0 mA
        - BTPDischargeSet:0 mAh
        - BTPChargeSet:0 mAh

Operation Status:
        - getIsConfigUpdateMode:NO
        - getIsBtpThresholdExceeded:NO
        - getIsCapacityAccumulationThrottled:NO
        - getIsInitializationComplete:NO
        - getIsDischargeCycleCompliant:NO
        - getIsBatteryVoltageBelowEdv2:NO
        - getSecurityAccessLevel:0
        - getIsCalibrationModeEnabled:NO

Battery Status:
===============================================

@Szetya
Copy link
Contributor

Szetya commented Jun 1, 2025

TCA8418 treatment is a bit better but still needs some work.
There is a modifierFlag variable for the modifier keys, so the TCA8418TapMap can have 7 columns.
Shift: modifierFlag bit 1
alt: modifierFlag bit 2
Sym: modifierFlag bit 3
src_input.zip
The formatting needs a little tweaking. . :)

@kstrauser
Copy link

I can confirm that this is somewhat working today, as-is. Keyboard input is very slow and the shift keys don't work (but you can double-tap a letter to make it caps). Backspace and enter work. You can send and receive messages through the radio.

It's not polished yet, but it does actually function as a standalone device with keyboard, screen, radio, and buzzer notifications.

This is awesome. My little TDP is alive and usable for the first time now! Thank you both for getting it to this point!

@Szetya
Copy link
Contributor

Szetya commented Jun 2, 2025

I can confirm that this is somewhat working today, as-is. Keyboard input is very slow and the shift keys don't work (but you can double-tap a letter to make it caps). Backspace and enter work. You can send and receive messages through the radio.

It's not polished yet, but it does actually function as a standalone device with keyboard, screen, radio, and buzzer notifications.

This is awesome. My little TDP is alive and usable for the first time now! Thank you both for getting it to this point!

Try the contents of the zip file. The code is a bit messy but it works better. Shift, alt, Sym too.

@adrianTNT
Copy link

These firmware updates are for the T-Deck Pro "4G" version or the "voice" version? Or is it irrelevant?
Thank you.

@kstrauser
Copy link

@Szetya Yep, that's a nice improvement.

@adrianTNT I'm using it on the 4G.

@Szetya
Copy link
Contributor

Szetya commented Jun 3, 2025

@adrianTNT It is irrelevant at the moment because neither option is supported. It will probably have to be split later as it uses common PINs.

Has anyone disassembled it yet? 😉 LTR553ALS location found? I ordered from aliexpress. Also plan on installing a BME280 or BME688 once I take the time.

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.

4 participants