Skip to content

Add Lilygo T-Impulse-Plus#10497

Merged
thebentern merged 27 commits into
masterfrom
t-impulse-plus
May 27, 2026
Merged

Add Lilygo T-Impulse-Plus#10497
thebentern merged 27 commits into
masterfrom
t-impulse-plus

Conversation

@vidplace7

@vidplace7 vidplace7 commented May 18, 2026

Copy link
Copy Markdown
Member

Adds support for Lilygo T-Impulse-Plus.

PXL_20260518_183446244.jpg

Changes Made

  • New board definition: boards/t-impulse-plus.json
  • New variant: variants/nrf52840/t-impulse-plus/ (variant.h, variant.cpp, platformio.ini)
  • Added custom_meshtastic_* metadata to variants/nrf52840/t-impulse-plus/platformio.ini so the variant is correctly picked up by the CI build matrix and device manifest generator (bin/platformio-custom.py):
    • custom_meshtastic_hw_model = 135
    • custom_meshtastic_hw_model_slug = T_IMPULSE_PLUS
    • custom_meshtastic_architecture = nrf52840
    • custom_meshtastic_actively_supported = true
    • custom_meshtastic_support_level = 1
    • custom_meshtastic_display_name = LILYGO T-Impulse Plus
    • custom_meshtastic_tags = LilyGo
    • custom_meshtastic_requires_dfu = true
    • board_level = pr
  • HW_VENDOR mapping added to src/platform/nrf52/architecture.h

Working

  • Display
  • Vibration Motor (acts as a notification LED for now)
  • Front touch sensor (acts as button)
  • Battery reading
  • LoRa
  • Vibrate upon screen-touch (haptic feedback) - thanks @caveman99 🍻
  • GPS - thanks @caveman99 📡
  • IMU (accelerometer)

Not Working / Known Issues

  • UI is oversized, even with OLED_TINY changes. This will need some special consideration @HarukiToreda

Dependencies

🤝 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: Lilygo T-Impulse-Plus nRF52840

@vidplace7 vidplace7 requested a review from HarukiToreda May 18, 2026 18:36
@github-actions github-actions Bot added needs-review Needs human review hardware-support Hardware related: new devices or modules, problems specific to hardware labels May 18, 2026
@vidplace7 vidplace7 requested a review from caveman99 May 18, 2026 20:02
@caveman99 caveman99 marked this pull request as ready for review May 19, 2026 05:19
@thebentern thebentern requested a review from Copilot May 19, 2026 10:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for the LilyGo T-Impulse-Plus (nRF52840) wristband: SSD1315 OLED, SX1262 LoRa, MIA-M10Q GPS, TTP223 touch button, vibration motor used as notification/haptic feedback, and the SGM41562 I²C charger for input-power/charge-status reporting. Also introduces a small reusable HapticFeedback driver and an SGM41562 charger driver that AnalogBatteryLevel consults for isVbusIn()/isCharging().

Changes:

  • New nRF52840 variant (variants/nrf52840/t-impulse-plus/) plus its boards/t-impulse-plus.json, with a new HW_VENDOR mapping in src/platform/nrf52/architecture.h.
  • New src/power/SGM41562.{h,cpp} charger driver, wired into src/Power.cpp behind HAS_SGM41562.
  • New src/input/HapticFeedback.{h,cpp} with InputBroker integration that emits a short pulse on touch press and an armed long-press pulse on BACK fire.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
variants/nrf52840/t-impulse-plus/variant.h Pin map, capabilities (display, GPS, SX1262, IMU, charger, haptic), I²C/SPI/QSPI wiring.
variants/nrf52840/t-impulse-plus/variant.cpp g_ADigitalPinMap and initVariant() (QSPI CS high, battery sense enable, RT9080 LDO enable).
variants/nrf52840/t-impulse-plus/platformio.ini New PlatformIO env extending nrf52840_base. Missing the customary custom_meshtastic_* metadata used elsewhere.
boards/t-impulse-plus.json PlatformIO board definition. variant field and missing variants_dir need attention.
src/platform/nrf52/architecture.h Maps the T_IMPULSE_PLUS build flag to HardwareModel_T_IMPULSE_PLUS.
src/power/SGM41562.{h,cpp} I²C driver for the SGM41562 buck charger with cached refresh and ship-mode/charge-enable control.
src/Power.cpp Calls initSGM41562 in Power::setup() and consults the charger for isVbusIn/isCharging.
src/input/HapticFeedback.{h,cpp} Non-blocking GPIO motor pulser using OSThread, with delayed pulse arm/cancel.
src/input/InputBroker.cpp Hooks the haptic driver into the touch button (press pulse + armed long-press pulse).

Comment thread boards/t-impulse-plus.json Outdated
Comment thread variants/nrf52840/t-impulse-plus/platformio.ini
Comment thread src/platform/nrf52/architecture.h
@vidplace7 vidplace7 removed the needs-review Needs human review label May 20, 2026
Copilot AI requested a review from thebentern May 27, 2026 20:33
@thebentern thebentern merged commit cb867cc into master May 27, 2026
84 checks passed
@vidplace7 vidplace7 deleted the t-impulse-plus branch May 27, 2026 21:44
Evil8it pushed a commit to Evil8it/ME4TACTNK that referenced this pull request Jun 10, 2026
* Add Lilygo T-Impulse-Plus

* Enable small screen layout 64x32

* trunk'd

* Haptic Feedback (short and long press)

* enable Charging Indicator

* enable nrfutil uploads

* trunk fmt

* Add Lilygo T-Impulse-Plus

* Enable small screen layout 64x32

* trunk'd

* Haptic Feedback (short and long press)

* enable Charging Indicator

* enable nrfutil uploads

* trunk fmt

* enable proper device model

* Dim the haptic duration a bit.

* Fix GPS pins and speed. Module enable is active low, speed is 38400

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* set correct geometry.

* Add custom_meshtastic_* metadata to t-impulse-plus platformio.ini

---------

Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
thebentern added a commit that referenced this pull request Jun 25, 2026
Forward-port: Add Lilygo T-Impulse-Plus (#10497) to develop
NomDeTom pushed a commit to NomDeTom/MeshtasticFirmware that referenced this pull request Jun 25, 2026
* Add Lilygo T-Impulse-Plus

* Enable small screen layout 64x32

* trunk'd

* Haptic Feedback (short and long press)

* enable Charging Indicator

* enable nrfutil uploads

* trunk fmt

* Add Lilygo T-Impulse-Plus

* Enable small screen layout 64x32

* trunk'd

* Haptic Feedback (short and long press)

* enable Charging Indicator

* enable nrfutil uploads

* trunk fmt

* enable proper device model

* Dim the haptic duration a bit.

* Fix GPS pins and speed. Module enable is active low, speed is 38400

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* set correct geometry.

* Add custom_meshtastic_* metadata to t-impulse-plus platformio.ini

---------

Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
(cherry picked from commit cb867cc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware-support Hardware related: new devices or modules, problems specific to hardware

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants