Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By RIN67630
#89741 Hi,
i am just discovering that D0 GPIO16 cannot provide PWM.
I did no know that, and used it as a PWM output without problem.
It works nevertheless. What can happen, will i go to hell after my death?
User avatar
By btidey
#89748 The esp8266 does not have PWM hardware so it is implemented in software using timer functions to toggle GPIO.

As such there is no intrinsic restriction on which GPIO pin can be used but is more determined by what the software environment supports. Arduino ESP8266 has supported all pins including GPIO16 for a number of years.

Where did you see it say it was not supported?
User avatar
By StanJ
#89762 GPIO16 is part of the RTC section, so writing to it is much slower than writing to any other GPIO as the PWM core has to use API calls instead of GPOC/GPOS to set the pin high or low. It will work, but may not hit the same maximum speed as the other pins.

Additional, in a quick test here I get what appears to be WDT resets (can't tell, random garbage even at 74880 baud) if I run multiple PWM channels with GPIO16 as one of the channels. I'm even getting that garbage/reboot with a single PWM channel on GPIO16 occasionally, so "not recommended at the moment".