Skip to content

Add QMP6988 environmental telemetry support#10279

Draft
mokjpn wants to merge 2 commits into
meshtastic:developfrom
mokjpn:codex/qmp6988-upstream
Draft

Add QMP6988 environmental telemetry support#10279
mokjpn wants to merge 2 commits into
meshtastic:developfrom
mokjpn:codex/qmp6988-upstream

Conversation

@mokjpn

@mokjpn mokjpn commented Apr 24, 2026

Copy link
Copy Markdown

Summary

This PR adds environmental telemetry support for the QMP6988 pressure sensor.

Changes included:

  • add I2C detection for QMP6988 at 0x70 and 0x56
  • add a new QMP6988Sensor telemetry driver
  • register QMP6988 in EnvironmentTelemetry
  • add the telemetry sensor type for QMP6988
  • report temperature and barometric pressure in the same units used by the existing telemetry pipeline

Notes

This PR depends on the protobuf enum addition here:

During hardware testing, some QMP6988 devices did not accept the reset command over this hardware path, but calibration readout and measurements still worked correctly. The driver therefore treats reset as optional and continues initialization when the sensor is otherwise responsive.

This PR is intended to add QMP6988 support only. It does not address unrelated SHT3x/SHT30 hardware address conflicts on specific boards.

Testing

Tested on:

  • Arduino Nesso N1
  • M5Stack Unit ENV III connected over I2C/Qwiic/Grove adapter

Observed result:

  • QMP6988 was detected successfully
  • initialization completed successfully
  • temperature and barometric pressure telemetry were reported correctly
  • pressure scaling was corrected to hPa

Build tested:

  • pio run -e m5stack-unitc6l

🤝 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)

Other:

  • Arduino Nesso N1 + M5Stack Unit ENV III
  • pio run -e m5stack-unitc6l

@github-actions github-actions Bot added the hardware-support Hardware related: new devices or modules, problems specific to hardware label Apr 24, 2026
@mokjpn

mokjpn commented Apr 24, 2026

Copy link
Copy Markdown
Author

This firmware PR depends on the protobuf change here:

split the enum addition into the protobufs repository as requested. Once that protobuf PR is merged, I will update this firmware PR to align the generated protobuf output cleanly.

@mokjpn mokjpn marked this pull request as draft April 24, 2026 00:44
@mokjpn

mokjpn commented Apr 24, 2026

Copy link
Copy Markdown
Author

Marking this as draft until meshtastic/protobufs#899 is merged, since the firmware side still needs to be aligned with the generated protobuf output after that change lands.

@mokjpn

mokjpn commented May 24, 2026

Copy link
Copy Markdown
Author

Update: the protobuf dependency has been replaced with meshtastic/protobufs#921, based on protobufs develop. The previous meshtastic/protobufs#899 was closed because it was based on master and would not match the current firmware protobuf baseline.

This was referenced May 24, 2026
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.

1 participant