diff --git a/Readme.md b/Readme.md index 18035fa..76baefd 100644 --- a/Readme.md +++ b/Readme.md @@ -3,13 +3,16 @@ ## Description Ever wanted to use a FrSky Taranis wirelessly with PC simulators like [FPVFreerider](https://fpv-freerider.itch.io/) or [RC-AirSim](http://www.fabricated-reality.com/)? This project will help you do so. The idea was to use a Teensy 2.0 USB controller and pair it with a FrSky XM receiver. The Teensy on one side will provide a USB HID gamepad to the host computer while on the other it will read the S.BUS protocol off the receiver using the **U**niversal **A**synchronous **R**eceiver **T**ransmitter (UART). To read the S.BUS signal an inverter in form of a simple transistor will be needed between the Teensy and the receiver. For more details please see the [docs](docs) directory. +**Update:** If you would like to use an ExpressLRS receiver instead of the FrSky XM receiver then please check out these [instructions](docs/ELRS.md). + ## Hardware * Teensy 2.0 * available here: [PJRC](https://www.pjrc.com/), [Teensy 2.0](https://www.pjrc.com/store/teensy.html) * FrSky XM Receiver * available here: [FrSky](https://www.frsky-rc.com/), [XM Receiver](https://www.frsky-rc.com/product/xm-1g-sbus-non-telemetry/) * A transistor & resistor to invert the S.BUS signal for the Teensy - * available here: [Reichelt](https://www.reichelt.de/), [2N7000](https://www.reichelt.de/mosfet-n-ch-60v-0-115a-0-4w-to-92-2n-7000-p41141.html), [10K Resistor](https://www.reichelt.de/widerstand-metallschicht-10-0-kohm-0207-0-6-w-1-metall-10-0k-p11449.html) + * available here: [Reichelt](https://www.reichelt.de/), [2N7000](https://www.reichelt.de/mosfet-n-ch-60v-0-115a-0-4w-to-92-2n-7000-p41141.html), [10K Resistor](https://www.reichelt.de/widerstand-metallschicht-10-0-kohm-0207-0-6-w-1-metall-10-0k-p11449.html) + ## Software * AVR 8-bit gcc toolchain * available here: [Microchip](http://www.microchip.com/), [gcc toolchains](https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers) diff --git a/docs/ELRS.md b/docs/ELRS.md new file mode 100644 index 0000000..4e2cb26 --- /dev/null +++ b/docs/ELRS.md @@ -0,0 +1,16 @@ +# ELRS Receiver + +[ExpressLRS](https://www.expresslrs.org/) added S.BUS support back into their receiver firmware in version 3.3 (you need ELRS firmware 3.3 or newer on your receiver). Using S.BUS makes it possible to hook up an ELRS receiver to the S.BUS gamepad. The amazing thing is not only did the ELRS developers add S.BUS to their receiver firmware but they also added Inverted S.BUS. Inverted S.BUS makes the transistor inverter redundant (no more extra hardware). Shout-out to [Roberto](https://github.com/RobertoD91) who let me know about this. + +**A word of caution:** Hooking up an ELRS receiver directly to the Teensy mixes a 5 Volt system (Teensy) with a 3.3 Volt system (ELRS receiver). Be carefull **not** to connect any 5 Volt outputs to a 3.3 Volt input (e.g. do not connect the Teensy UART TX to the ELRS receivers RX). The ESP32 controllers used in most ELRS receivers are **not** 5 Volt tolerant. Connecting the ELRS receivers TX output to the Teensy RX input should be ok. The Teensy needs a signal of at least 0.6 * 5V = 3V to recognize a high value. + +![Parts](images/ELRS_Parts.jpeg) + +![Schematic](images/ELRS_Schematic.jpeg) + +Since there is no serial passthrough in the S.BUS gamepad firmware I found it easiest to use Wifi to upgrade the receiver firmware. If you e.g. enable AUTO_WIFI_ON_INTERVAL in the ExpressLRS Configurator the ELRS receiver will start Wifi after a default 60 seconds if no transmitter connects. + +For all other ELRS receiver settings I used the ELRS LUA script on my transmitter. Here you can e.g. change the receiver protocol from CRSF to Inverted S.BUS. + +Date: 2023-11-17 + diff --git a/docs/images/ELRS_Parts.jpeg b/docs/images/ELRS_Parts.jpeg new file mode 100644 index 0000000..816f3c0 Binary files /dev/null and b/docs/images/ELRS_Parts.jpeg differ diff --git a/docs/images/ELRS_Schematic.jpeg b/docs/images/ELRS_Schematic.jpeg new file mode 100644 index 0000000..3dda77d Binary files /dev/null and b/docs/images/ELRS_Schematic.jpeg differ