Joystick model remote control with multi-protocol TX module iRangeX IRX4 +

In the two previous articles on model remote control with joystick, a “completely normal” remote control transmitter was used to transmit commands. The control sticks and various switches of the transmitter were not needed because the control itself is done by the joystick.

The overall structure can therefore be simplified by using a multi-protocol TX module such as the iRangeX iRX4 + instead of the complete remote control transmitter.

The module can – just like the remote control transmitter – be controlled directly via the PPM signal from the USB2PPM – PiKoder. Since the iRangeX already operates with an operating voltage of 5 volts, the power supply is also provided via the USB2PPM PiKoder and no additional battery is required.

Setup

The USB2PPM PiKoder is set up according to the instructions. Even if you have only equipped one cynch socket so far, the three-pin header can be retrofitted without any problems.

The connection between the iRX4 + module is made via a three-wire cable (Vcc, PPM and Gnd) (see picture below left). At one end of the cable there is a three-pin socket for plugging into the corresponding pin header of the USB2PPM, on the other side the five sockets of the module are adapted – you can see the pin assignment that the module expects in the picture on the right.

 

 

 

 

 

 

No further adjustments or changes are required.

And the structure described here can of course also be used in connection with a Windows notebook.

Joystick model remote control with Spektrum DXe (2)

The first entry in this series used a notebook to translate the joystick inputs into commands for the USB2PPM. Alternatively, an Android (TM) smart device with a corresponding app can be used for selected joysticks.

The hardware structure in the title picture is the same as the configuration in the Part 1 Except for the computer, which is replaced by the smart device, and the hub: a USB OTG hub must be used in conjunction with the smart device.

With regard to the preparation of the remote control transmitter, the same considerations for ergonomics apply and it is advisable to expand the remote control with a switch as described in Part 1.

With regard to the app itself, you can choose between the free app Joystick2PPM and a special app for quadrocopters Joystick4UAV (see below); you can find both apps in the Google Play Store.

Joystick2PPM (Android App)

The user interface of the app largely corresponds to the Windows implementation and is intuitive and easy to understand. The joystick controls are on the left and the servo channels are mapped to the right with drop-down boxes.

The joystick and the USB2PPM are automatically recognized after starting the APP. When using the application for the first time, the user must enable access to the corresponding USB interfaces.

Please note that the app currently only supports a limited number of joysticks and other operating devices. The current list of the compatible devices can be found in the Playstore at any time.

Joystick4UAV (Android App)

The Joystick4UAV app is an advanced version of the Joystick2PPM application, which is geared towards the needs of remote control of quadrocopters or other vehicles (UGV) and boats (USV) with a flight controller.

The basic structure of the Joystick4UAV corresponds to the apps already described. The four joystick axes are mapped to the remote control channels 1-4 according to the usual assignment for flight controllers. You can of course adapt this assignment within the four channels according to your preferences. All channels can be inverted by checking the associated box.

The flight mode is coded in channel 5. There are six modes available. The flight mode selection takes place by pushing the joystick buttons 7-12 (see figure below right), where button 7 sets flight mode “1” and button 12 sets flight mode “6”. The selected flight mode is displayed numerically (“1” in the picture above) and the bar corresponds to the transmitted channel value.

The remaining buttons 1-6 (button B1 .. B6 in the upper area) and the hat switch are available for special functions and can be assigned to channels 6-8 as required. If the box belonging to the channel is activated, the button behaves as a switch.

Please note that only the Logitech Extreme 3D Pro joystick is currently supported in the app.

Joystick RC with Spektrum DXe transmitter

Overview

This article shows how a Spectrum DXe remote control transmitter can be used with the help of a USB2PPM adapter and a notebook to fly a quadcopter with a joystick.

The project includes the following steps:

    • Preparation of the remote control transmitter
    • Building of the USB2PPM Adapter
    • Download the Joystick2PPM program
    • Settings and commissioning

In addition to the remote control transmitter, PC or notebook with Windows 10, USB2PPM adapter and the joystick, a trainer cable is required to connect the remote control transmitter to the USB2PPM and a USB cable.

Preparation of the remote control transmitter

The spectrum DXe remote control transmitter is controlled by the teacher/student jack on the back of the transmitter. An external PPM signal can be fed into this jack – usually from a second transmitter, the student transmitter. The jack is a 3.5 mm standard jack and the cable connection is made via a corresponding mono-aux cable.

In order for the teacher to be able to take control quickly at any time, the student’s signal is only transmitted as long as the teacher pushes the bind / panic button. This practical implementation of the teacher-student operation naturally makes it difficult to take over the transmitter permanently, since you probably cannot or do not want to manually push the button down while flying.

Therefore, I have installed an additional switch in my Spectrum DXe in order to be able to permanently switch the remote control transmitter to student operation. Although the installation is simple, you should only consider it if you accept the likely loss of the warranty.

Installation of the additional switch for permanent student operation

The housing is opened as described in the manual. In the back half of the transmitter housing there is already a hole at the ideal position, which is covered from the outside by a sticker (see red arrow in the picture).

Expose the hole and insert the additional switch (see details).

The wiring is done in such a way that the Bind/Panik/Trainerbutton is shunted (see picture). For this purpose, a short piece of wire is soldered to the small printed circuit board.

