I'm pretty new to ESP8266 and all these low-level stuff. I recently purchased a ESP8266-01 and started learning about it and playing around with it, and I have a few questions:

First, I found on the web the following table enter image description here

which specifies the GPIOs of the ESP8266 processor. From what I'm getting, these are the pins on the bare-boned ESP8266 itself, which is embedded in the different versions of the ESP8266 like my ESP8266-01. This means that I can't really use these, rather I can only use the broken-out pins (In the 01 version these include GPIOs 0,1,2,3). Am I getting this right?

If so, it brings me to my second question: I've started reading a bit about the different communication protocols such as SPI, UART, I2C, and I've read (here and here) that the ESP8266 can communicate using these protocols. So for example GPIOs 12-16 are used to communicate using SPI. GPIOs 1&3 are used to communicate using UART, and 4&5 using I2C.

I wonder what exactly does this mean. There are 2 ways I can sort of understand it:

  1. Those pins are connected directly to the processor, and the processor is communicating using these protocols. So if we take UART e.g., the processor knows it needs to send or receive packets in with this number of bits, 1/2 stop bits, baud rate, etc.
  2. Those pins belong to peripherals, meaning that there are dedicated hardware components on the chip for those communication protocols, and the processor talks to those peripherals using the bus.

This question is for educational purposes.

Another question which is more practical is: Since the GPIOs for SPI are not broken out in the ESP8266-01, how can I use SPI?


1 Answer 1


The ESP8266-01 is a limited purpose module that is primarily designed to provide a WiFi connection to other devices. It does not have the SPI pins brought out to the connector pins.

If you want to use SPI or other peripherals with the ESP8266, try one of the other modules in this family that does have the pins you need brought out to a connector.


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.