# ESP8266 using GPIO0 / GPIO2 / GPIO15 for input or output

**URL:** <https://forum.arduino.cc/t/esp8266-using-gpio0-gpio2-gpio15-for-input-or-output/1263609>\
**Category:** Programming\
**Created:** [May 24, 2024, 3:06am UTC](https://forum.arduino.cc/t/esp8266-using-gpio0-gpio2-gpio15-for-input-or-output/1263609 "2024-05-24T03:06:06Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![Deva\_Rishi](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/deva_rishi/32/227254_2.png) [@Deva\_Rishi](https://forum.arduino.cc/u/Deva_Rishi)\
**Post date:** [May 24, 2024, 7:17am UTC](https://forum.arduino.cc/t/esp8266-using-gpio0-gpio2-gpio15-for-input-or-output/1263609/3 "2024-05-24T07:17:35Z")

</div>

> [@TimewaveZero](#):
>
> For instance they can not be pulled low or boot will fail. But after boot is complete are there any special things to be aware of when using them?

No that is basically it. Mind you when connecting any hardware to them, you should make sure that they are not pulled LOW through that. A LED should be connected active LOW. (eg Vcc -\> LED -\> Resistor -\> GPIO)

> [@TimewaveZero](#):
>
> **GPIO 2 as output** is a bit "problematic" because the on-board LED is connected to it and therefore features a permanent resistor causing its GPIO voltage to be less than 3.3V?

Not really, the Resistor value is quite high, it will work just fine for most things. If it is really an issue, you could pull the current limiting resistor of the board to disconnect the circuit. (or the LED if you want)

> [@TimewaveZero](#):
>
> **GPIO 15** should apparently not be used for anything else than SPI CS/SS (chip select/slave select)? Unfortunately I didn't find any explanation as to why this is the case.

Again this is not true. GPIO15 needs to be pulled LOW at boot or the ESP won't work at all, There is a 10K pulldown resistor making sure of this, but for the rest it can be used as normal. It is also an SPI pin and can also be used as part of the alternate UART pins, but will serve also without issue as long as it is is pulled LOW at boot.

---

_[View the full topic](https://forum.arduino.cc/t/esp8266-using-gpio0-gpio2-gpio15-for-input-or-output/1263609)._
