Modular Open Source Radio Firmware
 
 
 
 
 
Go to file
Silvano Seva 28929aab90 Fixed memory leaks at linux emulator shutdown 2022-07-02 10:47:19 +02:00
.github Remove unmaintained dependency from CI 2021-11-10 23:58:06 +01:00
assets Move assets folder and add splash screen gif 2020-11-19 12:31:28 +01:00
lib Add support for encoder knob on MD-UV380 2021-04-03 09:21:47 +02:00
meta just the emulator shell broken out 2021-11-03 19:20:42 +01:00
openrtx Added field to state data structure containing the current operating state of the device. Implemented clean shutdown of all the threads. 2022-07-02 10:47:19 +02:00
platform Fixed memory leaks at linux emulator shutdown 2022-07-02 10:47:19 +02:00
scripts Replaced bin2sgl linux binary with a version statically linked with the libc, added missing wrap and flash commands for DM-1801 2022-06-17 12:44:38 +02:00
subprojects Squelched warnings when compiling codec2 sources 2022-02-26 12:38:10 +01:00
tests Fix bug in new cps code 2022-06-01 16:05:36 +02:00
.clang-format Add .clang-format and auto-indent script 2021-12-23 14:52:25 +01:00
.gitignore Implement new codeplug interface 2022-06-01 15:59:27 +02:00
.gitmodules Added miosix kernel as submodule 2021-03-13 09:16:06 +01:00
99-openrtx.rules Added GigaDevices GD32 USB ID to udev rules to allow programming of GD32-based Module17 without root privileges 2022-06-10 18:14:10 +02:00
LICENSE Initial commit 2020-03-30 15:57:43 +02:00
README.md Updated README, updated version number in meson.build 2022-06-01 10:51:26 +02:00
cross_arm.txt Moving to miosix kernel: adapted parameters for cross-compilation and modified boot files for STM32-based targets 2021-03-13 09:16:06 +01:00
meson.build Reorganised data structures and functions to manage date and time 2022-07-02 10:28:28 +02:00
meson_options.txt Add undefined behaviour sanitizer option 2021-02-17 09:52:36 +01:00
osx.txt Native opts for macOS building 2021-12-23 14:52:25 +01:00
requirements.txt Add meson build system 2020-11-03 15:15:35 +01:00

README.md

OpenRTX

Modular Open Source Radio Firmware

OpenRTX is a free and open source firmware for digital ham radios, top-down designed with modularity, flexibility and performance in mind.

Currently OpenRTX is being actively developed for the following radios:

  • TYT MD-380/390
  • TYT MD-UV380/390
  • TYT MD-9600
  • Radioddity GD77 and Baofeng DM-1801

This firmware is highly experimental and currently under development, this means that it may not have all the expected functionalities. Contributions and testing are anyway warmly welcome and accepted!

For information on currently supported radios and features, see the Supported Platforms page on our website.

For hardware and software documentation visit openrtx.org

Obtaining the firmware

Warning: read the Disclaimer section first!

Pre-built binary images of the OpenRTX firmware for each one of the supported devices are available on the releases page: to flash them on your radio you can use the OEM firmware upgrade tool or, alternatively and for TYT MD-3x0 and MD-UV3x0 radios only, you can also use the radio_tool program or tarxvf's web based flashing tool dmr.tools.

Between releases, pre-built binary images containing the latest firmware updates are available through nightly builds from the master branch. The nightly builds are available here:

Finally, the instructions on how to compile the OpenRTX firmware, also in its emulator version on Linux, are available on the compilation instructions page on our website.

If you need detailed instructions on how to flash the firmware to your radio look at the dedicated page on OpenRTX's website or reach us on our channels!

M17 support

From the release version 0.3.3 the OpenRTX firmware provides experimental support for the M17 digital voice mode.

Currently the radios supporting this digital mode are the following:

  • MD-380, MD-390 and RT3 UHF version support both modulation and demodulation.
  • MD-380, MD-390 and RT3 VHF version support only demodulation, modulation is a work in progress.
  • MD-UV380 and MD-UV390 support support both modulation and demodulation.
  • GD77 and DM-1801 currently do not support the new digital voice mode.

To make the digital mode work, some modding is required: refer to the dedicated page on our website for the details.

Disclaimer

This project was created for research and amateur radio use only, we are not responsible for improper uses of this code which might lead to unauthorized transmission, reception or patent infringments.

The OpenRTX firmware is released WITHOUT ANY WARRANTY: anyone flashing a binary image obtained from the sources made available through this repository does it at its own risk. We always test all the code on our devices before publishing it on the repository, however we cannot guarantee the absolute absence of bugs and potential side effects.

Contact

To reach out, come to our M17 Reflector or into our Discord Server.

Donate

To support the development of OpenRTX you can make us a donation using Liberapay.
If you want to donate some hardware to facilitate OpenRTX porting and development, contact us.

License

This software is released under the GNU GPL v3.

minmea is released under the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE v2.

Code for STM32F405 USB driver is released under the MCD-ST Liberty SW License Agreement V2.

Credits

OpenRTX was created by:

All this was made possible by the huge reverse engineering effort of Travis Goodspeed and all the contributors of md380tools.

A huge thank goes to Roger Clark, and his OpenGD77 which not only inspired this project, but as a precursor, provided a working code example for the GD77 radio family.

A warm thank you goes to SP5WWP and the M17 community for bringing their libre protocol into our obscure undocumented hardware.

Also thank you for donating hardware to the project:

  • M17 Project
  • laurivosandi

And thanks to everyone who donated via LiberaPay.