ESP32RMTpuls B4R Library (Pre-release)
This is a B4R library for generating TX pulse signals using the RMT module of the ESP32.
It is currently in pre-release, due to limited testing across different IDF versions and ESP32 SoC variants.
The library is primarily intended for one-shot pulse generation, but with additional features such as PWM, GPIO routing, sync channels, and inversion, it can also produce more complex signals like repeating pulse bursts and complementary PWM.
All signal generation is handled by hardware, resulting in minimal CPU usage.
Using GPIO matrix routing, you can dynamically attach or detach multiple GPIO pins to a single RMT TX channel at runtime. With the help of a B4R timer, PWM outputs can be switched to various pins to create sequential output patterns.
Compatibility
The library has been developed and tested using IDF v5.3.2 with the ESP32-S3, and minimally tested with the ESP32.Some features may not work correctly due to differences in IDF versions, SoC capabilities, or simply due to developer oversight.
While the library includes some SoC variant checks, there may still be unhandled macros or API differences.
Please report any issues you encounter or suggestions for improvement.
Usage instructions are included in the attached help document.
Attachments
-
RMT_Puls_Switch_GPIO.png113.9 KB · Views: 33
-
RMT_Pulse_Annotate_1.png56.7 KB · Views: 33
-
RMT_PulseTrain_50hz.png57.2 KB · Views: 33
-
RMT_PWM_mod_1_5_10ms.png52.6 KB · Views: 29
-
Sync_Test01-1.png51.3 KB · Views: 35
-
rESP32RMTpuls.ZIP427.5 KB · Views: 26
-
ESP32_RMT_Pulse_Library help(small).pdf370.2 KB · Views: 25