Thread Tools
This thread is privately moderated by benzo99, who may elect to delete unwanted replies.
Oct 10, 2019, 05:31 AM
Ben Lye
Thread OP
Mini-HowTo

Jumper T16 Internal Multiprotocol Module Firmware Update


Introduction

The purpose of this guide is to explain how to update the firmware on the internal Multiprotocol Module in the Jumper T16.


Jumper T16 Internal Multiprotocol Module

Starting in OpenTX 2.3.3 it is possible to flash the T16's internal Multiprotocol Module from the radio's SD card, but doing that requires the module to have the bootloader installed. Early versions of the T16 Pro with internal module, and the standalone internal modules sold as upgrades do not have the bootloader installed.

What's a 'Bootloader'?
The 'bootloader' is a part of the firmware which is independent to the main application. It resides in the first section of flash memory and facilitates (among other things) flashing the main module firmware from the radio.

The Multiprotocol Module's bootloader is independent from the radio's bootloader (the one you access by powering on with the trims held inwards) and you cannot access the module's bootloader directly.

Does my T16's internal module have the bootloader?
Recent T16 radios have shipped with Multiprotocol Module firmware v1.2.1.85 - these radios do have the bootloader installed, and (unless you have a problem) you can skip the process described in this guide.

Older modules, which shipped with Multiprotocol Module firmware v1.2.1.51 do not have the bootloader installed and you need to follow this guide to update the firmware on your module, and at the same time install the bootloader (enabling future updates from the radio).

You can check the module's firmware version by looking at the 'Module Status' line in the Model Setup of any model which uses the internal RF module.

If your module does not have the bootloader you must follow this guide one time before you will be able to update your module's firmware from OpenTX

This guide assumes you already have the internal module installed in your radio and the radio is running a version of OpenTX/JumperTX which supports the internal module. You should read the whole guide to ensure you understand the entire process before starting.

There is a link to a video tutorial at the end.

Radio Firmware - Important!

If you use DSM/Spektrum receivers you must update your radio to OpenTX 2.3.3 or higher. This is due to a bug in JumperTX which affects the DSM protocol when the internal module is used. All versions of JumperTX released by Jumper are affected by this bug.

If you do not do this you will have problems with DSM receivers - inability to bind and/or unstable controls. You have been warned!

Tools Required
  1. A USB-to-serial adapter, such as a CH340G, CP2102, FT232RL, or similar
    • The USB-to-serial adapter must operate at 3.3V, either by positioning a jumper or switch (common on CH340G and FT232RL devices), or natively (typical for CP2102 devices).
    • Ensure you have the necessary driver installed for your adapter, and your computer correctly sees the device as a serial (COM) port.
  2. A specially made or adapted wiring harness
    • The serial connector on the T16 internal module is a 5-pin Molex PicoBlade (also referred to as Micro JST with 1.25mm pitch). It is the same as the cable used for FrSky R-XSR receivers.
  3. The latest version of Flash Multi

Wiring Connections
  1. Three connections are required between the USB-to-serial adapter and the internal module:
    • GND <-> GND
    • TX <-> RX
    • RX <-> TX
  2. Two wires from the 5-pin connector must be joined together:
    • 3.3V and BOOT0

The completed wiring harness (with CP2102 USB-to-serial adapter) looks like this:


Jumper T16 Internal Multiprotocol Module Firmware Upgrade Wiring

Wire colours:
  • Red + Black = 3.3V and BOOT0 joined together
  • Yellow = TXD on the module - connected to RXD on the USB adapter
  • White = RXD on the module - connected to TXD on the USB adapter
  • Green = GND on the module - connected to GND on the USB adapter

Note: Wired this way, the USB-to-serial adapter is not providing power to the module - module power will come from the radio. This is recommended in order to reduce the risk of damaging the RF components on the module, which are not tolerant of voltages higher than 3.3V.

The main risks we're avoiding are:
  • Forgetting to set the switch or jumper to 3.3V (on an adapter which has one) would destroy the module
  • It shouldn't happen, but if the module were to start transmitting it would draw more current then the USB-to-serial adapter can provide (they are typically only good for ~100ma), blowing out the voltage regulator, and letting 5V flow from the USB port into the module, destroying the RF components.
  • Finally, USB-to-serial adapters (especially cheap clones) vary widely in quality, and even one rated at 3.3V may deliver more than the labelled voltage on the VCC pin

Bottom line - you could power the internal module directly from the USB-to-serial adapter, but it's higher risk which is why it's not recommended. If you modified the wiring adapter, e.g. with a higher current voltage regulator, you could remove those risks, but that's beyond the scope of this how-to.

