16 high frequency pwm ESP8266

I do colorful led light near my table. I have 5 common anode led rgb strips, glued to a different places.
I'm trying to develop my own rgb controller based on ESP8266, with WIFI and USB, and met a problem: all solution to have more pwm pins, than chip hardware pwm pins, uses too low frequency.
Before that i used custom pcb with atmega328p and 6 mosfet's, but it can control only two rgb strips.
I'm shoot a video for YouTube, and use rgb led strips as part of background. If frequency are too low, all picture are flickering, and it's unacceptable for me.
I know about pca9685 witch have 16 pwm outputs, but it's max frequency too low(~1kHz), so all picture flickering too. Software pwm have too low frequency and uses took many resources, too.
In addition, ESP8266 doesn't have hardware pwm pins. So my question is: How to have 16 pwm outputs in ESP8266, working at ~4kHz or more?

P.S. Sorry for my bad english, I'm not native speaker.

Hi @qwerty12344321,

Why not use ESP32?

It can provide PWM pulses from 1 to 40 MHZ and up to 16 outputs
(16 channels).
On ESP32 the PWM is generated by the LEDC feature.
"The LED control (LEDC) peripheral is primarily designed to control the intensity of LEDs, although it can also be used to generate PWM signals for other purposes. It has 16 channels which can generate independent waveforms that can be used, for example, to RGB LED devices drive."
ref:LED Control (LEDC) - ESP32 - — ESP-IDF Programming Guide latest documentation
RV mineirin

1 Like

I checked out datasheet, looks great. I think that if ESP8266 doesn't have hardware pwm, then ESP32 too.
Thanks you very much, should fit for my purposes