Skip to content

Commit

Permalink
ELRS receiver
Browse files Browse the repository at this point in the history
  • Loading branch information
macsleep committed Nov 18, 2023
1 parent 43c7d34 commit 634f57e
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 1 deletion.
5 changes: 4 additions & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
16 changes: 16 additions & 0 deletions docs/ELRS.md
Original file line number Diff line number Diff line change
@@ -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

Binary file added docs/images/ELRS_Parts.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/ELRS_Schematic.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 634f57e

Please sign in to comment.