Preparation
  1. Download and install the latest version of Flash Multi from here
  2. Download the latest firmware from here
    The internal module requires firmware with telemetry inversion disabled, so the file must have '-noinv-' in the name.

    Select the file matching your preferred channel order:
    multi-stm-opentx-aetr-noinv-vX.X.X.XX.bin
    multi-stm-opentx-reta-noinv-vX.X.X.XX.bin
    multi-stm-opentx-taer-noinv-vX.X.X.XX.bin
  3. Turn the radio on and load or create a model where the internal module is set to ON
  4. Turn the radio off

Firmware Update Process

Note: The order of plugging in and turning on is important. Make sure everything is connected before you turn the radio on!
  1. Remove the back cover of the radio
    • The first minute of this video shows how to remove the back cover of the radio
  2. Connect the wiring adapter to the 5-pin connector at the top of the internal module
  3. Ensure the USB-to-serial adapter is set to 3.3V (if it has a voltage selector) and connected correctly to the internal module
  4. Connect the USB-to-serial adapter to the computer
  5. Connect the radio battery
  6. Turn the radio on and make sure the model is fully loaded (no alerts on switches, throttle, SD card, etc. )
  7. Launch Flash Multi, select the COM port and firmware file and click the Write Module button

When Flash Multi says that flashing is complete:
  1. Turn the radio off
  2. Disconnect the 5-pin connector from the internal module
  3. Turn the radio on and check the firmware version of the internal module
  4. Reassemble the radio

Congratulations, you have updated your module's firmware and installed the bootloader. It is now ready to receive future firmware updates from OpenTX.

Request for Help!

If you have upgraded your T16 with the internal module and you no longer require your external module, please let me know if you're interesting in helping the Multiprotocol Module developers by donating it! We could use any spare modules for testing and development of processes like this, and the ongoing development of the Multiprotocol firmware (and tools like Flash Multi). Drop me a PM if you can help.

Video Tutorial

TMac FPV has created a video tutorial for the entire process.


Troubleshooting

Flash Multi fails to erase or upload to the module
If Flash Multi gives a 'Failed to erase' message it is indicating a general failure to communicate with the multiprotocol module. There are a number of reasons why this might happen:
  • Incorrect cabling - check that TX and RX are crossed, e.g. TX on the multiprotocol module goes to the RX pin on the USB adapter
  • The radio was already on before you connected the USB adapter to the computer
  • The USB cable or USB-to-serial adapter is faulty
  • The module is not in programming mode - the module only goes into programming mode (a.k.a. 'BOOT0' mode) if 3.3V is applied to the BOOT0 at the time the module is powered on. Make sure the module/radio is off when you attach the wiring adapter, then turned on when the wiring is attached. By connecting the 3.3V and BOOT0 pins together we are using the power from the radio to drive the BOOT0 pin on the module.

Things to try:
  • Check that your wiring is correct and that you have a model with the internal RF module enabled selected in the radio.
  • Make sure you connect the USB adapter to the computer before turning the radio on
  • Try another USB-to-serial adapter

Radio says 'NO MULTI TELEMETRY' instead of showing the firmware version
  • Check that you uploaded the correct firmware file - it must have 'opentx' and 'noinv' in the file name.
Last edited by benzo99; Aug 23, 2020 at 03:41 AM.
Sign up now
to remove ads between posts
Oct 10, 2019, 06:48 AM
Registered User
Great work. Please post the completion series for folks like me. As I recall, I turned off the radio, disconnected the adapter, and then turned the radio back on....
Oct 10, 2019, 07:31 AM
Registered User
It's probably worth noting that, as user "3djc" pointed out in another another thread, these steps won't be needed for those internal multi-protocol modules that have a bootloader pre-installed,

So, if Jumper isn't already doing so, let's hope that Jumper starts shipping the T16 Pro with an internal multi-protocol module having a bootloader pre-installed,
Oct 10, 2019, 09:53 AM
FPV Ground Pounder
Gramps50's Avatar
The instructions seem easy to follow. The link for me to the module is broken and the wiring diagram will help too when avaiable.

Good job, thanks I'll be following this when my adapter arrives
Oct 10, 2019, 11:53 AM
ZL1
ZL1
Registered User
ZL1's Avatar
OK, I update the internal module by the USB-to-serial adapter method. With the radio powered off and plugged in to the computer I can see a STM32 BOOTLOADER device in device manager. Does that mean I'm good to go when OpenTX 2.3.2 is released?
Oct 10, 2019, 12:38 PM
Ben Lye
Thread OP
Quote:
Originally Posted by ZL1
OK, I update the internal module by the USB-to-serial adapter method. With the radio powered off and plugged in to the computer I can see a STM32 BOOTLOADER device in device manager. Does that mean I'm good to go when OpenTX 2.3.2 is released?
What you're seeing there is the STM32 bootloader for the radio, which also has an STM32 processor, it has nothing to do with the internal multiprotocol module.

