Обманули меня.
gpio9 и gpio10 работают и на выход и на выход, я проверила.
Вы должны посмотреть, как выполняется внутренняя проводка чипа ESP8266 с флэш-памятью.
На большинстве плат flashmemory, 8-контактный чип, подключен к 6 контактам GPIO и Vcc + Gnd.
4 из этих контактов, GPIO 6,7,8 и 11 являются эквивалентом SPI-bus & ChipSelect и абсолютно необходимы для общения с чипом flash. 2 дополнительных контакта GPIO9 и GPIO 10 используются на специальных функциях-контактах чипа flash. GPIO9 подключен к контакту HOLD, а GPIO10 подключен к контакту WP (WriteProtect) микросхемы flash. Оба этих контакта "ВЫСОКИ", когда флэш-чип находится в нормальном режиме. Для программирования флэш-чипа WP GPIO10 сделан "НИЗКИМ".
Можно отсоединить контакт HOLD и WP микросхемы flash от ESP и подключить их оба к VCC. Если вы сделаете это, вы освободите GPIO9 и 10 и сделаете их пригодными для использования в качестве общего ввода-вывода. Только при повторной перепрошивке чипа (последовательного или OTA) контакты GPIO9 и 10 должны быть снова подключены к ESP.
На самом деле есть некоторые платы разработки, которые делают это автоматически. Для правления NodeMCU есть / были планы сделать это тоже, но это (пока) не реализовано.
Практически все GPIO 6,7,8,9,10 и 11 предназначены для флэш-памяти и не могут быть использованы для других целей.