DIY Multiprotocol TX Module - RC Groups
Shop our Airplanes Products Drone Products Sales
Thread Tools
May 13, 2014, 08:49 AM
Registered User
midelic's Avatar
Mini-HowTo

DIY Multiprotocol TX Module


DIY Multiprotocol TX Module
This setup is based on Phracturedblue idea of universal Tx module he made for integration with his many devo TX(deviation firmware).Following this and multiple RC protocols existing in deviation firmware,I was able to make an integration of these most popular RC protocols in arduino on a standalone module based on single atmel 328 chip or the newer modules with STM32 chip and driven by any TX able to output PPM signal.

IMPORTANT NOTE:
The main code is hosted now on github. All info ,tutorials, manuals you find there.
The code on github include a STM32 chip version.All info regarding diagram pcb order .compiling ,flashing you find there.
STM32 version selected in config file before compilation and includes all protocols without editing.

Main project :
https://github.com/pascallanger/DIY-...ocol-TX-Module

Release binary files:
https://github.com/pascallanger/DIY-...odule/releases

See below links to important AIO infos regarding

Compiling and programming:

https://github.com/pascallanger/DIY-...s/Compiling.md
https://github.com/pascallanger/DIY-...iling_STM32.md

DIY multi_STM32 board:
https://github.com/pascallanger/DIY-...M_DIY_STM32.md

All Diagrams here:
https://github.com/pascallanger/DIY-...ourself_PCB.md

More info:
https://github.com/pascallanger/DIY-...ee/master/docs

WARNING:
DON'T EXCEED 3.3V for the modules.
FOR FLASHING HEX FILE IT IS STRONGLY RECOMMENDED USING 3.3V PROGRAMMER(USBASP)

I recommend "betemcu.cn" programmer type black pcb.There are existing on the market fake 3.3V USBASP programmer ,blue pcb color.Don't buy these as there is highly risk of burning your TX module.Buy only the recommended programmer using below links.You have been warned.

For 3.3V use it is mandatory to remove the ' 0'ohm bridge resistor on the back where is 5V/3.3V selector.Whitout that the USBASP will work at 5V.

links:
http://www.banggood.com/USBASP-USBIS...l?rmmds=search
http://www.ebay.com/itm/USBasp-USBIS...0AAMXQTT9RyEjT
http://www.ebay.com/itm/USBASP-USBIS...gAAOSwVL1WAghn
http://www.ebay.com/itm/USBASP-Downl...EAAOSwzrxUvcmn

VIDEO TUTORIALS HOW TO USE MULTIPROTOCOL


4in1 multi protocol module for FrSKY Taranis from BangGood (9 min 16 sec)

Updating BangGood 4in1 multi protocol tx module firmware frsky taranis turnigy 9xr pro (16 min 53 sec)


Updating and flashing MultiSTM32 module(iRangeX STM32 4in1) from BG.
Updating STM32 4 in 1 iRangeX IRX4 multi protocol module flash taranis frsky banggood (13 min 54 sec)





NOTE:
After flashing complete:

"avrdude:warning: cannot set sck period. Please check for usbasp firmware update."

If you receive this warning above please IGNORE IT ,,your module is flashed corectly.There is no need to update USBASP drivers.

************************************************** ***********************************
Below old info regarding how multiprotocol was started and developed.

Hardware:

