GPIO0 as Output for TFT display


I’m using a Heltec Wifi Kit 32 to power one of my projects. PCB restrictions forced me to use GPIO0 as Data/Command output pin to connect a SPI tft display. This does not work with the Wifi Kit 32 V2 any more.

I have manually set GPIO0 to LOW and measured the voltage there.
digitalWrite(0, LOW)
pinMode(0, O_OUTPUT)

It does not go to 0V, but stays at ~1.6V, so my tft is not activated


We suggest you better not do this.OJ3EVHQB%5D%25A)08M2B%40%60U%7BAH

please refer this picture.

Hi Jason,
many thanks for the quick reply. So the GPIO has an external resistor and can not be used as generic I/O?

Has this changed in function from the original design?
I have a wifi kit 32 V1 module which works fine when using GPIO0 to drive the SPI CD pin.

Kind Regards,


It does work normally.

We recommend not to pull GPIO0 to low level for a long time.

Hi Jason,

the point is that GPIO0 can not be set LOW on the v2 modules. It stays at 1.4-1.6V when it should go to 0V. I am not pulling it LOW from external.
I have confirmed this with two modules.

Is there some special initialization required?



My previous expression was not accurate enough. GPIO0 can’t pull it to low level(Cannot reach 0V voltage), thinking GPIO0 comes with a mos tube.

1.3V is correct.