Skip to content
Configurable firmware for openLRS compatible TX/RX systems
Branch: master
Clone or download
Latest commit 2c5d3fc Nov 22, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
bootloaders Image with bootloader for 32u4 too. May 31, 2014
buildroot/bin Layout change to conform to Arduino IDE requirements Jan 26, 2018
openLRSng fix telemetry packet interval Apr 10, 2018
utils utils: add shell script for snooping serialport access (Linux) Apr 7, 2014
.editorconfig Add EditorConfig configuration Dec 31, 2013
LICENSE ADD license Nov 3, 2012
Makefile Fixed `make` build for TX. Jan 28, 2018
platformio.ini Simplify PIO builds Nov 16, 2018


My fork of openLRS code (based on thUndeadMod of openLRS)

More information at


This software should be used in source form only by expert users, for normal use 'binary' firmwares can be uploaded and configured by free configuration software available for Windows/Mac/Linux from Chrome web store.

Binary firmware images are also available from


  • TX_BOARD_TYPE 0 (Arduino Mini/nano 328 16MHz)

    • Flytron openLRS M1 (100mW) TX
  • TX_BOARD_TYPE 2 (Arduino Mini/nano 328 16MHz)

    • Flytron openLRS M2 (100mW)/M3(1W) TX
    • OrangeRX UHF TX unit
  • TX_BOARD_TYPE 3 (RX module acting as TX) (Arduino Mini/nano 328 16MHz)

    • Flytron openLRS RX v2

    • OrangeRX UHF RX

    • HawkEye openLRS RX

    • connect PPM input to 5th slot from left (channel 4)

    • button between ground and 4th slot from left (ch3)

    • buzzer via transistor on 3rd slot (ch2) (active high)

  • TX_BOARD_TYPE 4 (Arduino Mini/nano 328 16MHz)

    • openLRSngTX ('kha' or DIY based on ngTX schematics)
    • HawkEye OpenLRSng TX
  • TX_BOARD_TYPE 5 (RX as TX) (Arduino Mini/nano 328 16MHz)

    • DTFUHF/HawkEye 4ch/6ch RX
  • TX_BOARD_TYPE 6 (Arduino Leonardo)

    • DTFUHF/HawkEye deluxe TX
  • TX_BOARD_TYPE 7 (RX as TX)

    • Brotronics PowerTowerRX
  • RX_BOARD_TYPE 8 (RX as TX)

    • openLRSng microRX


  • RX_BOARD_TYPE 2 (TX module as RX) (328P 16MHz)

  • RX_BOARD_TYPE 3 (Arduino Mini/nano 328 16MHz)

    • Flytron openLRS RX
    • OrangeRX UHF RX (NOTE both LEDs are RED!!)
    • HawkEye OpenLRS RX
  • RX_BOARD_TYPE 5 (Arduino Mini/nano 328 16MHz)

    • DTFUHF/HawkEye 4ch/6ch RX

    • Brotronics PowerTowerRX

    • openLRSng microRX

Receiver pin functiontions are mapped using the configurator or CLI interface.


Only hardware related selections are done in the openLRSng.ino (Arduino) or platformio.ini (VSCode/PlatformIO).

Run time configuration is done by connecting to the TX module (which is put into binding mode) with serial terminal. For best restults use real terminal program like Putty, TeraTerm, minicom(Linux) but it is possible to use Arduino Serial Monitor too. Sending '' (enter) will enter the menu which will guide further. It should be noted that doing edits will automatically change 'RF magic' to force rebinding, if you want to use a specific magic set that using the command (and further automatic changes are ceased for the edit session).

Datarates are: 0==4800bps 1==9600bps 2==19200bps 3==57600bps 4==125kbps

Refer to


Use a 3v3 FTDI (or other USB to TTL serial adapter) and Arduino >= 1.0.

o set board to "Arduino Pro or Pro Mini (5V, 16MHz) w/ atmega328" (yes it runs really on 3v3 but arduino does not need to know that)

o define COMPILE_TX and upload to TX module

o comment out COMPILE_TX and upload to RX

o for deluxeTX "arduino boardtype" must be set to "Leonardo"


Makefile generates TX/RX firmware files for each frequency 433/868/915 as well as all hardware types [RX/TX]-[#].hex.

The "*-bl.hex" files contain bootloader and can be used when flashing via ICSP. o 328p model (all but type 6) use optiboot bootloader and thus needs fuses set to: Low: FF High: DE Ext: 05. o type 6 uses 'caterina' and fuses should be set to: Low: FF High: D8 Ext: CB.


Please refer to (->wiki)

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.