Page 1 of 1

RMT Peripheral - Receiving

Posted: Mon Jul 03, 2017 5:00 pm
by bschwind
Hi there,

I've been fighting with the receiving part of the RMT peripheral for some time now. I have a known working TSOP 1738, with two separate and seemingly fully functioning ESP32 boards. One is an ESP-WROOM-32 and the other is a ESP Dev Kit C. Main problem is I can't get any pulse data from the ring buffer, it's always empty.

I'm running the NEC IR demo from esp-idf. I commented out the TX task, and also commented out RMT_RX_SELF_TEST which I believe I'm supposed to do when using real hardware.

I have Vcc hooked up to 3v3 coming out of the esp, GND to GND, and Vout to GPIO 19 like in the example. I've confirmed that the IR receiver works with an ESP8266.

Example here: https://github.com/espressif/esp-idf/bl ... nec_main.c

I've tried adjusting quite a few of the timing parameters, trying out different GPIO pins, adding a decoupling capacitor and a pull up resistor to the receiver, changing the CPU's clock speed, trying other ESP32 boards, and I just have no idea what I need to do to get this to work. If it helps at all, the signals I'm sending are just from consumer remotes, typical 38kHz carrier waves.

Any help is appreciated, maybe I'm not setting the timing values correctly or something simple like that. Thanks for your time!

Re: RMT Peripheral - Receiving

Posted: Thu Jul 06, 2017 7:36 am
by bschwind
After thinking more about this, it might be the logic levels on the TSOP 1738 vs the ESP32. It works well on the ESP8266 so I assumed everything was fine, but maybe there's a level shifter on the NodeMCU board which isn't present on the ESP32 dev kit C. In any case, I'll try shifting the logic level and report back later.

Re: RMT Peripheral - Receiving

Posted: Thu Jul 06, 2017 3:16 pm
by loboris
bschwind wrote:After thinking more about this, it might be the logic levels on the TSOP 1738 vs the ESP32. It works well on the ESP8266 so I assumed everything was fine, but maybe there's a level shifter on the NodeMCU board which isn't present on the ESP32 dev kit C. In any case, I'll try shifting the logic level and report back later.
TSOP1738 has open collector output with internal 100K pullup resistor, so no level shifter is needed. It must be some problem with your RMT configuration ...
You can try to add additional external 10K pullup resistor ...

Re: RMT Peripheral - Receiving

Posted: Thu Jul 06, 2017 4:07 pm
by bschwind
I just got it! This is rather stupid, but I had the output connected to GPIO25. I switched to GPIO19 (which I swear I had tried before) and it worked! Still trying to understand why GPIO25 didn't work though, still investigating.

Re: RMT Peripheral - Receiving

Posted: Thu Jul 06, 2017 4:27 pm
by bschwind
I'm so sorry, everyone. This has never happened to me before, but the problem was in the jumper wire to GND.

Everything works as expected now, including GPIO25.

Image

Re: RMT Peripheral - Receiving

Posted: Sat Oct 28, 2017 11:38 am
by andrew.from.pretoria
Very frustrating. I know, it's happened to me as well. Thanks for sharing.