Skip to content

Fix T1000-E sensor power pin mapping#2065

Open
robekl wants to merge 1 commit into
meshcore-dev:devfrom
robekl:fix-t1000e-sensor-power-pin
Open

Fix T1000-E sensor power pin mapping#2065
robekl wants to merge 1 commit into
meshcore-dev:devfrom
robekl:fix-t1000e-sensor-power-pin

Conversation

@robekl
Copy link
Copy Markdown
Contributor

@robekl robekl commented Mar 17, 2026

Summary

  • stop treating T1000-E P0.04 as a sensor power-enable output
  • remove the extra SENSOR_EN rail toggle from the T1000-E sensor path
  • keep sensor power control on the documented PIN_3V3_EN / P1.06 rail

Issue

The current T1000-E variant defines two different sensor-power control signals:

  • PIN_3V3_EN = 38 (P1.06)
  • SENSOR_EN = 4 (P0.04)

The firmware actively drives both of them:

  • initVariant() configures both as outputs and drives them low
  • t1000e_get_temperature() and t1000e_get_light() drive both high before sampling
  • powerOff() drives both low again

That is hard to reconcile with Seeed's newer official T1000-E pin table, which documents:

  • P1.06 as Sensor VCC Enable
  • P0.04 as VCC voltage detect

If that mapping is correct, the current variant is driving a voltage-detect input as if it were a rail-enable output.

Authoritative source

Seeed Studio's newer official board page:

Relevant entries from the pin table:

  • P0.04 = VCC voltage detect
  • P1.06 = Sensor VCC Enable
  • P0.05 = Charger insert detect
  • P1.03 = Charger State

The older page at https://wiki.seeedstudio.com/t1000_e_intro/ is less complete and conflicts with this newer table.

Fix

This change removes the stale SENSOR_EN definition and stops driving P0.04 anywhere in the T1000-E implementation.

After this change:

  • the board no longer configures P0.04 as an output
  • temp/light reads only toggle PIN_3V3_EN
  • power-off no longer tries to drive an extra sensor-enable pin

Why this fixes it

This keeps sensor rail control on the pin Seeed currently documents for that purpose (P1.06) and removes the most likely incorrect electrical behavior in the current tree: treating P0.04 as an output control line.

It also avoids changing unrelated GPS, charging, or battery logic. The fix is intentionally narrow: remove the extra power-enable path that conflicts with the newer hardware documentation.

Validation

  • pio run -e t1000e_companion_radio_ble

robekl added a commit to robekl/MeshCore that referenced this pull request Mar 23, 2026
Reimplements meshcore-dev/MeshCore PR meshcore-dev#2065 on top of 467959c for the 1.14.1 maintenance branch.

References:
PR: meshcore-dev#2065
Seeed SenseCAP T1000 introduction: https://wiki.seeedstudio.com/SenseCAP_T1000_tracker/Introduction/

Rationale:
The release commit still models a standalone SENSOR_EN line for the T1000-E even though the later fix removes that non-existent mapping and relies on the existing 3V3 enable path instead. This backport is limited to the T1000-E variant headers and helper code. It simplifies the board definition, removes writes to an invalid pin, and avoids changing any cross-target sensor logic.
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