I then attached a small arrow on the outside so that I always know in which mode the transmitter would be currently (see picture).

Building of the USB2PPM Adapter

Of the USB2PPM is implemented according to the assembly instructions, but the last step is omitted (soldering in the three-pole PIN bar for the PPM signal). Instead, a 3.5 mm jack is placed in the experimental field of the printed circuit board (see picture) to connect to the Spectrum DXe.

Adaption USB2PPM for Spektrum DXe

With this, all hardware bits and pieces for setting up the remote control are ready.

Download the Joystick2PPM program

The Joystick2PPM program takes over the evaluation of the joystick positions and the conversion into corresponding commands to the USB2PPM. This in turn generates the PPM pulse frame as an input signal for the remote control transmitter.

The Joystick2PPM program is free in Microsoft App Store available.

Settings and commissioning

Now connect the USB2PPM adapter and joystick to your PC. When connected for the first time, Windows 10 will automatically install drivers and associate the adapter with a COM port.

After completing the driver installation, start the Joystick2PPM program. The program automatically connects to the USB2PPM and the first joystick it finds and displays the available axes and switches on the left-hand side of the screen.

Now you can start to configure the channels for your application model-specifically.

For this blog I have chosen a Blade INDUCTRIX quadrocopter as an example, but you can of course also connect other copters.

For configuration, assign the joystick controls to the individual channels of the remote control on the right-hand side (the instructions for the model may contain information on how to assign the channels). If you click on the selection box for a channel, all control elements that have not yet been assigned are displayed and you can make your selection for this channel by clicking on them.

As soon as you have made an assignment, the current value for this control element is transferred to the right-hand side as the channel value. You can see the complete configuration for my application in the following screen dump.

Now turn on your transmitter and make sure that the transmitter is “paired” with the remote control model (trainer switch to “off”). Now, without turning off the remote control transmitter, connect the USB2PPM adapter using the training cable with the remote control transmitter. After turning on the trainer switch, you can remotely control your model with the joystick. If necessary, you can perform the trimming for the individual channels and a possible servo direction reversal on the PC.

 

Ardupilot Mega Rover remotely controlled with smartphone

Overview

In the standard setup of the Ardupilot Mega (APM) for Rovers you would deploy a conventional RC for manual control: the RC receiver feeds the input channels of the APM with PWM signals for Rover movement and for executing special functions such as switching flight modes.

If you replace the conventional remote control receiver with a PiKoder receiver such as the WLAN receiver PiKoder/SSC wRX, then the Ardupilot can be controlled via a smartphone, for example in the rover configuration. As an user interface, either the Android remote control apps udpRC or picCAR can be used for this application or the browser interfacedescribed in the previous article.

Setting up the rover

First, the APM is loaded with the Mission Planner with the ROVER configuration; a further adjustment of the parameters was not necessary in my case.

The following image shows the very simple hardware setup.

The PiKoder – channel 1 is connected to the APM input 1 (steering) and the PiKoder – channel 2 to the input 3 (throttle). The standard rover wiring is used at the output side (steering servo on channel 1, ESC with BEC on channel 3). In this configuration, the Ardupilot takes over the power supply of the receiver.

The Ardupilot does not respond to PWM signals that are below or exceeding the typical range of approx. 1,000 – 2,000 µs. Therefore, the minimum and maximum values of the pulse values of the PiKoder/SSC have to be adjusted, as shown in the following figure.

For this purpose, the PiKoder Control Center (PCC) is used as described in the User’s Manual for the PiKoder/SSC wRX.

This completes the set up; the function of the apps is described in the user manuals.

Outlook

The implementation of further configurations and functions has now been done and incorporated into the Android app udpRC4UGV, which is described in the continuation of this blog.

Since both the apps are open source and the receiver protocol is disclosed, you can of course also make your own modifications and extensions.

Arduino WLAN RC Transmitter

The Open Source Arduino sketch arduinodtx implements a feature rich state-of-the-art RC transmitter with a serial command output (PiKoder/SSC resp. PiKoder/PPM compatible). The transmitter commands would be sent via a transparent serial channel.

Therefore, a wifi communication module such as an ESP8266-01 can be used in concert with a PiKoder/SSC wRX wifi based receiver to easily build a feature rich radio control.

In addition to the components for the basic setup of the arduinodtx you would need a logic level converter, a dc-dc converter, two jumpers as UART multiplexer and the wifi module as shown in the image above. The wiring of these building blocks is shown below (you would have connect all signals with identical names):

The setup is fairly simple and can be easily done on a prototype board. Please note that Arduino signals are shown in blue.

Then you would have to configure the transmitter’s wifi radio to establish a transparent link to your receiver radio – similar to binding a transmitter and receiver in a standard rc environment. This would be done by setting the jumpers as shown above to connect the radio directly to your computer. Please refer to ESP8266-01 Sketch for the PiKoder/SSC wRX for more information. If you would want to program the ESP8266-01 while in place you would have to add the additional components for the programmer to the prototype board.

Please note also the setting of the jumpers for D0/D1. Please make sure that the Arduino would not interfere with any direct communication with the ESP8266-01 by connecting the Arduino´s RESET signal to GND.

After completing the programming of the ESP8266-01, the adjusting of the jumpers, restarting of the Arduino and rebooting your RC would be fully operational.