I changed my arduino NodeMCU application pin mode to use INPUT_PULLUP mode instead of INPUT. D8 input pin is not working as expected, I is always in LOW even the button is pressed or not.

I have 3 input pins (D2, D7, D8), when I changed to internal pull up resistor, I removed each external resistors from input and changed the circuit accourding to this: https://www.arduino.cc/en/Tutorial/InputPullupSerial

D2 and D7 works well, but D8 is not. I checked with a volage between GND and pins:

  • when button on D2, D7 is not pressed: 2.95 - 3 V
  • when button on D8 is not pressed: 0.8 V
  • when button on D2, D7, D8 is pressed: 0V (as expected)

You can see my code in github: https://github.com/kisdaniel/HomeDashboardGarageDoorOpener

1 Answer 1


Pin D8 is esp8266 pin 15. This pin is one of the boot configuration pins and for use on a dev board, it must be pulled down at boot. So the NodeMcu has a pull down circuit on this pin and internal pullup is weaker then this external pulldown.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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