mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-12 17:57:53 +00:00
Merge 729b85e928748da90bcfb3d59de5f2915cd10be9 into 32c59cb583750e584669f1813e42f4a3d9d04fa2
This commit is contained in:
commit
2dce07e73b
@ -23,6 +23,7 @@ While the bootloader is running, if it detects a communication problem, it confi
|
||||
This bootloader is for reading and writing the flash only, the EEPROM is not supported, neither is reading/writing the fuses, but it only uses 512 bytes of flash.
|
||||
|
||||
## Install the bootloader
|
||||
|
||||
To get the bootloader onto the ATmega you need to connect an flashing tool (like USBasp) to the 6-pin ISP connector on the board.
|
||||
Simply flash the .hex file to get the bootloader on the chip, and change the high fuse at the same time.
|
||||
|
||||
|
@ -5,6 +5,7 @@ Multiprotocol source are compiled using the well known Arduino IDE.
|
||||
The procedure below will guide you through all the steps to upload successfully a customized firmware.
|
||||
|
||||
## Install the Arduino IDE and the Multiprotocol project firmware
|
||||
|
||||
1. Download and install the Arduino IDE. The currently supported Arduino version is 1.6.12. available for [Windows]( https://www.arduino.cc/download_handler.php?f=/arduino-1.6.12-windows.exe) and [Mac OSX](https://www.arduino.cc/download_handler.php?f=/arduino-1.6.12-macosx.zip)
|
||||
1. It is recommended to upgrade Java to the [latest version](https://www.java.com/en/download/)
|
||||
1. Download the zip file with the Multiprotocol module source code from [here](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/archive/master.zip)
|
||||
@ -14,6 +15,7 @@ The procedure below will guide you through all the steps to upload successfully
|
||||
## Upload the firmware
|
||||
|
||||
### Material you need to upload the firmware
|
||||
|
||||
1. USBASP programmer supporting 3.3V: <img src="images/USBasp_Programmer.jpeg" width="200" height="200" /> [(example aliexpress link)](https://www.aliexpress.com/item/USBasp-USB-ISP-3-3V-5V-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-10PIN-Wire-Support/2036402518.html?spm=2114.30010308.8.10.jIbHzs). There are reports that some of the cheap programmers are not safe to use with 3.3V units, usually the black PCB versions are ok.
|
||||
1. 10pin to 6pin adapter: <img src="images/10pin_2_6pin.JPG" width="150" height="150" /> [(example ebay link)](http://www.ebay.fr/itm/10-Pin-a-6-Pin-Carte-Adaptateur-M-F-pour-AVRISP-USBASP-STK500-Noir-Bleu-WT-/291862396761?hash=item43f45abf59:g:gXsAAOSwMgdXyGnh)
|
||||
1. 6 pin header like this one: <img src="images/6pin_header.jpg" width="100" height="100" /> [(example Digi-Key link)](http://www.digikey.com/products/en?keywords=3M%20961206-6404-AR)
|
||||
@ -47,12 +49,15 @@ You are now ready to plug in the USB programmer to the computer
|
||||
If you are looking for a good working USBASP Windows driver, [use this one](http://www.protostack.com/download/USBasp-win-driver-x86-x64-v3.0.7.zip).
|
||||
|
||||
### Configure Arduino IDE for Multiprotocol
|
||||
|
||||
1. Under Tools -> Board select the Arduino Pro or Pro Mini
|
||||
1. Under Tools -> Processor select the ATmega328 (5V, 16MHz)
|
||||
1. Under Tools -> Programmer select your programmer type (probably USBASP from the shopping list above)
|
||||
|
||||
<a name="CustomizeFirmareToYourNeeds"></a>
|
||||
|
||||
### Customize the firmware to match your hardware and your needs
|
||||
|
||||
All customization is done by editing the ```_Config.h ``` file in the Multiprotocol Arduino project.
|
||||
|
||||
In the Arduino IDE, click on the down arrow on the far right of the tab bar to show a list of project files (see the red circle on the screenshot below). Scroll down and select the _Config.h file.
|
||||
@ -93,6 +98,7 @@ If you get an error that indicates a valid microcontroller was not found there i
|
||||
- your board
|
||||
|
||||
<a name="AdvancedSettings"></a>
|
||||
|
||||
## Advanced settings
|
||||
|
||||
So you followed the previous steps and your module is working.
|
||||
@ -101,9 +107,11 @@ Below are some extra steps which will:
|
||||
- Permit to flash even more protocols (extra 2KB)
|
||||
|
||||
### Arduino Boards.txt modification
|
||||
|
||||
First, we need to append some text to the Arduino file boards.txt.
|
||||
|
||||
#### On Windows
|
||||
|
||||
1. Close the Arduino IDE
|
||||
1. Search Windows for the application WordPad (DO NOT USE Notepad). Right click on WordPad and select "Run as Administrator":
|
||||
<img src="images/WordPad_Admin.jpg" height="200" />
|
||||
@ -144,6 +152,7 @@ multi.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
|
||||
```
|
||||
|
||||
#### On Mac OSX:
|
||||
|
||||
1. Close the Arduino IDE
|
||||
1. Using finder navigate to ```Applications``` folder
|
||||
1. Ctl-Click on the Arduino application and select **Show Package Contents**.
|
||||
@ -151,6 +160,7 @@ multi.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
|
||||
1. Copy and paste the "Multi 4-in-1" text listed above into the end of the file and save it.
|
||||
|
||||
### Burn Bootloader
|
||||
|
||||
1. Open the Arduino IDE and load the Multiprotocol project.
|
||||
1. Select under **Tools -> Board** the new entry **Multi 4-in-1**
|
||||
1. Select under **Tools -> Programmer** the entry **USBasp**
|
||||
@ -158,6 +168,7 @@ multi.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
|
||||
1. At this stage your flash module is empty so it's normal if the status LED does not do anything.
|
||||
|
||||
### Flash the firmware
|
||||
|
||||
Scroll back to the section [Customize the firmware to your hardware and your needs](#CustomizeFirmareToYourNeeds) above and follow the instructions.
|
||||
|
||||
You are done good fly!!!
|
||||
|
@ -4,15 +4,23 @@ This is the page to document model or receiver specific setup instructions.
|
||||
The Deviation project (on which this project was based) have a useful list of models [here](http://www.deviationtx.com/wiki/supported_models).
|
||||
|
||||
# Syma X5C
|
||||
|
||||
<img src="http://img2.cheapdrone.co.uk/images/upload/2014/12/X5C%203/SKU115108-7.jpg" Width="200" Height="200" />
|
||||
|
||||
## Channel Map
|
||||
|
||||
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8
|
||||
---|---|---|---|---|---|---|---
|
||||
A|E|T|R|FLIP|RATES|PICTURE|VIDEO
|
||||
|
||||
## Binding
|
||||
|
||||
There are no special binding instructions. The model powers up in Autobind mode and expects the bind sequence from the transmitter within the first 4-5 seconds.
|
||||
|
||||
## Tx Setup
|
||||
|
||||
A basic 4-channel setup works perfectly, but some improvements are possible:
|
||||
|
||||
### Setting up a switch to Flip
|
||||
|
||||
1. Choose your "Rates" switch - typically the momentary TRN switch
|
||||
@ -46,44 +54,59 @@ One of the most annoying functions on the Syma X5C is that the motors stop when
|
||||
<img src="https://s7d5.scene7.com/is/image/horizonhobby/BLH8700_a0" Width="200" Height="200" />
|
||||
|
||||
## Binding
|
||||
|
||||
For telemetry enabled modules, you should just let the remote autodetect the settings. Otherwise choose DSMX 22ms with 6ch or 7ch. To bind the model, keep the transmitter off, power on the Inductrix. Wait until it flashes fast and then power up the Tx and use Bind.
|
||||
|
||||
## Tx Setup
|
||||
|
||||
Remember that 100% on your transmitter using the MULTI-Module corresponds to 125% on the DSM receiver side. On some functions sending 100% will confuse the model. Conversely 80% on your Tx is interpreted to be 100% at the model. Consider this when implementing the suggestions below.
|
||||
|
||||
### Throttle
|
||||
|
||||
For Inductrix FPV you might need to adjust the lower end of throttle to be a higher than default, otherwise motors will be spinning on minimal throttle. One way to do this is to set the throttle to 80% output (100% of DSM output) and then to enable the **Throttle Idle Trim Only** under the Model Setup menu. See image below:
|
||||
<img src="images/Inductrix_Throttle_Setup.png" Width="600" Height="200" />
|
||||
|
||||
### Acro and Level Mode
|
||||
|
||||
Setup channel 6 with a momemtary button or switch (e.g. SH on the Taranis) and use that switch to switch between modes. Set the output to somewhere between 40% to 60% for best results.
|
||||
|
||||
An addition consideration when flying in Acro mode is to reduce stick sensitivity and to add some expo. The screens below show one way of doing this. Customize to your needs.
|
||||
|
||||
#### Inputs Screen
|
||||
|
||||
The follwing INPUTS screen shows one potential setup to introduce expo for Acro mode. The activation of the expo on Roll, Pitch and Yaw is when the SG switch is not in the back position. Add to taste.
|
||||
<img src="images/Inductrix_Inputs.png" Width="600" Height="200" />
|
||||
|
||||
#### Aileron Rates attached to Switch !SG-up
|
||||
|
||||
The next screen shows and example of how the expo (50%) was set up on the stick input and how it is activated by !SG-up:
|
||||
<img src="images/Inductrix_Aileron_Expo.png" Width="600" Height="200" />
|
||||
|
||||
#### Mixer Menu
|
||||
|
||||
The next screen shows the mixer menu with the mode change on momentary switch SH and High-Low rates on switch SC:
|
||||
<img src="images/Inductrix_Mixer.png" Width="600" Height="200" />
|
||||
|
||||
# Cheerson CX-20 / Quanum Nova
|
||||
|
||||
<img src="http://uaequadcopters.com/images/products/Large/932-cheersoncx20dronquad.jpg" Width="200" Height="155" />
|
||||
|
||||
## Channel Map
|
||||
|
||||
CH1|CH2|CH3|CH4|CH5|CH6|CH7
|
||||
---|---|---|---|---|---|---
|
||||
A|E|T|R|MODE|AUX1|AUX2
|
||||
|
||||
## Binding
|
||||
|
||||
The Rx powers up in binding mode so the transmitter should be set to autobind. If the Tx signal is lost due to power-off or going out of range the Rx will not re-bind, and requires power-cycling before it will bind again.
|
||||
|
||||
## Tx Setup
|
||||
|
||||
AETR are simple +100% mixes. Note that the model expects Elevator (CH2) to be reversed, which is handled in the module firmware, so no need to reverse it on the Tx.
|
||||
|
||||
### Flight modes
|
||||
|
||||
CH5 is used to transmit the flight mode to the APM flight controller by setting the output to a value in a pre-defined range. The original Tx uses a 3-pos switch (SWA) and a 2-pos switch (SWB) to achieve six different combinations, but only five are used - with SWA at 0, 1500 is sent when SWB is at 0 and 1, leaving flight mode 3 unused. However, in the stock CX-20 flight controller settings, both flight mode 3 and 4 are set to the same flight mode, meaning we can configure our new Tx settings to send a value for mode 3 without changing the standard flight mode behaviour. Afterwards, you can optionally use Mission Planner to assign a new flight mode to mode 3 or mode 4, or reconfigure them altogether.
|
||||
|
||||
The values, modes, and switch positions for the stock Tx are:
|
||||
@ -149,12 +172,13 @@ CH5|-80%|HALF|L1|REPLACE
|
||||
**NB** The weight values in this table will get you in the ball park, and will most likely work fine. Because transmitters can vary they should be double-checked in the Mission Planer Radio Calibration screen, and tweaked as necessary.
|
||||
|
||||
### CH6 and CH7
|
||||
|
||||
CH6 and CH7 can be assigned to switches or pots to provide additionaly functionality such as PID tuning, gimbal control, or APM auto-tune or auto-land.
|
||||
|
||||
Replicating the stock setup of two pots, you would assign:
|
||||
|
||||
Channel|Weight|Source|Multiplex
|
||||
---|---|---|---|---
|
||||
---|---|---|---
|
||||
CH6|+100%|P1|ADD
|
||||
CH7|+100%|P3|ADD
|
||||
|
||||
@ -176,5 +200,3 @@ CH6|+100%|P1|
|
||||
CH7|+100%|P3|
|
||||
|
||||
Once you have configured the mixes you should connect Mission Planner to your CX-20 and use the Radio Calibration screen to verify that the channels are correctly assigned, and that the flight modes are correct. Mission planner will give the exact PWM value on CH5, allowing the weights to be adjusted if needed.
|
||||
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
|
||||
# 4-in-1 module
|
||||
|
||||
Currently the form factor of this module is designed for the JR-style module bay. Many of the popular RC transmitters use the JR-style module bay: FrSky Taranis, FlySky Th9x, Turnigy 9X/R/Pro
|
||||
|
||||
## What you need
|
||||
|
||||
A fully assembled module + case available from Banggood.com [here](http://www.banggood.com/CC2500-NRF24L01-A7105-CYRF693-4-In-1-RF-Module-With-Case-For-Futaba-JR-Frsky-Transmitter-p-1116892.html)
|
||||
|
||||
<img src="images/4-in-1_Module_Case_BG.jpeg" width="221" height="200" />
|
||||
@ -24,6 +26,7 @@ For 9XR/9XR Pro, a new 3D printed module is available which makes use of the bui
|
||||
## Different working modes
|
||||
|
||||
### PPM mode
|
||||
|
||||
If you are only planning on using the PPM interface with your transmitter, you need to connect it as described:
|
||||
|
||||
<img src="images/PPM.png" width="574" height="340" />
|
||||
@ -35,6 +38,7 @@ The same plug is available on all versions of the module with the same signal lo
|
||||
If you wish to add an external device reading the telemetry, you need to enable serial mode as explained in the next topics otherwise you are now ready to go over to [Compiling and Programming](Compiling.md).
|
||||
|
||||
### Serial mode
|
||||
|
||||
If you have a transmitter that can support serial communication with the board then you need to wire up the board appropriately. There are three versions of the module and the steps are slightly different.
|
||||
|
||||
Check which module you have and based on the pictures below. If you purchased the module after June 2016 then it is likely that you have a V1.1 type module. If you have purchased the version with case it is likely that you have a V1.2 type module.
|
||||
|
@ -4,6 +4,7 @@ The Multiprotocol Module is compatible with any transmitter that is able to gene
|
||||
If you want the best performance you can set the number of channels and framerate corresponding to the number of channels of the specific receiver/model.
|
||||
|
||||
## PPM Connections
|
||||
|
||||
If you do not have a module bay, there are only three wires you need to connect to get PPM to work. (The pins are numbered from top to bottom)
|
||||
- PPM on pin 1
|
||||
- vbat on pin 3
|
||||
|
@ -1,6 +1,5 @@
|
||||
# Compatible Transmitters
|
||||
|
||||
|
||||
There are two different modes to interface the MULTI-Module and the transmitter: PPM and Serial. The considerations are different for each.
|
||||
- **PPM** is more generic, easy to implement and will work with most transmitters.
|
||||
- **Serial** requires custom firmware on the transmitter but brings added functionality including protocol selection through the Tx interface and the option of telemetry (with the right transmitter firmware).
|
||||
@ -8,6 +7,7 @@ There are two different modes to interface the MULTI-Module and the transmitter:
|
||||
Any Tx providing a PPM output (like a trainer port, or a transmitter with a RF module bay) is compatible with the MULTI-module.
|
||||
|
||||
## PPM
|
||||
|
||||
The DIY Mulitprotocol module supports industry standard PPM interface that works with all transmitters with either a module bay, and/or a trainer port. Even the older 72MHz FM radios support this standard.
|
||||
|
||||
<img src="images/PPM.png" width="338" height="200" />
|
||||
@ -23,6 +23,7 @@ Even in PPM mode it may still be possible to access telemetry information from s
|
||||
For transmitter setup using the PPM protocol go to the [PPM Setup page](PPM_Setup.md)
|
||||
|
||||
## Serial
|
||||
|
||||
Transmitters that run er9X, erSky9X or OpenTx firmwares (like the FrSky Taranis, FlySky TH9X and Turnigy 9X family of transmitters) have the option of using a fast serial communication protocol between the Tx and the DIY Multiprotocol module. Using this serial communication protocol has some significant advantages:
|
||||
|
||||
1. selecting the specific radio protocol (e.g. DSM) and the sub protocol (e.g. DSMX22) is done directly in the menu system of the Tx (see the picture below)
|
||||
@ -32,7 +33,6 @@ Transmitters that run er9X, erSky9X or OpenTx firmwares (like the FrSky Taranis,
|
||||
|
||||
<img src="images/OpenTx_Multi_Menu.jpg" width="470" height="180" /> <img src="images/er9X_Multi_Menu.jpg" width="250" height="180" />
|
||||
|
||||
|
||||
This serial protocol does not require any hardware modifications, but **will** require updating the firmware on your radio. Transmitters and firmware combinations that support the Serial protocol are shown in the table below. Also shown are telemetry considerations that will be discussed next.
|
||||
|
||||
Transmitter|Firmware Options|Telemetry Enabled
|
||||
@ -49,7 +49,6 @@ Transmitter|Firmware Options|Telemetry Enabled
|
||||
|
||||
Click on your transmitter above to view specific setup instructions.
|
||||
|
||||
|
||||
## Telemetry
|
||||
|
||||
To enable serial telemetry you need one of the radios and firmwares listed in the table above and **may** require modifications to your Tx. See the table above. Before attempting telemetry check the following:
|
||||
@ -68,6 +67,7 @@ You can see Midelic's original instructions [here](http://www.rcgroups.com/forum
|
||||
|
||||
|
||||
## Other Notes:
|
||||
|
||||
- er9X and erSky9X firmware already supports Multiprotocol Module as a standard feature. The next major release of OpenTx - OpenTx 2.2 - will have DIY Mulitprotocol support as a standard feature.
|
||||
|
||||
- Owners of Walkera Devo transmitters should look at the [Deviation-Tx](http://www.deviationtx.com) project for how to achieve the same end goal with your transmitters.
|
||||
|
@ -1,4 +1,5 @@
|
||||
# erSky9X family of transmitters
|
||||
|
||||
This page is relevant to the following transmitters:
|
||||
- Taranis running erSky9X (for the Taranis running OpenTx see [here](Tx-Taranis.md))
|
||||
- Turnigy 9XR Pro (for Turnigy 9X see [here](Tx-FlyskyTH9X.md))
|
||||
@ -10,18 +11,21 @@ This page is relevant to the following transmitters:
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
The MULTI-Module can be used in this family of transmitters in either PPM mode or in Serial mode. To operate in Serial mode, a version of erSky9X supporting the Multiprotocol Module must be installed on the Tx.
|
||||
|
||||
## PPM Mode
|
||||
|
||||
Please refer to the [PPM Setup](PPM_Setup.md) page.
|
||||
|
||||
|
||||
## Serial Mode
|
||||
|
||||
Serial mode is only supported by the erSky9X firmware. Loading this firmware is beyond the scope of this document but it is well covered in tutorial and video tutorials online. The firmware you should use with the MULTI-Module is available on Mike's [erSky9X Test Version Page](http://openrcforums.com/forum/viewtopic.php?f=7&t=4676). Analyze the names of the different firmware options carefully - they contain all the information requried. (For example for the Taranis X9D Plus use the x9dp.bin firmware, etc.)
|
||||
|
||||
erSky9X is well documented, the slightly outdated erSky9X documentation is [here](http://openrcforums.com/forum/viewtopic.php?f=5&t=6473#p90349). You may find the new Er9x manual very helpful in understanding Ersky9x as the two firmwares are very closely related. It provides more detailed explanations and numerous relevant programming examples and is available [here](http://openrcforums.com/forum/viewtopic.php?f=5&t=6473#p90349).
|
||||
|
||||
### Enabling Serial Mode
|
||||
|
||||
1. Confirm that the MULTI-Module has the required physical connections between the pins on the back of the Tx and the ATMega328 microprocessor. This may require some soldering and depends on which version of the MULTI-Module you have. Check out your module’s hardware page under the section **Enabling your module for Serial** for details. Click on the image that corresponds to your MULTI-Module on the [hardware](Hardware.md) page.
|
||||
1. Plug in your MULTI-Module into the transmitter module bay. If you have a rotary protocol selection switch, turn the switch to position 0 to put the unit into Serial mode.
|
||||
1. Ensure throttle is down and all switches are in the start position and power up the Tx. The red LED on the MULTI-Module should be flashing with a period of about 1 second indicating that it has not established a valid serial link with the Tx. This is expected as we have not set up the Tx yet.
|
||||
@ -30,12 +34,14 @@ erSky9X is well documented, the slightly outdated erSky9X documentation is [here
|
||||
1. The red LED on the MULTI-Module should briefly flash and then remain solid. This confirms that the MULTI-Module has established serial communication with the Tx. If the red LED on the module continues to flash at a period of about 1 seconds then it signals that serial communication has not been established. Check your settings under the model menu as described above and check that the protocol selection switch on the module is at 0 (enable Serial mode). If there is still no communication, power down and power up the Tx. Finally check that you have correctly enabled your module for serial as described on the hardware page for your module under the heading "Enabling your module for Serial". Click here to access the [hardware](Hardware.md) and then click on the picture of your module.
|
||||
|
||||
### Protocol Selection in Serial mode
|
||||
|
||||
To select the protocol:
|
||||
1. In the Model Setting menu, scroll through the available options under the MULTI protocol
|
||||
1. Depending on which protocol you have selected you may be required to select a sup-protocol and options. For example, there are three protocols that correspond to FrSky recievers: FrSky_V, FrSky_D and FrSky_X. In some cases the sub-protocols have options that could specify the number of channels, packet frame rate or fine frequency tuning. Check out the [Protocol Details](Protocol_Details.md) page for detailed information and suggestions regarding the sub-protocols and options. The picture below shows the settings in the erSky Model Setup menu for FrSkyX subprotocol with {mike to insert} options:
|
||||
{mikeb to send simple picture}
|
||||
|
||||
### Binding in Serial mode
|
||||
|
||||
1. Switch on the model or put the receiver into bind mode
|
||||
1. On the transmitter go to the Model Settings menu and scroll down to the [Bind] menu option and press Enter.
|
||||
1. Press Enter again to exit Bind mode
|
||||
@ -43,4 +49,3 @@ To select the protocol:
|
||||
For many consumer models consider checking the Autobind option. This will initiate the bind sequence as soon as the module is powered up by the transmitter.
|
||||
|
||||
If you are struggling to get a bind please see the [Getting the bind timing right page](Bind_Timing.md)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user