Skip to content

Flashing Happymodel ES900TX



Flashing via Wifi

Target: HappyModel_TX_ES900TX_via_WIFI

With the correct target selected and Firmware Options set, Build your firmware using the ExpressLRS Configurator. Once it's done, it should open the Target folder for you where the HappyModel_TX_ES900TX-<version>.bin file is. Do not close this window so you can easily locate the correct file to upload to the module.

The next steps will require the ELRS Lua Script (right-click, save as). Download the ELRS.lua script and save it to your Radio's /Scripts/Tools folder. Insert/attach your module into your module bay and make sure it's not loose and there's proper connection with the radio. Execute the ELRS.lua script by pressing "System Menu" in your radio and then under Tools, select ELRS.lua.

Lua Script Lua Script T16

At first, it will show "Mismatch"; it's normal. Tap Enter once on your radio to "Force Use" the script. If it's showing a "Connecting" message, then recheck the connection of the module to your radio.


Select "Wifi Update" from the lua script. The Lua script will instruct you to go to a specific Ip Address, but you have to first connect to the Wifi Hotspot it created. It will show up in your network as ExpressLRS TX Module, and the password is simply expresslrs.

Using your browser, navigate to the correct page (typically and it should show an upload form (you will have to scroll down a bit). You can drag-and-drop the HappyModel_TX_ES900TX-<version>.bin file from the folder that ExpressLRS Configurator opened for you, or you can manually navigate to it via the Browse or Choose File button on the Upload form. Click on Update once and the update process should commence. Take note that you should be taking a TX firmware file. The folder name where you can get this file is the same as the Target you have selected in the ExpressLRS Configurator.

Once the file is uploaded, the webserver should load a White page, with the message Update Success! Rebooting...

As it rebooted, the connection to the Webserver got terminated. Verify with the ELRS.lua script if you have successfully updated your module using the Git commit hash for the firmware version you have on the module.

Flashing via USB

Target: HappyModel_TX_ES900TX_via_UART

This method requires you move two jumpers into specific pins in the module board. See the following image for the jumper location and which pin should be bridged for this method to work.


The 2 bottom-most dipswitch should be moved into the position as shown in the image above. Attach your USB cable into the module and your computer. CP210x Drivers will have to be installed for this to work properly (Windows). Make sure your computer recognizes the module as a USB-to-UART Bridge device, otherwise, this method will not work.

Using the ExpressLRS Configurator with the correct Target selected and options set, hit Build & Flash. Wait for the process to finish, and you should be greeted with the "Success" message.

Assemble the module back together and attach it to your radio module bay and verify with the ELRS.lua script if you have successfully updated your module using the Git commit hash for the firmware version you have on the module.

ES915/868TX (Discontinued)

Flashing via OpenTX

Target: HappyModel_TX_ES915TX_via_stock_BL

Using Build in the ExpressLRS Configurator, wait for the firmware to be compiled. After that's done, ExpressLRS Configurator Log should show the Success Message, and it will automatically open the folder where the firmware.elrs can be found. Put (copy-paste) the firmware.elrs to your Radio's SD Card (preferably to the /FIRMWARE folder for easy access). Once on your radio, navigate to the /FIRMWARE folder, select the firmware.elrs and click-hold the Enter button and select "Flash External ELRS".

Wait for the flashing to finish, module will reboot and you should hear the tune and two beeps (if external module is now set to CRSF protocol).

Target: HappyModel_TX_ES915TX_via_STLINK

Connect your STLink v2 to the pads shown on the image below.


With the module connected shown above, and your configuration set, hit Build & Flash in the ExpressLRS Configurator and wait for the process to finish. Once that's done, and the Success Message showing, you can now remove/unsolder the STLink, and re-assemble the module, and put it into your Radio's Module Bay. The ExpressLRS tune should play and then two beeps after that can be heard.

Verification can be done using the ELRS.lua script. It should show the Version Hash at the top, as well as the options you can set. If it's showing "Connecting", check if External Module is set to CRSF for the selected model in your radio, and that internal RF module is set to off. See general Troubleshooting section for other ways to determine your module is flashed and ready for flying.