How to set up remote control peripheral in ESP32

Hi All,

I have recently dived into the joy of ESP32 via a Heltec WiFi kit 32, a very nice little board indeed. One of the really nice things about it is the variety of peripherals built in, but the one I am most interested in at the moment is the Remote Control feature. This is designed to help drive IR remote controls, but I want to use it to generate a PPM signal for radio control of models (planes, boats, etc) and the ESP32 Remote Control peripheral is ideal for this application. I’ve created a C program that uses it and it works extremely well (using my fav’ VS Code / PlatformIO combo).

However it has not yet been implemented in the Zerynth HAL for ESP32 and I can’t make it work as a called C module either as I get an error message saying that the VM does not support the requested features (rmt_config, rmt_driver_install and rmt_write_items).

I’m assuming there is no way around this without lots of work on the VM to support these functions? And add them to Zerynth as well so they can be called from Python without the need to create a C module? (There are a lot of “rmt” functions for remote control, I’m just using those three alluded to above, so I’m guessing would be a lot of work). Just curious…

I had a look at creating a custom VM, but there is not much there to change (the Heltec is already supported). The remote control peripheral does not have any pins assigned to it (the output pin(s) are allocated during rmt_config, and can be pretty much any pin(s)), so the only thing that can be added is a peripheral with a default name (like RMT0). Doesn’t really help.

:frowning_face:

Hi @mogplus8
This feature needs to be supported by the VM, I will make sure to pass your suggestion to the Dev team.
I cannot give you an exact date for that feature as we are always working on adding new features, Supporting new devices and sensors.

Thanks

@karimhamdy1 thanks for the response.

I won’t hold my breath. There doesn’t seem to be many people interested in using this peripheral.

:frowning_face: