Page 2 of 2
Re: [HELP] RMT single wire bidirectional communication (dshot telemetry)
Posted: Mon Dec 23, 2024 8:26 pm
by citoyx
Thank you very much.
Despite the fact my need is now old stories, regarding the lake of pertinent answer, i really appreciate that not only you find a solution to my question, but you took the time to reply here.
As far as im not much into mcu dev since few years now, i really wanted to express to you my gratitude.
Now, may be will take the time to catch up with your solution and try to test it on my old ESC/bldc motor.
Thanks a lot again
Re: [HELP] RMT single wire bidirectional communication (dshot telemetry)
Posted: Tue Apr 29, 2025 8:28 am
by PurpleLilac
Have you found a way yet?
I'm also very interested in using bidirectional DShot in one of my projects, but am failing to do it in a clean manner. Two not so good ways:
1) Use the telemetry wire, the telemetry frame (115200 baud, Serial 8N1) limits you to roughly 1kHz of signal rate, but for your purpose this should be ok (notice: slower erpm updates, no GCR encoding, ...)
2) Use a 1kOhm resistor between two GPIOs. One is the output, one is the input. Now connect the ESC signal wire to the input pin. The input pin will see this: dshot signal.png. From there, I think you know where to go (GCR decoding etc.)
https://brushlesswhoop.com/dshot-and-bi ... nal-dshot/
But if you have found a cleaner (software) solution by using one pin as in- and output, I would be very interested to know, how you did it.
For me, this will be a long going project, so even if you find a solution in a year or more, please reply
Hello,
I am also trying to capture the ESC signal and i have been successful in that regard using an STM32. However, I have trouble in deciphering the captured data into eRPM. In the picture you provided and in my own testing, there seems to be only 20 bits coming back from the ESC, instead of 21. Maybe I'm missing something, but how would one go about decoding the signal from ESC?
Re: [HELP] RMT single wire bidirectional communication (dshot telemetry)
Posted: Sun Jun 07, 2026 5:38 pm
by well_tech
Hi
I am also searching for bidirectional Dshot implementation option for ESP32-S3 and studying the thing found that in IDF5.5 there were flags .io_loop_back and .io_od_mode for rmt_tx_channel_config_t and rmt_rx_channel_config_t what (in theory) solves exactly the problem of bidirectional communication via single pin. But in 6.0 version I do not see these flags for config_t structures. Does anybody knows if they have been removed for a reason?
Re: [HELP] RMT single wire bidirectional communication (dshot telemetry)
Posted: Sun Jun 07, 2026 6:32 pm
by MicroController
You should be able to just initialize TX&RX on the same pin, then set that pin to OD via gpio_od_enable().
Re: [HELP] RMT single wire bidirectional communication (dshot telemetry)
Posted: Sun Jun 07, 2026 8:22 pm
by well_tech
Hm, ok, thanks, will look into this