MISO Pin Functionality Overview


On this ESP-12E part, MISO is pin 10, which maps to GPIO12 / MTDI / HSPI_MISO.
What it does
  • Primary SPI role: MISO = Master In, Slave Out.
    If the ESP8266 is acting as the SPI master, this pin is the data input back into the ESP8266 from the SPI peripheral.
  • GPIO role: It can also be used as a normal general-purpose digital I/O when SPI is not using it.
  • Alternate functions: The ESP8266 datasheet also lists this pad for other multiplexed functions such as I2S data input and PWM.
Electrical characteristics
From the ESP8266EX datasheet, this pin is a 3.3 V-class digital I/O:
  • Operating I/O supply: tied to the chip’s I/O domain, with device working voltage 2.5 V to 3.6 V, typically 3.3 V
  • Input low threshold (VIL): up to 0.25 × VIO
  • Input high threshold (VIH): from 0.75 × VIO
  • Output low (VOL): up to 0.1 × VIO
  • Output high (VOH): at least 0.8 × VIO
  • Max output drive current: 12 mA
  • It is not 5 V tolerant. Drive it only with 3.3 V logic.
Special considerations
  • Boot/reset caution: GPIO12 is a multifunction boot-sensitive pin in many ESP8266 designs, so avoid forcing it strongly to the wrong level during power-up/reset.
  • If used for SPI: connect it only to the peripheral’s MISO/output pin, and make sure no other device drives the line at the same time unless you’re intentionally sharing the SPI bus.
  • If used as GPIO: confirm your firmware muxes the pin away from HSPI first.
  • Avoid heavy loads: it is a logic pin, not a power output.
Practical usage rule
Use this pin for:
  • HSPI MISO when talking to SPI sensors/displays/memory, or
  • general 3.3 V digital I/O if SPI is unused.
Do not use it for:
  • direct 5 V interfaces
  • loads needing more than a few mA
  • circuitry that may hold it in an unsafe state during reset.
Check boot straps
Run SPI ERC
Explain MOSI
MISO pull resistor
Compare SPI pins

GPIO1/TXD
GPIO13
GPIO2
CS0
GPIO12
MISO
ADC
SCLK
VCC
GPIO16
MOSI
GPIO14
GPIO9
GPIO3/RXD
GPIO4
EN
GND
GPIO10
~{RST}
GPIO0
GPIO5
GPIO15

ESP-12E