From 3ab6e842755d7f2b517fac8596a67191c5573b5c Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:21:43 +0100 Subject: [PATCH 01/14] Update Transmitters.md --- docs/Transmitters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Transmitters.md b/docs/Transmitters.md index c204fc3..3d720ac 100644 --- a/docs/Transmitters.md +++ b/docs/Transmitters.md @@ -12,7 +12,7 @@ The DIY Mulitprotocol module supports industry standard PPM interface that works When using the standard PPM Tx output, the protocol selection is achieved through a 16 position rotary switch on the module. This enables 15 (0=serial) protocol/sub-protocol/options combinations to be selected. Binding is achieved by pressing a bind button on the back of the module (see picture below) - + Since the module supports literally hundreds of protocol/sub-protocol/options combinations, you must select which of these will map to the 15 positions on the switch. Refer to the [Compiling and Programming](Compiling.md) page for information on how to do his. From 52fae655ba16227b2f8289559819ddb05470036d Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:22:46 +0100 Subject: [PATCH 02/14] Update Module_BG_4-in-1.md --- docs/Module_BG_4-in-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Module_BG_4-in-1.md b/docs/Module_BG_4-in-1.md index ab5685d..39d290c 100644 --- a/docs/Module_BG_4-in-1.md +++ b/docs/Module_BG_4-in-1.md @@ -26,7 +26,7 @@ For 9XR/9XR Pro, a new 3D printed module is available which makes use of the bui ###PPM mode If you are only planning on using the PPM interface with your transmitter, you need to connect it as described: - + Some radios have an open collector output (Futaba, Graupner...), in this case you should add a 4.7K resistor between PPM and BATT. From 48fb8d0b9280aa492ec4dca7937eec4a8ae9822e Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:24:12 +0100 Subject: [PATCH 03/14] Update Transmitters.md --- docs/Transmitters.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/Transmitters.md b/docs/Transmitters.md index 3d720ac..2266871 100644 --- a/docs/Transmitters.md +++ b/docs/Transmitters.md @@ -10,10 +10,12 @@ Any Tx providing a PPM output (like a trainer port, or a transmitter with a RF m ##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. -When using the standard PPM Tx output, the protocol selection is achieved through a 16 position rotary switch on the module. This enables 15 (0=serial) protocol/sub-protocol/options combinations to be selected. Binding is achieved by pressing a bind button on the back of the module (see picture below) - +The same module plug is available on all versions of the module with the same signal locations. Some radios have an open collector output (Futaba, Graupner...), in this case you should add a 4.7K resistor between PPM and BATT. + +When using the standard PPM Tx output, the protocol selection is achieved through a 16 position rotary switch on the module. This enables 15 (0=serial) protocol/sub-protocol/options combinations to be selected. Binding is achieved by pressing a bind button on the back of the module (see picture below) + Since the module supports literally hundreds of protocol/sub-protocol/options combinations, you must select which of these will map to the 15 positions on the switch. Refer to the [Compiling and Programming](Compiling.md) page for information on how to do his. Even in PPM mode it may still be possible to access telemetry information from selected receivers that support telemetry (e.g. Frsky, Hubsan, DSM). To find out more about this advanced option check out the section on the [Advanced Topics](Advanced_Topics.md) page. From 5cdd672e84e8329a17ee6b23a3b8b1da5aa196e0 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:28:59 +0100 Subject: [PATCH 04/14] Update Module_Build_yourself_PCB.md --- docs/Module_Build_yourself_PCB.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/Module_Build_yourself_PCB.md b/docs/Module_Build_yourself_PCB.md index 9fd79dc..1a03eda 100644 --- a/docs/Module_Build_yourself_PCB.md +++ b/docs/Module_Build_yourself_PCB.md @@ -6,7 +6,7 @@ First you must choose the PCB onto which to solder all the components. There are - ATmega (8-bit) powered PCB V2.3d supporting individual RF modules - STM32 (32-bit) powered PCB V1.0t supporting the 4-in-1 RF module -The **ATmega-based board** has been designed to accept individual RF modules. This way you can select just the module or modules you want. The downside is that each module requires its own antenna. It can become cumbersome with 4 antennas protruding from the module. It is possible to soder the 4-in-1 module to the PCB using thin insulated wire. This 4-in-1 module requires only one antenna. Finally, the Atmega board has a 32k flash memory. This is big enough to accommodate more than 15 protocols, but it cannot accommodate all the available protocols. +The **ATmega-based board** has been designed to accept individual RF modules. This way you can select just the module or modules you want. The downside is that each module requires its own antenna. It can become cumbersome with 4 antennas protruding from the module. It is possible to soder the 4-in-1 module to the PCB using thin insulated wire. This 4-in-1 module requires only one antenna. Finally, the Atmega board has a 32KB flash memory. This is big enough to accommodate more than 15 protocols, but it cannot accommodate all the available protocols. @@ -34,13 +34,16 @@ The schematic for the board is [here](#V23D_Schematic). Please note that is is The schematic for the board is [here](#STM32_Schematic) ###Common parts -1. A module case that fits your receiver like the one [here](https://www.xtremepowersystems.net/proddetail.php?prod=XPS-J1CASE) +1. A module case that fits your module like the one [here](https://www.xtremepowersystems.net/proddetail.php?prod=XPS-J1CASE) or you can 3D print your own from a selection on Thingiverse ([Example 1](http://www.thingiverse.com/thing:1852868) [Example 2](http://www.thingiverse.com/thing:1661833)). - [ ](http://www.thingiverse.com/thing:1852868) -1. A 2.4GHz antenna and pigtail -1. AVR ISP programmer like the popular USBASP programming dongle that is 3.3V safe - available from many sellers on [ebay.](http://www.ebay.com/sch/i.html?_odkw=usbasp+progammer&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR3.TRC2.A0.H0.Xusbasp+progammer+3.3V.TRS1&_nkw=usbasp+progammer+3.3V&_sacat=0) There are reports that some of the cheap programmers are not safe to use with 3.3V units (like this unit). Look for USBAsp programmers with the “LC Technologies” label. {Pascal to confirm these reports are true} Also, you will need a 10-pin to 6-pin connector to connect the USBASP to the board. + [ ](http://www.thingiverse.com/thing:1852868) + For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back! You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). + + + +1. A 2.4GHz antenna and pigtail ##Build instructions If you got this far you already know what you are doing!! @@ -51,7 +54,7 @@ If you got this far you already know what you are doing!! 1. Fit the module into the module case. This may require some careful filing or sanding of the module to ensure a nice fit. ###PPM interface -If you are only planning on using the PPM interface with transmitter you are ready to program the module as described in Compiling and Programming the module. +If you are only planning on using the PPM interface with transmitter you are ready to program the module as described in [Compiling and Programming](Compiling.md) the module. ###Enabling Serial and Telemetry interface If you have a transmitter that can support serial communication with the board then you need to solder some jumpers. From 821f1bdc2b4cef4320878e4bd2020bc111112005 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:29:45 +0100 Subject: [PATCH 05/14] Update Module_Build_yourself_PCB.md --- docs/Module_Build_yourself_PCB.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/Module_Build_yourself_PCB.md b/docs/Module_Build_yourself_PCB.md index 1a03eda..a53269d 100644 --- a/docs/Module_Build_yourself_PCB.md +++ b/docs/Module_Build_yourself_PCB.md @@ -38,9 +38,8 @@ The schematic for the board is [here](#STM32_Schematic) or you can 3D print your own from a selection on Thingiverse ([Example 1](http://www.thingiverse.com/thing:1852868) [Example 2](http://www.thingiverse.com/thing:1661833)). [ ](http://www.thingiverse.com/thing:1852868) - For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back! You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). - - + For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back! You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). + 1. A 2.4GHz antenna and pigtail From 479e4588f3202141a7000ff6c83d9a7e38fa8590 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:31:25 +0100 Subject: [PATCH 06/14] Update Module_Build_From_Scratch.md --- docs/Module_Build_From_Scratch.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/Module_Build_From_Scratch.md b/docs/Module_Build_From_Scratch.md index 34db6c4..4d3774b 100644 --- a/docs/Module_Build_From_Scratch.md +++ b/docs/Module_Build_From_Scratch.md @@ -10,7 +10,10 @@ The Arduino Pro-Mini is available many places online. Check Sparkfun (the origi A module case that fits your receiver like the one [here](https://www.xtremepowersystems.net/proddetail.php?prod=XPS-J1CASE) or you can 3D print your own from a selection on Thingiverse ([Example 1](http://www.thingiverse.com/thing:1852868) [Example 2](http://www.thingiverse.com/thing:1661833)). - [ ](http://www.thingiverse.com/thing:1852868) + [ ](http://www.thingiverse.com/thing:1852868) + For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back! You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). + + You will require a second Arduino or a FTDI (USB to TTL serial) cable to program the Pro-Mini. Like the one [here](https://www.sparkfun.com/products/9717). **Make sure you get only a 3.3V FTDI cable - or you will fry your 3.3V RF modules when you connect it up.** From 6d7415880a20f665b08923f32185e59b4dc08f64 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:31:56 +0100 Subject: [PATCH 07/14] Update Module_Build_From_Scratch.md --- docs/Module_Build_From_Scratch.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/Module_Build_From_Scratch.md b/docs/Module_Build_From_Scratch.md index 4d3774b..a447c9f 100644 --- a/docs/Module_Build_From_Scratch.md +++ b/docs/Module_Build_From_Scratch.md @@ -11,12 +11,9 @@ A module case that fits your receiver like the one [here](https://www.xtremepowe or you can 3D print your own from a selection on Thingiverse ([Example 1](http://www.thingiverse.com/thing:1852868) [Example 2](http://www.thingiverse.com/thing:1661833)). [ ](http://www.thingiverse.com/thing:1852868) - For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back! You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). + For 9XR/9XR Pro, a new 3D printed module is available which makes use of the built in antenna in the handle. This means nothing is getting out of the radio back. You can find all details of this module case on [Thingiverse](http://www.thingiverse.com/thing:2050717). - -You will require a second Arduino or a FTDI (USB to TTL serial) cable to program the Pro-Mini. Like the one [here](https://www.sparkfun.com/products/9717). **Make sure you get only a 3.3V FTDI cable - or you will fry your 3.3V RF modules when you connect it up.** - ##Reference Schematic Here is the schematic you can use to troubleshoot the module From a6f8fe4c9517ecd75ef3b3e0f2468a370849bfd6 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:33:02 +0100 Subject: [PATCH 08/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e82ca2..92114d2 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The source code is partly based on the [Deviation TX project](http://www.deviati 1. [Module Hardware options](docs/Hardware.md) 1. Compiling and programming the module * [4in1/DIY Mutliprotocol module based on ATmega328](docs/Compiling.md) - * [STM32](docs/Compiling_STM32.md). + * [STM32](docs/Compiling_STM32.md) 1. [Transmitter Setup](docs/Transmitters.md) 1. [How to for popular models](docs/Models.md) 1. [Troubleshooting](docs/Troubleshooting.md) From 2bbf672094486e8e752b16089946291e3d18a108 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 15:50:07 +0100 Subject: [PATCH 09/14] Update Troubleshooting.md --- docs/Troubleshooting.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 799ece6..ce42fde 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -18,6 +18,7 @@ - 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). From b9d988c712781af7140462b1f6e2370c897f187d Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 17:18:45 +0100 Subject: [PATCH 10/14] Update Troubleshooting.md --- docs/Troubleshooting.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index ce42fde..b8a0f6f 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -33,6 +33,11 @@ If your module is always/sometime binding at power up without pressing the butto - Arduino Pro Mini with an external status LED: to work around this issue connect a 10K resistor between D13 and 3.3V. - 4in1 module V1 (check 4in1 pictures): to solve this issue, replacing the BIND led resistor (on the board back) of 1.2K by a 4.7K. +FrSky & SFHSS bind issues are ususally due to Option=fine frequency tuning not set properly. This value is different for each Module. To determine this value: + - find a value where the RX accepts to bind. A good start is to use one of these values -40, 0 and 40. + - find the values min/max where the RX loses connection. In serial mode you can change the value and see the effect live. + - 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: From fa8503546e487707a996392a10490486ebef6642 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 17:21:17 +0100 Subject: [PATCH 11/14] Update Protocols_Details.md --- Protocols_Details.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/Protocols_Details.md b/Protocols_Details.md index f6da2b9..0a75acd 100644 --- a/Protocols_Details.md +++ b/Protocols_Details.md @@ -124,7 +124,10 @@ Models: FrSky receivers V8R4, V8R7 and V8FR. Extended limits supported -Option=fine frequency tuning. This value is different for each board. To determine this value, find the two limits where the RX loses connection then set the option value to half way between them. If you have a 4in1 V2 board the value is around 40 or -40. +Option for this protocol is fine frequency tuning. This value is different for each Module. To determine this value: + - find a value where the RX accepts to bind. A good start is to use one of these values -40, 0 and 40. + - find the values min/max where the RX loses connection. In serial mode you can change the value and see the effect live. + - set the value to half way between min and max. CH1|CH2|CH3|CH4 ---|---|---|--- @@ -137,7 +140,10 @@ Extended limits supported Telemetry enabled for A0, A1, RSSI, TSSI and Hub -Option=fine frequency tuning. This value is different for each board. To determine this value, find the two limits where the RX loses connection then set the option value to half way between them. If you have a 4in1 V2 board the value is around 40 or -40. +Option for this protocol is fine frequency tuning. This value is different for each Module. To determine this value: + - find a value where the RX accepts to bind. A good start is to use one of these values -40, 0 and 40. + - find the values min/max where the RX loses connection. In serial mode you can change the value and see the effect live. + - set the value to half way between min and max. CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8 ---|---|---|---|---|---|---|--- @@ -150,7 +156,10 @@ Extended limits supported Telemetry enabled for A1 (RxBatt), A2, RSSI, TSSI and Hub -Option=fine frequency tuning. This value is different for each board. To determine this value, find the two limits where the RX loses connection then set the option value to half way between them. If you have a 4in1 V2 board the value is around 40 or -40. +Option for this protocol is fine frequency tuning. This value is different for each Module. To determine this value: + - find a value where the RX accepts to bind. A good start is to use one of these values -40, 0 and 40. + - find the values min/max where the RX loses connection. In serial mode you can change the value and see the effect live. + - set the value to half way between min and max. ###Sub_protocol CH_16 CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12|CH13|CH14|CH15|CH16 @@ -165,7 +174,10 @@ CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8 ##SFHSS Models: Futaba RXs and XK models. -Option=fine frequency tuning. This value is different for each board. To determine this value, find the two limits where the RX loses connection then set the option value to half way between them. If you have a 4in1 V2 board the value is around 40 or -40. +Option for this protocol is fine frequency tuning. This value is different for each Module. To determine this value: + - find a value where the RX accepts to bind. A good start is to use one of these values -40, 0 and 40. + - find the values min/max where the RX loses connection. In serial mode you can change the value and see the effect live. + - set the value to half way between min and max. CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8 ---|---|---|---|---|---|---|--- From 3baf237fa88667982880032469364e3b1cb67913 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 17:27:55 +0100 Subject: [PATCH 12/14] Update Module_BG_4-in-1.md --- docs/Module_BG_4-in-1.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/Module_BG_4-in-1.md b/docs/Module_BG_4-in-1.md index 39d290c..0556e48 100644 --- a/docs/Module_BG_4-in-1.md +++ b/docs/Module_BG_4-in-1.md @@ -76,4 +76,8 @@ Solder bridges and resistors as illustrated in the picture below. +If your module is always/sometime binding at power up without pressing the button replace the BIND led resistor (on the board back) of 1.2K by a 4.7K. + +It's known that the A7105 of this version is not able to receive telemetry. The only protocol affected so far is AFHDS2A. + You are now ready to go over to [Compiling and Programming](Compiling.md). From 6cab6a9646b8578e30304a5ecf43f5060ca56b05 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 17:28:53 +0100 Subject: [PATCH 13/14] Update Module_BG_4-in-1.md --- docs/Module_BG_4-in-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Module_BG_4-in-1.md b/docs/Module_BG_4-in-1.md index 0556e48..f010f4a 100644 --- a/docs/Module_BG_4-in-1.md +++ b/docs/Module_BG_4-in-1.md @@ -76,7 +76,7 @@ Solder bridges and resistors as illustrated in the picture below. -If your module is always/sometime binding at power up without pressing the button replace the BIND led resistor (on the board back) of 1.2K by a 4.7K. +If your module is always/sometime binding at power up without pressing the button replace the BIND led resistor (on the board back) of 1.2K by a 4.7K. Just to be safe it is recommended to do the modification anyway. It's known that the A7105 of this version is not able to receive telemetry. The only protocol affected so far is AFHDS2A. From b265108322d77bbe43da787fc9da099fd58eca0e Mon Sep 17 00:00:00 2001 From: pascallanger Date: Wed, 25 Jan 2017 17:55:04 +0100 Subject: [PATCH 14/14] Update Compiling.md --- docs/Compiling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Compiling.md b/docs/Compiling.md index 11ec372..76cb98a 100644 --- a/docs/Compiling.md +++ b/docs/Compiling.md @@ -5,7 +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 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. 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. Download the zip file with the Multiprotocol module source code from [here](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/archive/master.zip) 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.