ESP32 OneWire ROM Scan Incomplete
DodaTech
Updated 2026-06-26
1 min read
In this tutorial, you'll learn about ESP32 OneWire ROM Scan Incomplete. We cover key concepts, practical examples, and best practices.
The Problem
ESP32 OneWire ROM search does not find all connected devices on the bus.
Quick Fix
Wrong
OneWire oneWire(4);
DeviceAddress addr;
oneWire.search(addr);
Only 1 of 3 connected sensors found. Subsequent scans return false.
Right
OneWire oneWire(4);
DeviceAddress addr;
oneWire.reset_search();
int count = 0;
while (oneWire.search(addr)) {
Serial.printf("Device %d: ", ++count);
for (int i = 0; i < 8; i++) {
Serial.printf("%02X ", addr[i]);
}
Serial.println();
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial.println(" CRC ERROR - skipping");
continue;
}
}
Serial.printf("Total: %d devices\n", count);
Device 1: 28 AA BB CC DD EE FF 01
Device 2: 28 11 22 33 44 55 66 02
Total: 2 devices
Prevention
Call reset_search() before each scan loop. Check address CRC after each search. Ensure adequate pull-up resistor. Handle long bus with 100nF cap on Vdd. Reduce bus length if scan is incomplete.
DodaTech engineers apply these same patterns across Doda Browser, DodaZIP, and Durga Antivirus Pro for production IoT reliability.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro