• Well, what what got me curious was this text from this page:

    1. Programmable PWM Frequency
      While building an RGB PWM controller with my Uno, I found the Uno’s PWM created a buzzing noise. Running close to 600Hz, that is not a surprise. My decoupling capacitors were singing due to piezoelectric effects. One option is to change the PWM frequency, but that would mean digging in the Arduino libraries. Possible, but more work than I wanted to put in at the moment.

    The ESP8266 core of the Arduino library, however, has a built-in PWM frequency call. Changing the PWM frequency is easy.

    AnalogWriteFreq(1000);
    Another bonus is the PWM resolution. The ESP8266 core has 1024 (0-1023) levels of pulse-width instead of Arduino’s 256 (0-255). This resolution means smoother LED fading and more precise motor speed control.

    Lastly, any of the GPIO pins can be used for PWM. With clever software, you can make any pin on an Arduino do PWM using Software PWM. Being able to use hardware PWM on any pin makes the ESP8266 very flexible.

    It sure seems to imply there is hardware support for PWM -- after all, why would there be the odd 10-bit PW setting. I doubt when porting the Arduino code to the ESP8266 someone decided to expand the software PWM pulse width resolution to 10 bits. I didn't look any further, but will dig a bit more.

    In any case it works on the competition -- we need to get it working for Espruino. After all, Javascript is soooooo much better a platform...

About

Avatar for dwallersv @dwallersv started