Skip to content

[Feature request] 1-Wire (DS18B20) sensor support for environmental telemetry #2692

@drewmccal

Description

@drewmccal

Summary

Add 1-wire protocol support to MeshCore’s sensor telemetry system, starting with the DS18B20 temperature sensor.

Motivation

MeshCore is purpose-built for off-grid, remote deployments — exactly the scenarios where DS18B20 shines. Unlike I2C sensors (limited to ~1 meter cable runs), 1-wire supports cable runs up to 100 meters on a single GPIO pin, making it ideal for remote environmental monitoring like water temperature, soil temperature, or pipeline monitoring.

The DS18B20 is the most widely used 1-wire sensor in the hobbyist and IoT space, is inexpensive, available in waterproof probe form, and has a well-established Arduino library. Multiple sensors can share a single GPIO pin and are individually addressable via unique factory-burned 64-bit IDs — no address conflicts, no multiplexers needed.

Use Case

A MeshCore repeater node deployed at a remote lake could monitor surface and deep water temperature using two waterproof DS18B20 probes on a single GPIO pin, broadcasting readings as telemetry across the mesh — with no WiFi or internet required.

Proposed Implementation

•	Add the OneWire + DallasTemperature Arduino libraries as dependencies
•	Implement a DS18B20SensorDriver following the existing EnvironmentSensorManager pattern used by BME280/AHTX0/SHT4x drivers
•	Support auto-discovery of sensors on the bus, reporting each by address
•	Configurable GPIO pin via CLI (consistent with existing sensor config)

Broader Ask

Longer term, parity with ESPHome’s sensor support would significantly expand MeshCore’s utility as a remote environmental monitoring platform. ESPHome supports I2C, SPI, UART, 1-wire, analog, and Modbus sensors. Even partial parity — 1-wire + the I2C sensors already supported — would cover the vast majority of real-world deployments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions