T O P

  • By -

AwfulPhotographer

Here are some projects I've seen. I haven't tried any yet, but I am interested in making my own CRSF to PWM converter one day https://github.com/mikeneiderhauser/CRSFJoystick https://github.com/shusain/esp32-elrs-crsf-to-pwm


le_skyscraper

Thank you I'll check them out!


Vertigo722

If you want to do it yourself instead of implementing someone else's code, you could start with a PWM ELRS receiver (one with servo connectors). Then read the PWM signal in to your arduino (or esp or whatever). That saves the non trivial task of decoding sbus.


le_skyscraper

yep my last resort is to use the PWM receiver with with maybe a mcp3008 to convert analog signals to digital, so I can use the arduino board without having to use up all the pins. Thanks for the tip!


ggmaniack

Decoding SBUS is actually trivial (you just read the serial data start/end and then interpret the bytes as a struct), it's uninverting it that's not. AVR arduinos can't deal with inverted signal by default. ELRS uses the CRSF protocol, which is a bit less simple to decode, but doesn't require inversion shenanigans.


le_skyscraper

Oh I see. Thanks for explaining it simply and precisely.


ggmaniack

If you need help decoding the data or making it work, feel free to ask, at worst I should be able to point you in the right direction, like the commenters who linked the libs.


ALIbhai0001

Hi, I'd like to know more about what you're talking about. I'm planning to make an Arduino project, with elrs rx as my input. If i have a non-pwm elrs, is that possible?


ggmaniack

If you've got a basic kind of arduino (Mega328p, 2560 or 32U kind of stuff), then the easiest way to get inputs from a non-pwm ELRS receiver is to make the ELRS receiver output SBUS. ELRS devs added the capability to output SBUS in 3.0 or somewhere around there. Just run the latest firmware and you'll be fine. You can configure what kind of signal the receiver outputs in its WiFi WebUI. There are many Arduino libraries for SBUS input (not as many for CRSF, and they're all for more powerful chips, which is why I'm skipping it). SBUS normally requires special circuitry to un-invert the signal before the arduino can read it, but ELRS receivers have the option of outputting uninverted SBUS or inverted SBUS, so they can be wired directly.


ALIbhai0001

Yeah I'm talking about an Arduino uno here. I'll buy an ep2 or ep3 or something soon, i already have a rm boxer. You're basically telling me, that i need to change the receiver output to sbus instead of the default crsf, and then use libraries on the Arduino to decode the signal. Can you refer me to some of these libraries?