Actually I just spotted - you're running PWM at 35000 Hz? Most things I've seen expect 38000 or 40000
Having just tested on a scope, the PWM itself works great. However, digitalPulse is producing wildly varying pulse widths. It looks like a problem with the Wifi's firmware.
The quick hack for this is to short out one of the little white capacitors by the crystal. That'll force it to use the internal oscillator, which fixes the problem (I just tested this and it works great).
In the mean time I'll try and get a fix in the firmware - the Espruino boards use a relatively complicated arrangement to allow them to get high-res timing that is in sync with the real-time clock, and it looks like that's playing up.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Actually I just spotted - you're running PWM at 35000 Hz? Most things I've seen expect 38000 or 40000
Having just tested on a scope, the PWM itself works great. However, digitalPulse is producing wildly varying pulse widths. It looks like a problem with the Wifi's firmware.
The quick hack for this is to short out one of the little white capacitors by the crystal. That'll force it to use the internal oscillator, which fixes the problem (I just tested this and it works great).
In the mean time I'll try and get a fix in the firmware - the Espruino boards use a relatively complicated arrangement to allow them to get high-res timing that is in sync with the real-time clock, and it looks like that's playing up.