Hi everyone,
I’m running into what appears to be a compatibility issue between the Arduino UNO Q and the DS18B20 (OneWire) temperature sensor, and I’d like to confirm whether this is a known limitation or if there’s a supported workaround.
Summary
- DS18B20 works perfectly on:
- Arduino UNO R3
- Arduino Nano
- The same sensor, wiring, and libraries do NOT work on Arduino UNO Q
- The sensor is never detected (
DEVICE_DISCONNECTED_C, OneWire scan finds no devices) - This persists even when using Arduino_RouterBridge, Monitor, and MsgPack
Hardware
- Board: Arduino UNO Q
- Sensor: DS18B20 waterproof probe
- Wiring:
- VCC → 5V
- GND → GND
- DATA → D2 (also tested D3, D7, D8, A0)
- 4.7kΩ pull-up resistor
- Sensor verified working on another Arduino
Software
- Arduino IDE 2.3.7
- Arduino Zephyr core (UNO Q)
- Libraries:
- OneWire (Paul Stoffregen)
- DallasTemperature
- Arduino_RouterBridge
- MsgPack (hideakitai, installed to satisfy UNO Q core dependencies)
Test Sketch (UNO Q adapted)
#include <Arduino_RouterBridge.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS A0
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Monitor.begin();
sensors.begin();
Monitor.println("READY");
}
void loop() {
sensors.requestTemperatures();
float c = sensors.getTempCByIndex(0);
if (c == DEVICE_DISCONNECTED_C) {
Monitor.println("ERR");
} else {
Monitor.println(c);
}
delay(2000);
}
Result
Always prints:
ERR
A OneWire bus scan also returns “No devices found” on every pin tested.
Additional Tests Performed
Verified sensor works on another Arduino using the same code
Tested multiple GPIO pins (D2, D3, D7, D8, A0)
Tested 3.3V and 5V supply
Verified pull-up resistor value
Confirmed serial output works using Monitor
Confirmed RouterBridge communication works
Attempted sending temperature data to Linux side using:
Bridge.notify(...)
MsgPack-based RPC calls
Even with MsgPack and Bridge functioning, sensor is never detected
Questions
Is DS18B20 / OneWire currently unsupported on UNO Q?
Are there plans to integrate Zephyr’s native 1-Wire driver into the Arduino core?
Is there an official workaround (specific pin, config, or library fork)?
Has anyone successfully used DS18B20 on UNO Q?
The UNO Q is a powerful and exciting board, but this limitation is significant for sensor-heavy projects. Any guidance from Arduino devs or early adopters would be greatly appreciated.
Thanks!