I am using nodeMCU along with oneWire temperature sensor ds18b20, and 2x16 LCD display (not I2C). I am using Arduino IDE to program nodeMCU. I am getting a compilation error:

C:\Program Files (x86)\Arduino\libraries\OneWire/OneWire.h:108:2: error: #error "Please define I/O register types here"
#error "Please define I/O register types here"
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

What is meant by: "Please define I/O register types here"? Thank you for the help.


It appears you're using an outdated version of the OneWire library that does not support ESP8266. Please follow these instructions to upgrade to the latest release of the library:

  1. Sketch > Include library > Manage libraries...
  2. Wait for the download to finish.
  3. In the "Filter your search..." box, type "onewire".
  4. Click on the "OneWire" entry.
  5. Click the "Update" button.
  6. Wait for the installation to finish.
  7. Click the "Close button.

The recent releases of the OneWire library have support for ESP8266 so this should solve your compilation issue.

Not the answer you're looking for? Browse other questions tagged or ask your own question.