Chapter 4. Software framework
Does ESP8266 support pulse counting?
• The ESP8266 does not include a hardware pulse counting module, thus only supports counting via the interrupt
of GPIO rising edge or falling edge.
• When Wi-Fi is turned on in ESP8266, it may cause a vacuum in the GPIO sampling due to its high priority,
thus interrupting the collected counts and causing data loss.
• In conclusion, it is recommended to use ESP32 and subsequent chips for scenarios with high counting demands.
Can ESP32-S3 realize low-level pulse counting with a frequency of 200 k?
Yes.
4.4.10 Remote Control Transceiver (RMT)
What can the RMT peripheral on ESP chips be used for in practical?
• For applications of RMT, please refer to RMT application examples. It can be used for infrared remote control,
LED strip lighting, D-shot motor control, and so on.
Which ESP chip is recommended for utilizing the RMT functionality?
• ESP32-S3 is recommended because it is currently the only chip with RMT DMA support. This ensures RMT
is not interfered by interrupts caused by Wi-Fi, Bluetooth, and other peripherals.
How to change the clock to REF_TICK in RMT?
CHIP: ESP32 | ESP32-S2 | ESP32-C3
By using the rmt_set_source_clk interface.
When ESP32 RMT controls the WS2812 light strip with Wi-Fi or Bluetooth enabled, there are some data
frame exceptions. How to solve the issue?
• This problem is dicult to solve on non-ESP32-S3 chips, because the RMT lighting up LED (especially when
many LEDs) rely heavily on interrupts, and does not support DMA, thus requiring software to switch ping-
pong buer in the interrupt. If the interrupt does not respond in time, there will be a problem. By default
(one memory block is set), after lighting up two LEDs, the RMT driver will go into the interrupt to switch the
internal ping-pong buer.
• Workaround:
– For esp-idf release/v4.4 and earlier versions, increase mem_block_num. There is a change in re-
lease/v5.0. Please see Breaking Changes in Usage。
– Install the RMT interrupts on a specic CPU core by calling the driver install function in a pin-to-core
task, thus avoiding the core used by Wi-Fi or Bluetooth.
Espressif Systems 74
Submit Document Feedback
Release master