-
Notifications
You must be signed in to change notification settings - Fork 203
RC ~ General
- only atheros chipsets support RC via EZ-WBC. (Supported WiFi Adapters)
- recommended and tested baud rate for RC is 115200
- CTS protection must be enabled in EZ-WBC settings
WifiBroadcast is cabable of direct control of your model by transmitting your control data alongside the HD-video stream. This potentially means that only a single HF-Link between ground and aircraft is required for all your needs. Essentially there are two ways in which EZ-WBC facilitates RC control, rc via mavlink (ardupilot) or rc via a serial protocol (iNAV, Betaflight, Cleanflight).
-
If you have a flight controller which can be controlled by MAVLink RC_CHANNELS_OVERRIDE messages then that is the recommended solution. Since the RC_CHANNELS_OVERRIDE is an implimentation of the bi-directional MAVLink telemetry protocol both Telemetry and RC can happily co-exist on the very same transmission medium. RC with Ardupilot
-
If your flight controller cannot be controlled by MAVLink RC_CHANNELS_OVERRIDE messages you can still use EZ-WBC for RC control. You must have a flight controller that accepts one of the following uninverted serial receiver protocols: MSP, SUMD (Graupner/JR), IBUS (FlySky), SRXL / XBUS Mode B (Multiplex). RC with iNAV
If you meet any of these requirements you can eliminate your old radio receiver. As described in this wiki you will configure software and hardware and then plug-in a supported usb joystick (or transmitter) into the GroundPi. The inputs will be sent to the AirPi and forwarded on to your flight controller.
One HF-Link for all aspects of operations: Video + Telemetry + Control
- Only single HF-Link (WiFi) required
- weight savings
- cost savings
- simplicity
- EZ-WBC rc control longer range than video
In order to allow control of your model the user needs some sort of usb joystick which will provide input to the GroundPi. For this HID-compatible USB-Joysticks and traditional RC transmitters (with usb/hid ability) can be used as input device. For the sake of simplicity this input device will be referred to as joystick in the following. The joystick simply connects via USB to the GroundPi and gets recognized automatically by the system. All standard HID-compatible joysticks can be used, however we recommend using a decent quality joystick with good quality gimbals and a narrow stick dead-band. Best results have been reported using RC transmitters with a USB-port (normaly used for flight simulators) can be used. NOTE: if possible disable the rf transmission function on your RC transmitter so that it does not interfere with EZ-WBC.
The following joysticks are known to work well with EZ-WifiBroadcast:
- FrSky Taranis X9D
- FrSky Taranis X9D+
- FrSky Taranis X9E
- iRangeX IR8M
- GeeekPi Raspberry Pi USB-Joystick controller
The R/C link from ground Pi to air Pi uses MSP (MultiWii Serial Protocol). This is also what is being output on the air Pi serial port. To use it with other protocols, you can use an Arduino with code by Anemostec to convert the R/C data from MSP to PPM for example.
Be careful, RTH or autopilot is recommended!
On TX and RX Pi:
- set
ENABLE_RC=Y
- set
CTS_PROTECTION=Y
On TX Pi:
- For the onboard Pi serial port leave default
RC_FC_SERIALPORT=/dev/serial0
, if using an external USB2Serial adapter, setRC_SERIALPORT=/dev/ttyUSB0
- Set the
FC_RC_BAUDRATE=
parameter according to your flightcontrol. 19200 is the minimum required.
-
Axis mapping to ROLL, PITCH, THROTTLE, etc. may need to be changed.
-
#define AXIS0_INITIAL=
sets the initial values for the controls. This is necessary, as it is currently not possible to detect the stick positions until they have been moved. For yaw, roll, pitch you probably want 1500, for throttle 1000.
- uncomment the
#define RC_RSSI
line (Remove the “//” in front of the line)
Connect the serial port RX pin of your flight control to the serial port TX pin on the Raspberry. The Pi uses 3.3V logic level on the serial ports, make sure your flight control also uses 3.3V, or it might not reliably detect the serial signal (See https://pinout.xyz/ for pinout).
- Connect Joystick or Taranis in Joystick mode (Taranis needs to be powered before connecting)
- Do a ground test for correct packet reception and signal:
- increase distance to the aircraft until you are at the end of the video range. R/C control should now still work, you should not see lots of Lost packets in the RSSI display in the upper right corner.
- If everything works as expected, fly. Be careful, this feature has not been tested much, RTH or autopilot is recommended
SBUS is a serial protocol, why is it not supported?
SBUS indeed is a serial protocol. However it has an inverted signal and a non-standard baudrate of 100.000 baud. The RaspberryPi serial port can not be configured to this non-standard baudrate, nor can the signal be inverted. Therefore SBUS sadly is not possible as of now. There is a slight chance that this could be possible with a software-serial but again the above mentioned limitations apply: complex coding / higher CPU load.
There is a prototype implementation of SBUS readily available but it is not 100% bug free. It needs work. If you are a skilled coder and want to have a try just open an issue on the repository. We are happy to share the code.
General
Hardware Setup
- Proper Wiring
- Power Supply (BECs)
- Supported Pi models
- Supported Cameras
- Supported WiFi Adapters
- Supported Displays
- Antennas
- DIY builds
Software Setup
- Basic configuration options
- Advanced Options
RC Control
- General
- RC with Ardupilot (MAVlink)
- RC with iNav
- DIY builds
Ground Stations
- Mission Planner (Windows)
- QGroundControl (Windows / Linux / Mac / Android /iOS)
- APM Planner (Windows / Mac / Linux)
- Tower (Android)
- FPV_VR (Android)
- GStreamer (Windows / Mac / Linux)
- Fishing FanCam (iOS)
Expert Settings
- OSD MAVLink message types
- Transmit power settings
- SSH shell
- Raspivid camera settings
- Optimizing-Power-Consumption
Extensions / AddOns
- HDMI-in cards
- WebCams
- Video Switcher
- Thermal (FLIR, Seek)
- 360° cameras
Community-HUB
Developer's Corner
- Room for Improvement
- Mounting Images
- Reducing Images size
- WinSCP (copying files)