If you followed the process and your internal module updated without any errors you'll be fine.
Oct 10, 2019, 01:06 PM
ZL1
ZL1
Registered User
ZL1's Avatar
Quote:
Originally Posted by benzo99
What you're seeing there is the STM32 bootloader for the radio, which also has an STM32 processor, it has nothing to do with the internal multiprotocol module.

If you followed the process and your internal module updated without any errors you'll be fine.
OK. Yes, I followed the procedure for the internal update and except for the known issues with some DSM/X receivers, which the work around seems to have also fixed, it's working fine.
Oct 11, 2019, 06:39 AM
Registered User
Thanks for this info! Just ordered a USB-to-serial adapter, CP 2102. Got the T16 on its way as of Oct 11th, so I'm guessing it won't arrive with the bootloader installed. Without your thread/guide I wouldn't have known to have done this. Looking forward to following guide and getting bootloader installed correctly.
Thanks again!
TMac
Oct 11, 2019, 07:11 AM
1000MIGLIA City - Italy
rosnik's Avatar
Just to kill my curiosity.
Can I use the frsky STK usb to get 4in1 updatež??
https://www.frsky-rc.com/product/stk/
Oct 11, 2019, 07:42 AM
Ben Lye
Thread OP
Quote:
Originally Posted by rosnik
Just to kill my curiosity.
Can I use the frsky STK usb to get 4in1 updatež??
https://www.frsky-rc.com/product/stk/
I don't know - I don't have one, and I can't find any information about what's under the wrapper or what the pins are.
Oct 11, 2019, 07:44 AM
Registered User
Nice work, Benzo! You get the gold star.
Oct 12, 2019, 03:34 PM
FPV Ground Pounder
Gramps50's Avatar
Just update the internal module on my Pro. My adapter is a little different but checked pins and voltages. After verifying the wiring I flashed it successfully using Linux. Thanks benzo99 for the docs & all you work and input on this project.

Thanks to all the Multi-module developers for their fine work on this, great job guys/gals
Oct 17, 2019, 01:05 AM
!= International Arms Dealer
visioneer_one's Avatar
so I've received and installed an internal 4IN1 module into one of my T16s

I also went ahead and updated the transmitter's firmware to JumperTX 2.3-FLEX . It was my understanding that was necessary to upgrade to 2.3 in order for the radio to recognize the internal multimodule.

Haven't flashed the internal module firmware yet as Im still waiting on a bunch of the mini-molex connectors to show up

I've tested the radio out by flying some small quads around (with FrSky receivers)... all went well. Still using the external module for now, will remove and retest once I update firmware on the internal module.
Oct 17, 2019, 02:13 AM
Ben Lye
Thread OP
Quote:
Originally Posted by visioneer_one
so I've received and installed an internal 4IN1 module into one of my T16s

I also went ahead and updated the transmitter's firmware to JumperTX 2.3-FLEX . It was my understanding that was necessary to upgrade to 2.3 in order for the radio to recognize the internal multimodule.

Haven't flashed the internal module firmware yet as Im still waiting on a bunch of the mini-molex connectors to show up

I've tested the radio out by flying some small quads around (with FrSky receivers)... all went well. Still using the external module for now, will remove and retest once I update firmware on the internal module.
While we wait for the official OpenTX 2.3.2 firmware for the T16 you should use the radio firmware attached to this post:
https://www.rcgroups.com/forums/show...postcount=4692

The JumperTX firmware that Jumper has available for download does not have the fix which is in that build.

Also, you shouldn't use JumperTX '2.3' - they haven't published the source, and it seems to be based on some early unreleased build of OpenTX 2.3, not the released version.

Sent from my CLT-L29 using Tapatalk
Oct 17, 2019, 10:26 PM
lovin' early retired in 2000
bnrusso's Avatar
I used the 3rd module shown. The FT232RL and the pin-outs from
bottom to top are DTR, RX, TX, VCC, CTS, GND.
My cable colors were different too.
BLU, GRN, YEL, BLK, RED.

BLU was GND FTDI pin 6
GRN to FTDI pin 3
YEL to FTDI pin 2
RED & BLK shorted


Quick Reply
Message:
Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Flash firmware for internal modules for Taranis X9D Plus FIRMWARE UPDATE ERROR baptist FrSky 2 Jan 25, 2016 04:58 AM