diff --git a/README.md b/README.md index 46e839c..3758ff4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,22 @@ -If you like this project and want to support further development [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=VF2K9T23DRY56&lc=US&item_name=DIY%20Multiprotocol¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)EUR [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=VF2K9T23DRY56&lc=FR&item_name=DIY%20Multiprotocol¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)USD +# Multiprotocol TX Module + -# Overview of the MULTI-Module -The **Multiprotocol Tx Module** (or **MULTI-Module**) is a 2.4GHz transmitter module which enables almost any TX to control lot of different models available on the market. +The **Multiprotocol Tx Module** (or **MULTI-Module**) is a 2.4GHz transmitter module which enables almost any transmitter to control many different receivers and models, including many popular helicopters, planes, quadcopters, and miniquads. The source code is partly based on the [Deviation TX project](http://www.deviationtx.com), thanks to all the developers for their great job on protocols. +If you like this project and want to support further development please consider making a [donation](docs/Donations.md). + + + + + + + + + +
Donate €5
€5
Donate €10
€10
Donate €10
€15
Donate €25
€25
Donate
Other
+ ## Quicklinks * [Download latest releases of the firmware](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases) and [instructions to upload .hex files](docs/Advanced_Manually_Setting_ATmega328_Fuses.md) * [Forum on rcgroups](http://www.rcgroups.com/forums/showthread.php?t=2165676) @@ -117,4 +129,4 @@ A very big thanks to all the people who have shared their time so graciously to Your help would be greatly appreciated. If protocol reverse-engineering and dev is not your thing then any help with testing and contributing to the documentation would be amazing. Given the number of different Tx/module hardware/RF module/protocol/model combinations the process of testing and documenting is a major bottleneck for the developers. Anything you can do to help will free them up to do even greater things. -If you like this project and want to support further development [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=VF2K9T23DRY56&lc=US&item_name=DIY%20Multiprotocol¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)EUR [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=VF2K9T23DRY56&lc=FR&item_name=DIY%20Multiprotocol¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)USD +If you like this project and want to support further development please consider making a [donation](docs/Donations.md). diff --git a/docs/Compiling.md b/docs/Compiling.md index 1f85ca9..2d76a35 100644 --- a/docs/Compiling.md +++ b/docs/Compiling.md @@ -1,7 +1,9 @@ -# Compiling and Programming (ATmega 328P) +# Compiling and Programming (ATmega328p) Multiprotocol firmware is compiled using the Arduino IDE. The guide below will walk you through all the steps to compile and upload your customized firmware. +**These instructions are for the Atmega328p version of the Multiprotocol module.** If you are compling for the STM32 version please go to the dedicated [STM32](Compiling_STM32.md) page. + ## Index 1. [Tools Required](#tools-required) 1. [Preparation](#preparation) diff --git a/docs/Donations.md b/docs/Donations.md new file mode 100644 index 0000000..2003f81 --- /dev/null +++ b/docs/Donations.md @@ -0,0 +1,56 @@ +# Donations + + +The Multiprotocol firmware is provided for free under the [GNU General Public License v3.0](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/LICENSE). The developers do not receive any payment from any of the manufacturers of Mulitprotocol Modules which use this firmware. + +If you like this project and enjoy using it, please consider making a donation. Donations are used to fund test hardware to develop and integrate more models. + +Donations to the Multiprotocol project can be made via PayPal. Just click on a value, or click 'Other' to set your own amount. + +Every donation helps and is greatly appreciated, no matter the amount! + +
+ + + + + + + + +
Donate €5
€5
Donate €10
€10
Donate €10
€15
Donate €25
€25
Donate
Other
+
+ +### Donate in other currencies +
+ US Dollars +
+
+ + + + + + + + +
Donate $5
$5
Donate $10
$10
Donate $15
$15
Donate $25
$25
Donate
Other
+
+
+
+ GB Pounds +
+
+ + + + + + + + +
Donate £5
£5
Donate £10
£10
Donate £10
£15
Donate £25
£25
Donate
Other
+
+
+
+Thank you for your support! diff --git a/docs/Hardware.md b/docs/Hardware.md index af18d4f..21bce8e 100644 --- a/docs/Hardware.md +++ b/docs/Hardware.md @@ -1,23 +1,86 @@ -# Hardware Options for your MULTI-Module +# Multiprotocol Module Hardware Options -The choice of **Multiprotocol Transmitter Module (MULTI-Module)** hardware is the single biggest choice you will make. Due to the growing popularity of this project the number of hardware choices is growing almost monthly. +This project started as a DIY effort, with all hardware being scratch-built. While building your own hardware is still an option (and all the details for doing it are here in the documentation) there are now multiple ready-made modules available to purchase for around US$30-40. -There are currently four common hardware options. They are (`click on the pictures for more info`): +**Note:** This project is not affiliated or associated with any manufacturer of Multiprotocol modules. They are typically produced by Chinese manufacturers who took the intellectual property from this project and produced the modules for profit, with no consideration given to the original inventors. While this is beneficial to hobbyists and consumers as it makes the modules easy to obtain, it is frustrating for the original developers. Please bear that in mind if asking for help or support. -1. A ready-made 4-in-1 MULTI-Module which integrates the microcontroller with all four supported RF modules and a hardware antenna switcher. -[](Module_BG_4-in-1.md) -1. A DIY MULTI-Module made using one of the PCBs that are available and soldering on your own components. The picture below shows an example of one before RF modules have been soldered on. -[](Module_Build_yourself_PCB.md) -1. A MULTI-Module based on the OrangeRx DSM transmitter module that natively supports the built in CYRF6936 RF module. This module can be improved with Mulitprotocol firmware in serial mode only: - - Now works with most (all) DSM bind-and-fly models - - Supports the Devo protocols - - Supports the J6Pro protocols - - Supports the Walkera protocols -[](Module_OrangeRx.md) -1. A scratchbuilt MULTI-Module using perfboard, an Arduino Pro-Mini and the desired RF modules. -Unless you are handy with a soldering iron and you have access to electronic test equipment (like an oscilloscope) you should consider only Option 1. For a price of about $44 you can get everything you need, neatly assembled +## Hardware +The Multiprotocol hardware essentially consists of a PCB, a microprocessor, and a 4-in-1 RF module. -[ ](Module_Build_From_Scratch.md) +Original scratch-built modules were based on an Arduino Pro-Mini, which shares the same Atmega328p 8-bit microprocessor, with 32KB of flash, as the later Atmega328p PCB modules. With only 32KB of flash the original modules could not support all of the available protocols and builders had to choose to enable and disable protocols when building the firmware. -Click on any of the images above to understand more about each option. +The current state-of-the-art module is based on a 32-bit ARM Cortex-M3 microcontroller, with 128KB of flash and 20KB of RAM. The STM32 modules are only just over half full with all protocols enabled. For this reason an STM32 module is highly recommended. +## DIY Modules +The details for the DIY projects can be found [here](Module_Build_yourself_PCB.md). You should be competent and confident with a soldering iron to attempt this, and have the tools to troubleshoot it if there are problems. + +| **Scratch-built Atmega328p** | **DIY Atmega328p PCB Module** | **DIY STM32 PCB Module** | +| :---: | :---: | :---: | +| | | | + +For most people, purchasing a ready-made module is the best option. + +## Ready-made Modules +These are examples of the well-known ready-made Multiprotocol modules. Inclusion in this list is not an endorsement or recommendation. The list is in no particular order + +| **Module** | **Image** | **MCU** | **Approx. Cost** | **Notes** | **Link** | +| :---: | :---: | :---: | :---: | :--- | :--- | +| **'Banggood' 4-in-1 Atmega328p** | | [Atmega328p](Compiling.md "Firmware compiling and uploading instructions for Atmega328p") | US$32 | | [Banggood](https://www.banggood.com/2_4G-CC2500-A7105-Flysky-Frsky-Devo-DSM2-Multiprotocol-TX-Module-With-Antenna-p-1048377.html) | +| **'Banggood' 4-in-1 STM32** | | [STM32F103C](Compiling_STM32.md "Firmware compiling and uploading instructions for STM32") | US$37 | | [Banggood](https://www.banggood.com/2_4G-CC2500-NRF24L01-A7105-CTRF6936-4-IN-1-Multi-protocol-STM32-TX-Module-With-Antenna-p-1153902.html) | +| **iRangeX IRX4 STM32** | | [STM32F103C](Compiling_STM32.md "Firmware compiling and uploading instructions for STM32") | US$39 | | [Banggood](https://www.banggood.com/IRangeX-IRX4-2_4G-CC2500-NRF24L01-A7105-CTRF6936-4-IN-1-Multiprotocol-STM32-TX-Module-With-Case-p-1197130.html) | +| **iRangeX IRX4 Plus STM32** | | [STM32F103C](Compiling_STM32.md "Firmware compiling and uploading instructions for STM32") | US$37 | | [Banggood](https://www.banggood.com/IRangeX-IRX4-Plus-2_4G-CC2500-NRF24L01-A7105-CYRF6936-4-IN-1-Multiprotocol-STM32-TX-Module-With-Case-p-1225080.html) | + +*Table last updated November 29th, 2017* + +#### OrangeRx Module +It is also possible to upload the Multiprotocol firmware to an STM32-based OrangeRx DSM module, with support only for the built in CYRF6936 RF module. + +When flashed with with Mulitprotocol firmware, the OrangeRx: +* Operates in serial mode only +* Works with all DSM bind-and-fly models +* Supports the Devo protocols +* Supports the J6Pro protocols +* Supports the Walkera protocols + +**Note:** With the availability of better equipped ready-made 4-in-1 modules the OrangeRx is not a recommended option, and is included here for completeness. + +## Module Cases +Whether DIY or ready-made, your module will need a case. You may buy a module which comes with a case, a module and a separate case, or you can 3D-print your own case. + +**Note:** Make sure you select a case which is compatible with your module PCB - the Atmega328p and STM32 boards have the screws in different positions. + +### Ready-made Cases +You can buy a ready-made case from Banggod for a few dollars: + + +### DIY 3D Printed Cases +Some examples of the Multiprotocol module cases which are available on Thingiverse: +
+ +| | | | +|:---:|:---:|:---:| + +
+ +More are available if you [search Thingiverse](https://www.thingiverse.com/search?q=multi+protocol+case). + +#### Turnigy 9XR Internal Antenna Case +For Turnigy 9XR and 9XR Pro owners, there is a case which allows the Multiprotocol module to connect to the internal antenna, which means nothing is sticking out of the radio back. + +
+ + | | | | +| :---: | :---: | :---: | + +
+ +You can also find this case on [Thingiverse](http://www.thingiverse.com/thing:2050717). + +--- +#### Multiprotocol Support +The main support forum for the Multiprotocol Module is [this](https://www.rcgroups.com/forums/showthread.php?2165676-DIY-Multiprotocol-TX-Module/) RCGroups forum thread. Support is provided for DIY hardware, firmware configuration, compilation and uploading, and using the RF protocols. Support is *not* provided for hardware problems with ready-made modules (you should contact the vendor/manufacturer). + +#### Donations +The Multiprotocol firmware is provided for free under the [GNU General Public License v3.0](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/LICENSE). The developers do not receive any payment from any of the manufacturers of Multiprotocol Modules which use this firmware. + +If you like this project and enjoy using it, please consider [making a donation](Donations.md). Donations are used to fund test hardware to develop and integrate more models. diff --git a/docs/images/9xr-case-1.jpg b/docs/images/9xr-case-1.jpg new file mode 100644 index 0000000..d667e11 Binary files /dev/null and b/docs/images/9xr-case-1.jpg differ diff --git a/docs/images/9xr-case-2.jpg b/docs/images/9xr-case-2.jpg new file mode 100644 index 0000000..ee76f54 Binary files /dev/null and b/docs/images/9xr-case-2.jpg differ diff --git a/docs/images/9xr-case-3.jpg b/docs/images/9xr-case-3.jpg new file mode 100644 index 0000000..2387fd0 Binary files /dev/null and b/docs/images/9xr-case-3.jpg differ diff --git a/docs/images/bg-case.jpg b/docs/images/bg-case.jpg new file mode 100644 index 0000000..f281881 Binary files /dev/null and b/docs/images/bg-case.jpg differ diff --git a/docs/images/bg-stm32-module.jpg b/docs/images/bg-stm32-module.jpg new file mode 100644 index 0000000..64dac5d Binary files /dev/null and b/docs/images/bg-stm32-module.jpg differ diff --git a/docs/images/ch340g.jpg b/docs/images/ch340g.jpg index dbdffff..1c1353d 100644 Binary files a/docs/images/ch340g.jpg and b/docs/images/ch340g.jpg differ diff --git a/docs/images/donate_button.png b/docs/images/donate_button.png new file mode 100644 index 0000000..6176af3 Binary files /dev/null and b/docs/images/donate_button.png differ diff --git a/docs/images/irx4-plus.jpg b/docs/images/irx4-plus.jpg new file mode 100644 index 0000000..a084edc Binary files /dev/null and b/docs/images/irx4-plus.jpg differ diff --git a/docs/images/irx4.jpg b/docs/images/irx4.jpg new file mode 100644 index 0000000..fcaf507 Binary files /dev/null and b/docs/images/irx4.jpg differ diff --git a/docs/images/multi-case-1.jpg b/docs/images/multi-case-1.jpg new file mode 100644 index 0000000..9fd6bb9 Binary files /dev/null and b/docs/images/multi-case-1.jpg differ diff --git a/docs/images/multi-case-2.jpg b/docs/images/multi-case-2.jpg new file mode 100644 index 0000000..1449404 Binary files /dev/null and b/docs/images/multi-case-2.jpg differ diff --git a/docs/images/multi-case-3.jpg b/docs/images/multi-case-3.jpg new file mode 100644 index 0000000..3d3212c Binary files /dev/null and b/docs/images/multi-case-3.jpg differ diff --git a/docs/images/multi.png b/docs/images/multi.png new file mode 100644 index 0000000..e6ee8d7 Binary files /dev/null and b/docs/images/multi.png differ