mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-01 01:57:52 +00:00
Fixed Markdown typos.
This commit is contained in:
parent
7ee0b2b0a3
commit
84922e84a3
@ -64,7 +64,7 @@ For more information on these options see the [hardware](docs/Hardware.md) page
|
||||
This depends on your specific needs. However, recent the availability of the 4-in-1 RF modules from Banggood for less than $35 makes it easy to “have it all”. Most manufacturers of RC systems (Spektrum, FrSky, FlySky) and toys (Syma, Hubsan, etc.) use one of these four RF chips to manage the RF link between the transmitter and the reciever/model. Here is an incomplete list of the RF modules and some of the most popular toys that use them. For the complete list see the [Protocol Details](Protocols_Details.md) page.
|
||||
|
||||
|Manufacturer|RF Chip|Example Protocols|
|
||||
|:-----------|-------|:-------|
|
||||
|---|---|---|
|
||||
|Cyprus Semiconductor|CYRF6936|DSM/DSMX|
|
||||
|||Walkera Devo|
|
||||
|||J6Pro|
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Bluetooth Telemetry in PPM Mode
|
||||
###Telemetry
|
||||
|
||||
## Telemetry
|
||||
|
||||
There are 4 protocols supporting telemetry: Hubsan, DSM, FrSkyD and FrSkyX.
|
||||
|
||||
@ -11,7 +12,7 @@ FrSkyD displays full telemetry (A0, A1, RX RSSI, TX RSSI and Hub).
|
||||
|
||||
FrSkyX displays full telemetry (A1, A2, RX RSSI, TX RSSI and Hub).
|
||||
|
||||
### If used in PPM mode
|
||||
## If used in PPM mode
|
||||
|
||||
Telemetry is available as a serial output on the TX pin of the Atmega328p using the FrSky hub format for Hubsan, FrSkyD, FrSkyX and DSM format for DSM2/X. The serial paramets depends on the protocol:
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Advanced Topics {This page is currently a proof of concept}
|
||||
Warning: the topics on this page are not for the fainthearted. It is strongly recommended that you have some experience in getting up and runnning with your module before you dive in there. On the other hand what is described on this page are some very useful options that could greatly increase the value and the enjoyment of your Multiprotocol module.
|
||||
|
||||
# Serial uploader that works through the transmitter pins
|
||||
This document describes how you can set up your ATmega-based Mulitprotocol module to allow you to update the firmware by connecting a USB to TTL serial (like a FTDI) adapter to the module's transmitter interface pins. It is great if you exclusively use the Serial interface with your transmitter because the Bind button is used as "bootloader" button. It requires a small custom bootloader to be uploaded and a simple interface cable to be soldered up. See the [Advanced ATmega Serial Uploader](Advanced_ATmega_Serial_Uploader.md) page for more details.
|
||||
Created and supported by: Mike Blandford
|
||||
@ -21,6 +22,7 @@ Created and supported by: hpnuts
|
||||
## Flashing Multi_STM32 module.
|
||||
|
||||
#### Flashing without Tx power
|
||||
|
||||
This is another method of Flshing Multi_STM32 which is riskier.This method is for skilled users who understand the task.
|
||||
|
||||
The key difference of this method is that the 3.3V FTDI cable must also provide power to the 5V circuitry during the flashing process. To do this, a jumper must be enabled connecting the 3.3V VCC to the 5V line. The risk is to forget 3.3V jumper in, after flashing and when TX restarted.
|
||||
|
@ -14,15 +14,24 @@ 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)
|
||||
|
||||
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)
|
||||
|
||||
The 6 Pin header needs to be solder on the board like indicated by the red rectangle:
|
||||
* Banggood readymade 4-in-1 module:
|
||||
<img src="images/V2b_ISP.jpeg" width="189" height="200" />
|
||||
|
||||
* DIY Mulitprotocol modules (like the 2.3d board):
|
||||
<img src="images/MPTM_PCB_2.3d_ISP.png" width="486" height="201" />
|
||||
|
||||
* Arduino Pro Mini module:
|
||||
<img src="images/ProMini_ISP.png" width="195" height="200" />
|
||||
|
||||
@ -78,7 +87,6 @@ If there is another error carefully read it, go to the line number indicated and
|
||||
### Flash the firmware
|
||||
|
||||
1. If you have a 4in1 Multiprotocol module you can skip this step. If you've just finished to build your DIY Multiprotocol module (like v2.3d), the first step is to flash the fuses of the microcontroller. This needs to be done only once. For this purpose, click on **Tools -> Burn Bootloader**
|
||||
|
||||
1. You are now ready to flash the firmware. In the Arduino IDE click **Sketch -> Upload Using Programmer**.
|
||||
|
||||
If the output indicates that the firmware has been uploaded successfully - give yourself a pat on the back. Well done, you have successfully programmed your DIY Multiprotocol module. You can already go to the final step [Setting up your Transmitter](TransmitterSetup.md) and begin to fly!!!! But don't forget to visit the next topic [Advanced settings](#AdvancedSettings) which has some extra steps needed to use your module at his full potential.
|
||||
|
@ -7,17 +7,12 @@ Multiprotocol source can be compiled using the Arduino IDE using STM32 Core (Map
|
||||
On all modules with STM32F103 microcontroller, the program flash memory on the microcontroller is large enough to accommodate all the protocols. You do not have to make choices on which protocols to upload. Also, it is likely that you used the Banggood 4-in-1 RF module and you will therefore have access to all the RF modules.Now for programmng multimodule with STM32 chip you have 2 options presented below.
|
||||
|
||||
1. Compiling and flashing in Arduino IDE.
|
||||
|
||||
1. Flashing precompiled binaries from [here](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases)
|
||||
|
||||
- If using one of these TX with multimodule like Turnigy 9X,9XR,9X+ the binary file for flashing is **Multiprotocol_V1.X.X_STM32.bin**.
|
||||
|
||||
- If using TARANIS TX the binary file is **Multiprotocol_V1.X.X_STM32_INV.bin**
|
||||
|
||||
Flashing precompiled **binaries** is done very simple with the cable setup presented below and an utility(GUI) **ST Flash Loader Demonstrator.**
|
||||
|
||||
|
||||
|
||||
## Compiling source and flashing in Arduino.
|
||||
|
||||
### Install the Arduino IDE and the Multiprotocol project
|
||||
@ -27,7 +22,6 @@ Flashing precompiled **binaries** is done very simple with the cable setup prese
|
||||
- OSX: ```Arduino.app/Contents/Java/hardware``` (you can open Arduino.app by Ctl Clicking on Arduino.app and selecting "Show Package Contents")
|
||||
- Windows: ```C:\Program Files (x86)\Arduino\hardware```
|
||||
- Make sure the folder tree structure is like this .....\hardware\Arduino_STM32\.....and **NOT** ...... \hardware\Arduino_STM32-master\Arduino_STM32-master\......So move the folders /rename accordingly.
|
||||
|
||||
1. Download the zip file with the Multiprotocol module source code from [here](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)
|
||||
1. Unzip and copy the source code folder ```Multiprotocol``` to a folder of your choosing
|
||||
1. Click on the ```Multiprotocol.ino file``` in the ```Multiprotocol``` folder and the Arduino environment should appear and the Multiprotocol project will be loaded.
|
||||
@ -50,7 +44,6 @@ Flashing precompiled **binaries** is done very simple with the cable setup prese
|
||||
**}**
|
||||
***/**
|
||||
|
||||
|
||||
1. Run the IDE, and on the **Tools** menu, select **Board** and then **Boards manager**. Click on the Arduino DUE (32 Bits ARM-Cortex M3) from the list of available boards. You must do this step, it installs the arm-none-eabi-g++ toolchain!
|
||||
1. Close and reopen the Arduino IDE and load the Multiprotocol project.
|
||||
1. In arduino IDE under the **Tools** -> **Board:** select the **Generic STM32F103C series** board
|
||||
@ -71,7 +64,6 @@ The second method is definitely the easiest in the long-term, but it does requi
|
||||
- Module RX pin to FTDI TX pin
|
||||
- Module TX pin to FTDI Rx pin
|
||||
- Module GND to FTDI GND
|
||||
|
||||
1. In arduino IDE under the **Tools** -> **Board:** check that you have selected the **Generic STM32F103C series** board
|
||||
1. Under **Tools** -> **Upload Method:** select **Serial**
|
||||
1. Click "Upload" and the sketch will be uploaded normally. This is valid for all arduino versions.
|
||||
@ -80,16 +72,15 @@ The second method is definitely the easiest in the long-term, but it does requi
|
||||
If you have the module inside a box and to be inserted in TX bay, you may build a flashing cable like in the picture below.
|
||||
You can attach and solder a 5 pin header female and top outside the box.**ALways insert first the USB serial device in USB port , and TX start after.**
|
||||
|
||||
[<img src="images/Multi_STM32_ flashing.jpg" />]
|
||||
<img src="images/Multi_STM32_ flashing.jpg" />
|
||||
|
||||
See below my module for reference
|
||||
|
||||
[<img src="images/Multi_STM32 module.JPG" width="600" height="400" />]
|
||||
<img src="images/Multi_STM32 module.JPG" width="600" height="400" />
|
||||
|
||||
#### Option 2: Flashing with USB cable.
|
||||
|
||||
This method use USB connector on the STM32 V1.0 board or on the maple clone board.
|
||||
|
||||
1. Install first maple USB driver by running the batch file found in Arduino STM32 package folder "..\hardware\Arduino_STM32\drivers\win\install_drivers.bat"
|
||||
1. Download the free STM32 flash loader demonstrator from [ST.com](http://www.st.com/en/development-tools/flasher-stm32.html) and using a USB-TTL device (like FTDI cable) flash the STM32duino bootloader available from Roger Clark's great STM32 site [here](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/STM32F1/binaries) .Use bootloader **generic_boot20_pa1.bin**
|
||||
1. Open Arduino IDE,browse to multiprotocol folder,load the sketch multiprotocol.ino.
|
||||
|
@ -5,14 +5,18 @@ The Deviation project (on which this project was based) have a useful list of mo
|
||||
|
||||
# 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
|
||||
@ -50,9 +54,12 @@ For telemetry enabled modules, you should just let the remote autodetect the set
|
||||
|
||||
## 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.
|
||||
|
||||
@ -60,19 +67,24 @@ An addition consideration when flying in Acro mode is to reduce stick sensitivit
|
||||
|
||||
#### 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
|
||||
@ -124,7 +136,7 @@ L. Switch 4|AND|ID0|AIL
|
||||
L. Switch 5|AND|ID1|AIL
|
||||
L. Switch 6|AND|ID1|!AIL
|
||||
|
||||
####Flight modes (using CX-20 names):
|
||||
#### light modes (using CX-20 names):
|
||||
|
||||
Mode|Name|Switch
|
||||
---|---|---
|
||||
|
@ -1,11 +1,14 @@
|
||||
# Troubleshooting
|
||||
|
||||
## LED status
|
||||
|
||||
### Green LED
|
||||
|
||||
- Off: no power to the module
|
||||
- On: module is powered up
|
||||
|
||||
### Red LED (bind LED)
|
||||
|
||||
- Off: program not running or a protocol selected with the associated module not installed
|
||||
- Flash(on=0.05s,off=1s): invalid protocol selected (excluded from compilation or invalid protocol number)
|
||||
- Inverted Flash(on=1s,off=0.1s): module is waiting for a bind event (Bind from channel or Bind in radio GUI) to launch the protocol in bind mode
|
||||
@ -15,18 +18,22 @@
|
||||
- On: Module is in normal operation mode (transmitting control signals).
|
||||
|
||||
## Protocol selection
|
||||
|
||||
### Input Mode - PPM
|
||||
|
||||
- The protocol/mode selection must be done before the power is applied to the module
|
||||
- Often the signal is not sent to the module until the transmitter has performed safety checks (like switch and throttle position settings)
|
||||
- Check that at least one of the protocol selection pins is connected to GND.
|
||||
- Some radios have an open collector output (Futaba, Graupner...), in this case add a 4.7K resistor between PPM and BATT.
|
||||
|
||||
### Input Mode - Serial
|
||||
|
||||
- Make sure you have done the serial mods as indicated in the [hardware page for your board] (Hardware.md).
|
||||
- Protocol selection dial must be in the 0 position or leave all 4 selection pins unconnected.
|
||||
- Often the signal is not sent to the module until the transmitter has performed safety checks (like switch and throttle position settings)
|
||||
|
||||
## Bind
|
||||
|
||||
Make sure to follow this procedure: press the bind button, apply power and then release after the red LED starts flashing. The LED should be blinking fast indicating a bind status and then fixed on when the bind period is over. It's normal that the LED turns off when you press the bind button, this behavior is not controlled by the Atmega328.
|
||||
For serial, the preffered method is to bind via the GUI protocol page.
|
||||
|
||||
@ -40,6 +47,7 @@ FrSky & SFHSS bind issues are ususally due to Option=fine frequency tuning not s
|
||||
- set the value to half way between min and max.
|
||||
|
||||
##Report issues
|
||||
|
||||
You can report your problem using the [GitHub issue](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/issues) system or go to the [Main thread on RCGROUPS](http://www.rcgroups.com/forums/showthread.php?t=2165676) to ask your question.
|
||||
Please provide the following information:
|
||||
- Multiprotocol code version
|
||||
|
Loading…
x
Reference in New Issue
Block a user