1.Arduino promini 5V/16Mhz(Protocols are using as witness the existing on board LED on B5 pin),It can be used also any setup with Atmega328P/16Mhz.
2.A7105 module(X7105-D03 PA/LNA module ,V911,V939 harvested TX modules)
3.CC2500 PA/LNA module
4.Nrf24L01 PA/LNA module
5.Devo module(based on CYRF6936)
6. AMS1117 -5V and AMS1117-3.3V ,LDO voltage regulator or any other regulators over 800mA.
7.Resistor 20K(between NRF_CE pin to Vcc)
8.Caps 22-47uF(3 pcs on ldo's)
9.Rotary dip switch 16 positions or DIP switch 4 positions this is required only in PPM mode .
Now in the serial mode with er9x/ersky9x/opentx there is no need to use dial switch anymore.


Clarifications:
I designed this arrangement having in mind core9x tx (a DIY TX using ER9X firmware),but this is a stand alone module it can be used with any tx which output PPM signal.At the moment channel order is AETR so will work with any programmable TX.The recommended modules to be used are the ones in below links.



DISCLAIMER:

THE CODE AND SETUP PRESENTED HERE IS AS IS. IF YOU FEEL UNEASY WITH THAT, DON'T USE IT!
USE IT ON YOUR OWN RISK .
I DON'T TAKE ANY RESPONSIBILITY OF THE PROBLEMS WHICH MAY ARISE USING THE MULTIMODULE.


Shopping modules links
*******1234 items recommended modules*****************
for new board
1.http://www.banggood.com/XL7105-D03-A...-p-922603.html
2.http://www.banggood.com/CC2500-PA-LN...-p-922595.html
3.http://www.banggood.com/2_4G-NRF24L0...-p-922601.html
For DSM/DSMX protocol
4.http://www.ehirobo.com/walkera-wk-de...de-module.html
http://www.walkeraonline.com/walkera...de-module.html
http://www.hobby-usa.com/walkera-wk-...de-module.html
http://www.helifree.ch/shop/en/deven...de-module.html
http://www.somemart.com/walkera-wk-d...vo-8s-12s.html
************************************************** **
5.http://www.banggood.com/A7105-XL7105...-p-922597.html
6.http://www.ebay.com/itm/CC2500-PA-LN...item1c3ac6728e
7.http://www.banggood.com/CC2500-PCBA-...-p-922598.html
8.http://www.aliexpress.com/item/CC250...359941652.html
7.http://www.banggood.com/2_4G-NRF24L0...-p-922601.html
9.http://www.ebay.com/itm/NRF24L01-PA-...item19e4304331
10.http://www.ebay.com/sch/i.html?_saca...ntennal&_rdc=1
11.http://www.ebay.com/itm/231196071545...84.m1439.l2649
12.http://www.ebay.com/sch/i.html?_saca...osition&_frs=1

NEW:
4in1 module tuner- has all 4 RF chips on a single board.It needs an adapter board with mcu as interface to work as multimodule and uploading firmware.
http://www.banggood.com/DIY-2_4G-CC2...p-1046308.html
http://www.banggood.com/2_4G-CC2500-...p-1048377.html
IMPORTANT
After buying the 4in1 module from BG it is highly recommended to flash the module with the last firmware from github or download and compile yourself the last source

************************************************** ************************************************** *
NEW PCB HERE
13.02.2015
The user "sccamp" designed new pcb for multiprotocol.Now it is published uploaded and shared at oshpark for people use freely.See below attached link along with his multiprotocol cad files.
https://oshpark.com/shared_projects/MaGYDg0y
BOM links.
https://www.rcgroups.com/forums/show...&postcount=842
https://www.rcgroups.com/forums/show...postcount=1020
Gerber files
https://www.rcgroups.com/forums/showpost.php?p=30755883
Diagram for new pcb
https://www.rcgroups.com/forums/showpost.php?p=30690473

New PCB version
2.3D
CAD files
https://github.com/pascallanger/DIY-...er/PCB%20v2.3d
OSHPARK fab ordering
https://oshpark.com/shared_projects/Ztus1ah8

************************************************** ************************************************** ****

02.03.2016
Thanks to "plaisthos" the multiprotocol is also supported now by Opentx 2.2
for Taranis TX users.
binary:
Taranis : http://plai.de/.tmp/opentx-multi-taranis-2016-03-15.bin
Taranis plus : https://www.rcgroups.com/forums/show...65676&page=215
source:
https://github.com/schwabe/opentx/tr...ule_next/radio


Now on OpenTX 2.1
https://github.com/schwabe/opentx/tr...odule_opentx21

Binaries:
Taranis &Taranis+
http://plaisthos.de/opentx/
**************************************************


Other Sources:
1.http://www.deviationtx.com/forum/7-d...tart=160#20326
2.https://bitbucket.org/PhracturedBlue...20Multi-Module
3.https://bitbucket.org/PhracturedBlue...iki/ModuleList
4.https://bitbucket.org/PhracturedBlue/deviation/src
5.https://www.rcgroups.com/forums/show....php?t=1921870
6.https://www.rcgroups.com/forums/show....php?t=1954078
7.https://www.rcgroups.com/forums/show....php?t=2124647

************************************************** ***************
General info:
**********************************************
All protocols found on the market today use only 4 RF modules..with 4 different RF chips.

1.A7105 Rf chip ______ for Flysky,Hubsan,HK6S.
2.CC2500 Rf chip________for Frsky,Skyartec,Hitec
3,CYRF6936 ____________ for DSM2 ,DSMX,DEVO ,Walkera
4.NRF 24L01 Rf chip ______for ,...plenty protocols..,,Hisky ,V2x2,V977,CX-XX and all new SYMAX products.

A more complete list you find here.
https://docs.google.com/spreadsheet/...=sharing#gid=0
************************************************** *************
Pinout for rotary dip switch/bind pin.
SW-Promini(M328)

1 -D10(B2)
2- D11(B3)
4- D12(B4)
8- A0(C0)

Bind
pin -D13(B5)



NOTE:
Set your TX channel order to AETR
The multiprotocol code is tailored for this channel order.

At the moment protocols supported are:
The numbers are also the dial switch key numbers
************************************************** *********

0.Dial ZERO used only with new ER9X firmware(atm),with digital channels( not analog PPM) and protocol selection from ER9X/ERSKY9X/TARANIS screen.

1.Flysky(submenus on ER9X, V9x9/V6x6/V912)
2.Hubsan
3.Frsky
4.Hisky (HK310 on ER9X submenu)
5.V2x2
6.Dsm2(DSMX submenu on ER9X)
7.Devo
8.YD717(CX-10 red pcb )(submenus on ER9X,.... SKYWLKR,SYMAX2,XINXUN,NIHUI)
9.KN(V977)
10.SymaX(Symax4/11/12/X5C)(submenu ER9X,SYMAX5C,SYMAX4)
11.SLT
12.CX10(CX-10 blue,CX-10 green,DM007 on ER9X submenus)
13.CG-023(CG-023,YD829 on ER9X)
14.BAYANG
15.SYMAX5C-On Er9x is FrskyX protocol

************************************************** *************
Note:

If someone needs only protocols based on one or two RF modules no need to buy all the other modules.
For example if somebody needs FlySKy /Hubsan and Frsky protocol he can buy and install/use only A7105 module and CC2500 RF module.
No need to buy and install modules you don't need or want to use.So buy and use only the modules you have the RX counterpart
.


IMPORTANT

Now the numbers of protocols added increased beyond the MCU capacity.You have now the possibility to remove the module you don't want or have or the individual protocols you don't want to keep ....on _config.h file .See below:

//Comment a module or protocol to exclude it from compilation
#ifdef A7105_INSTALLED
#define FLYSKY_A7105_INO
#define HUBSAN_A7105_INO
#endif
#ifdef CYRF6936_INSTALLED
#define DEVO_CYRF6936_INO
#define DSM2_CYRF6936_INO
#endif
#ifdef CC2500_INSTALLED
#define FRSKY_CC2500_INO
#define FRSKYX_CC2500_INO
#endif
#ifdef NFR24L01_INSTALLED
#define BAYANG_NRF24L01_INO
#define CG023_NRF24L01_INO
#define CX10_NRF24L01_INO
#define ESKY_NRF24L01_INO
#define HISKY_NRF24L01_INO
#define KN_NRF24L01_INO
#define SLT_NRF24L01_INO
#define SYMAX_NRF24L01_INO
#define V2X2_NRF24L01_INO
#define YD717_NRF24L01_INO
#define MT99XX_NRF24L01_INO
#define MJXQ_NRF24L01_INO
#define SHENQI_NRF24L01_INO
//.......
# define WHATEVER PROTOCOL ADDED
#endif

//********************************


Enjoy!.
Last edited by midelic; May 05, 2017 at 08:26 AM. Reason: cleaning
Sign up now
to remove ads between posts
May 13, 2014, 08:49 AM
Registered User
midelic's Avatar
ER9X with multiprotocol selection menu.

For using multiprotocol selection from ER9X screen, it is required(only for telemetry using new Er9X firmware) to be done the the so called "Frsky telemetry mod" for Turnigy 9x and 9XR.


*******************************************
TURNIGY9X-9XR(this not is NOT for 9XR PRO has different mcu and wiring)
Make Frsky telemetry mod(HW mod) make free MISO MOSI pins from existing pin connections,
Arrange re-routing of wires previously connected on MISO MOSI ,to other MCU free pins(see photo)
http://openrcforums.com/wiki/images/..._overview1.jpg

http://flyingforfun.weebly.com/uploa...71701_orig.jpg

Now the modifications on the output pins(TX module bay)

Pin No.1 is PPM pin ,Not necessary any modification on this pin.Don't touch.
pin No.2 goes to 9X TX ,MISO pin .This step is not required anymore we use serial over PPM pin.No need cut trace to gnd anymore or connect anything to it..So also don'T touch.
Pin No.3 is Battery voltage.Don't touch.This will supply power to multi-module.
Pin No.4-GND.
Pin No.5 goes to 9X-9XR TX........ ,MOSI (PE0)pin.

activate in eepe-General Settings -Frsky mode done(only for 9XR-M128)
*************************************
MULTI-protocol
On multiprotocol board going to mcu chip RX(D0) pin is going to PPM pins see attached pictures.
And no.5 pin going to multiprotocol mcu TX(D1) pin.

I uploaded last on first post a diagram for multiprotocol for Er9X for better understanding.
************************************************** *******

10.06.2015
Added diagram connection multi-protocol module to Turnigy 9X/9XR- ER9X Tx.
The last connection to Pin5 (MOSI-PE0)is needed only if you want telemetry on ER(X screen.If not, there is not necessary to modify your 9X tx ..only modified multimodule board as presented.
25.08.2015
Added some pics for Telemetry mod on Turnigy 9X and 9XR, with cutting trace free pins no2 and no,5 from GND trace.For connection with multiprotocol module and telemetry as I said above pin no.2 is not necessary to cut trace.Only the No5 pin need to be freed ,which will be connected with 9x board MOSI pin .People tend to forget that important part of telemetry mod and make mistakes.
01.11.2015
Added new diagram for connection to ER9x in order to use protocol selection directly from ER9x program screen.
BTW for Er9x protocol selection , the rotary dial switch should be set on zero(0)...or not installed at all.
On my other Er9x tx I don't have any rotary switch installed...and use protocol selection from Er9x.

01.01.2016
The new multiprotocol code(16channels) is not compatible with old ER9x/Ersky9X.

https://github.com/pascallanger/DIY-...odule/releases

Note:

For using ER9X with serial selection from screen NO NEED FRSKY MODE DONE.This mode is necessary only for TELEMETRY(see telemetry data on ER9X screen).However it is necessary to connect PPM pin to RX pin as I presented before and the small diagram attached below.
THIS DIAGRAM BELOW MOD IS FOR MULTIPROTOCOL BOARD AND ON THE ER9X TX
************************************************** ************************************************** ******
People who want to compile last versions of Er9X /Ersky9x with multiprotocol can be found here:

https://github.com/MikeBland/mbtx

Last binaries versions of er9x ersky9x with multi here:

http://openrcforums.com/forum/viewtopic.php?f=5&t=4598

http://openrcforums.com/forum/viewtopic.php?f=7&t=4676
Last edited by midelic; Nov 14, 2016 at 03:28 AM. Reason: cleaning obsolete hex
May 13, 2014, 08:56 AM
Registered User
reserved ;-)
Last edited by e_lm_70; Jul 02, 2014 at 03:19 AM.
May 13, 2014, 09:06 AM
Registered User
midelic's Avatar
Yes it can be but must be integrated in other firmware.
I will make another version without switches...for ER9X firmware using serial protocol selection.
I tested many versions but somehow........I returned to switches....very straight forward easy to remember.There is another way using only one switch(tactile push button) and remember how many times you press it for protocol selection.
So maybe in the final will be 3 versions.
The other free pins are reserved for additional protocols.(Frsky 1 way,V2X2.and DSM)
Last edited by midelic; May 13, 2014 at 09:32 AM.
May 13, 2014, 09:19 AM
Registered User
midelic's Avatar
Working with pure software is not so pure,,..need additional transistors to control the power supply of each module using coresponding pins on promini...not very cheap...expensive and complicated...better with switches(in this case DIP switched very small lower footprint and compact).

For example the other solution a NPN transistor its base connected on the arduino pin and in colector the load in series (each module power pins).
Last edited by midelic; May 13, 2014 at 09:28 AM.
May 13, 2014, 12:03 PM
Registered User
Quote:
Originally Posted by midelic
Working with pure software is not so pure,,..need additional transistors to control the power supply of each module using coresponding pins on promini...not very cheap...expensive and complicated...better with switches(in this case DIP switched very small lower footprint and compact).

For example the other solution a NPN transistor its base connected on the arduino pin and in colector the load in series (each module power pins).
Each atmega pin can drive 40mA, so it should be enough for power each module in case, one at time .. 200mA is the max allowed as total on a atmega
May 13, 2014, 12:27 PM
Registered User
midelic's Avatar
I know that, I was thinking about it.Actually...40mA is not enough.These modules have PA/LNA..and one module can take between 60-120 mA...so not suitable without transistors.
May 13, 2014, 07:00 PM
RC beginner
lol. hard to miss this thread what with midelics "advertising campaign".

imo this seems pretty close to the perfect universal radio solution. most popular protocols and not restricted to any particular radio. i specially like the dip switch approach for exactly the reasons you mention. i have all the modules and would like to build one but not using that special board. its a little confusing. hopefully we dont need to use that t24. any chance you could include a wiring diagram or at least a pin list?
May 13, 2014, 07:15 PM
Registered User
midelic's Avatar
There is already a diagram for universal module PCB...PB made in kicad......he had the idea of controlling the modules using separate pins for each module CS pin,..... all the other corresponding pins being all connected....All module are powered all the time but "broadcasting" only one at the time.
See below his diagram in pdf..Maybe it can help you if not...I'll see what I can do later on.
Forget about Attiny...there is no need of it....I used Attiny pinout to connect to my promini.Anyway you have there all relevant pinout.It is not complicated to understand it.......all pins are connected(MISO to MISO(SO),MOSI to MOSI(SI)....aso) except CS pins.
Last edited by midelic; May 13, 2014 at 07:20 PM.
May 13, 2014, 08:49 PM
Registered User
midelic's Avatar
Added on first post new diagram for people who want to design their own pcb or have their own setup.
@dave
see first post.
May 13, 2014, 09:17 PM
Registered User
because you put name attiny 24 in schematic , so it will have some confusion . I am the first

We have a TX to compete with Devo although still lack protocol Devo

for All in one , should have some test for Range because there very much chip broadcast . I hope it only not to use for heli or something in distance 100m

all anten of modul can connect common to a super Booster ?
Last edited by John michel; May 13, 2014 at 09:24 PM.
May 13, 2014, 09:29 PM
Registered User
midelic's Avatar
In the schematic provided in attachment there was not any attiny,.. only markings on PCB..But I agree, it was confusing so ,,I hope now it is clear.

I don't compete with anybody....this is a stand alone module for any tx using PPM signal ....Later on I will add more protocols .It will not hold all protocols but only the most popular.If people want DEvo should buy Devo TX.This one is for people who already have their own good Tx happy with it, and not want to stock pile many Tx.
Only one chip at the time will broadcast...not booster ,each module have their own PA included, so the range in theory will go to the limit of their own RF amplification(which IMO is more than 1 KM). . ..Attached to each module will be an U.fl wire antenna routed in single plastic sheath(from common antenna).For more info read carefully first post..and check the links provided.
Last edited by midelic; May 13, 2014 at 09:37 PM.
May 13, 2014, 10:32 PM
Registered User
Quote:
Originally Posted by midelic
.If people want DEvo should buy Devo TX.This one is for people who already have their own good Tx happy with it, and not want to stock pile many Tx.
.
and people only want to Protocol Devo, they still should buy Tx Devo ? Mean you will not add it .

uhmmm.... I also don't want to buy pile TX .
May 14, 2014, 01:21 AM
flying beam
blackmoon's Avatar
When you have time, adding the devo proto would be nice to

People could use the walkera S upgrade module giving them access to all CYRF based protocols.

banggood sells it very cheap vs other places : http://www.banggood.com/Walkera-WK-D...-p-922596.html

I bought one from ehirobo for double the price
May 14, 2014, 05:07 AM
We can rebuild it!
djdavies83's Avatar
not sure if I'm seeing this right, are most of the module connections in parallel? how is one module used and the others not used?


Thread Tools