https://github.com/ExpressLRS/ExpressLRS Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} ExpressLRS / ExpressLRS * Notifications * Star 681 * Fork 152 STM32/ESP32/ESP8285 based High Performance Radio Link for Quads GPL-3.0 License 681 stars 152 forks Star Notifications * Code * Issues 47 * Pull requests 11 * Discussions * Actions * Projects 2 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 35 branches 7 tags Code Clone HTTPS GitHub CLI [https://github.com/E] Use Git or checkout with SVN using the web URL. [gh repo clone Expres] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Go back Launching Xcode If nothing happens, download Xcode and try again. Go back Launching Visual Studio If nothing happens, download the GitHub extension for Visual Studio and try again. Go back Latest commit @CapnBry @AlessandroAU CapnBry and AlessandroAU Reorganization and bugfixes for SX127x RX sudden failsafe (#594) ... e250647 May 14, 2021 Reorganization and bugfixes for SX127x RX sudden failsafe (#594) * Update rx_main.cpp * Update rx_main.cpp * Update rx_main.cpp * Update rx_main.cpp * Update rx_main.cpp * Update rx_main.cpp * WIP testing with the Cap * Update rx_main.cpp * Remove unused variables and clean up debug msgs * OffsetDx should be based on two raw offsets * Require minLqForChaos instead of fixed 75 LQ Makes connect possible at lower LQ expecially in domains where there are a lot of FHSS channels * Prevent high chance of back to back missed packets Due to RXnb in the Tick handler, where we are mid-reception * Completely remove TickTock Radio.RXnb as per Alessandro * Print hwtimer's offset not our offset on lost conn Our offset will have degraded to 0 when the link dies since the RawOffset will be 0 for every missed packet. * Reduce minLqForChaos to most one could receive of 100 The amount of time we coexist on the same channel is 100 divided by the total number of packets in a FHSS loop (rounded up) so we can get 4 packets for each loop, so if we get any more than that the LQ is high enough * Reduce sync delay by subtracting time taken to start the timer Adds define for PACKET_TO_TOCK_SLACK * timer tweaks * sprinkle some #ifdefs * fix stm32 as TX * Allow Tock to fire first when starting timer * Use IntEventTime instead of own TockTime * Remove initial phase adj on tentative, always sync if disconnected * Delay start of hwTimer until end of ProcessRFPacket Co-authored-by: Alessandro e250647 Git stats * 721 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows ExpressLRS V1.0.0 RC1 Release (#505) Apr 22, 2021 Doc ExpressLRS V1.0.0 RC1 Release (#505) Apr 22, 2021 PCB added TX_SX1280_Minimal (#590) May 13, 2021 STL r9m fan cover updated (#248) Dec 1, 2020 img ExpressLRS V1.0.0 RC1 Release (#505) Apr 22, 2021 src Reorganization and bugfixes for SX127x RX sudden failsafe (#594) May 14, 2021 .gitattributes Initial commit Oct 1, 2018 .gitignore ExpressLRS V1.0.0 RC1 Release (#505) Apr 22, 2021 LICENSE Create LICENSE Feb 11, 2021 README.md Added Happy Model and Ghost Lite to Readme May 9, 2021 View code Need help? Confused? Join the Community! Support ExpressLRS Quick Start Guide High Performance LoRa Radio Link Starting Out Supported Hardware 900 MHz Hardware: 2.4 GHz Hardware: Long Range Competition Rules Current Leaderboard Legal Stuff README.md Banner Need help? Confused? Join the Community! * # Community Discord * # Facebook Group * # Wiki Support ExpressLRS If you would like to support the development of ExpressLRS please feel free to make a small donation. This helps us buy hardware for porting, development and prototyping. Show your support for which new features you want added by leaving a message when you donate Donate Quick Start Guide If you have hardware that you want to flash, please refer to our guides on the wiki, and our FAQ High Performance LoRa Radio Link Build Status Release License Stars Chat ExpressLRS is an open source RC link for RC applications. It is based on the fantastic semtech SX127x/SX1280 hardware combined with an ESP8285, ESP32 or STM32. ExpressLRS supports a wide range of hardware platforms as well as both 900 MHz and 2.4 GHz frequency options. ExpressLRS uses LoRa modulation as well as reduced packet size to achieve best in class range and latency compared to current commercial offerings. ExpressLRS can run at various packet rates, up to 500hz or down to 25hz depending on your preference of range or low latency. At 900 MHz a maximum of 200 Hz packet rate is supported. At 2.4 GHz a blistering 500 Hz is currently supported with a custom openTX binary with future plans to extend this to 1000 Hz. ExpressLRS can be flashed into existing Frsky R9M hardware (RX and TX), Jumper R900 RXs, GHOST ATTO/ZEPTO Receivers or Custom PCBs can be made if you enjoy tinkering. Several manufacturers are preparing to offer offical ELRS hardware soon so stay tuned. LatencyChart ExpressLRS aims to achieve the best possible link preformance for both latency and range. This is achieved with an optimised over the air packet structure. However, only basic telemetry is currently provided (VBAT, downlink/uplink LQ and downlink/uplink RSSI), work is underway for full telemetry support. This compromise allows ExpressLRS to achieve simultaneous better latency AND range compared to other options in the market. For example, ExpressLRS 2.4GHz 150Hz mode offers the same range as GHST Normal while delivering near triple the packet update rate. Similarly, ExpressLRS 900MHz 200Hz will dramatically out-range Crossfire 150Hz and ExpressLRS 50Hz will out-range Crossfire 50Hz watt per watt. 2.4GHz Comparison RangeVsPacketRate More information can be found in the wiki. Starting Out After taking a look at the supported Hardware and making sure you have the required hardware, the Quick Start Guide is written to walk through the process of flashing ELRS for the first time Supported Hardware 900 MHz Hardware: [900Mhardware] * TX + FrSky R9M (2018) (Full Support, requires resistor mod) + FrSky R9M (2019) (Full Support, no mod required) + FrSky R9M Lite (Full Support, power limited) + TTGO LoRa V1/V2 (Full Support, V2 recommended w/50 mW power limit) + Namimno Voyager 900 TX (Full Support off the shelf) + HappyModel ES915TX (Full Support off the shelf) + DIY Module (Full Support, 50mW limit, limited documentation) * RX + FrSky R9mm (Full Support, OTA version can be used) + FrSky R9 Mini (Full Support, OTA version can be used) + FrSky R9mx (Full Support) + FrSky R9 Slim+ (Full Support, OTA version can be used, diversity not yet implemented) + Jumper R900 mini (Full Support, only flashable via STLink, Bad Stock antenna) + DIY mini RX (Full Support, supports WiFi Updates) + DIY 20x20 RX (Full Support, supports WiFi Updates) + HappyModel ES915RX (Full Support off the shelf) + Namimno Voyager 900 RX (Full Support off the shelf) 2.4 GHz Hardware: [24Ghardware] * TX + DIY JR Bay (Full Support, 27dBm, supports WiFi Updates) + DIY Slim TX (Full Support, 27dBm, supports Wifi Updates, fits Slim Bay) + DIY Slimmer TX (Full Support, 27dBm, supports Wifi Updates, fits Slim Bay) + GHOST TX (Full Support, 250 mW output power) + GHOST TX Lite (Beta Support, 100 mW output power) + HappyModel TX (Full Support, 250 mW output power) * RX + GHOST Atto (Full Support, Only STLink Flashing) + GHOST Zepto (Full Support, Only STLink Flashing) + DIY 20x20 RX (Full Support, easy to build. WiFi Updating) + DIY Nano RX (Full Support, CRSF Nano Footprint, WiFi Updating) + DIY Nano CCG RX (Full Support, CRSF Nano Pinout, STM32 Based) + DIY Nano Ceramic RX (Full Support, CRSF Nano Footprint, WiFi Updating, Built in antenna) + HappyModel PP RX (Full Support, CRSF Nano Pinout, STM32 Based) + HappyModel EP1/EP2 RX (Full Support, CRSF Nano Pinout, ESP8285 Based, WiFi Updating) For a more exhaustive list refer to the Supported Hardware page on the wiki Long Range Competition One of the most frequently asked questions that gets asked by people who are interested in, but haven't yet tried ELRS is "How far does it go, and at what packet rate?" The following table is a leaderboard of the current record holder for each packet rate, and the longest distance from home. Note that not every flight resulted in a failsafe at max range, so the link may go (much) futher in some cases. Rules Anyone can add an entry to the table, and entries should include the: * Max distance from home * RF freq (900 / 2.4) * Packet rate * Power level * If the link failsafed at max range * The pilot name * A link to your DVR on youtube (DVR is essential to compete, sorry, no keyboard claims) Current Leaderboard Max Pkt TX Failsafe Pilot Dist. Freq Rate Power at Max Handle Link to DVR Range? https:// 40Km 900M 50HZ 10mW No Snipes www.youtube.com/ watch?v=0QWN9qWoSYY https:// 33Km 2.4G 250HZ 100mW No Snipes www.youtube.com/ watch?v=GkOCT17a-DE https:// 30Km 900M 50HZ 1W No Snipes www.youtube.com/ watch?v=SbWvFIpVkto 10Km 2.4G 250HZ 100mW No Snipes https://youtu.be/ dJYfWLtXVg8 6Km 900M 100HZ 50mW No Snipes https://youtu.be/ kN89mINbmQc?t=58 https:// 6Km 2.4G 500HZ 250mW No Spec www.youtube.com/ watch?v=bVJaiqJq8gY https:// 4.77Km 900M 200HZ 250mW No DaBit www.youtube.com/ watch?v=k0lY0XwB6Ko 2.4G https:// 3Km (ceramic 500HZ 100mW No Spec www.youtube.com/ chip antenna watch?v=kfa6ugX46n8 RX) https:// 2.28Km 900M 50HZ 10mW No Mike www.youtube.com/ Malagoli watch?v=qi4OygUAZxA &t=75s Check the wiki page for previous leaders! Legal Stuff The use and operation of this type of device may require a license and some countries may forbid its use. It is entirely up to the end user to ensure compliance with local regulations. This is experimental software/hardware and there is no guarantee of stability or reliability. USE AT YOUR OWN RISK Banner About STM32/ESP32/ESP8285 based High Performance Radio Link for Quads Resources Readme License GPL-3.0 License Releases 7 ExpressLRS V1.0.0 RC5 Release Latest May 14, 2021 + 6 releases Packages 0 No packages published Contributors 43 * * * * * * * * * * * + 32 contributors Languages * C++ 43.3% * C 24.7% * Python 23.1% * HTML 5.7% * CSS 1.8% * Lua 1.4% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About 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.