Modular Open Source Radio Firmware
 
 
 
 
 
Go to file
Silvano Seva fed1146690 Adding channel selector and PTT to MD-380 platform API 2020-11-03 15:15:36 +01:00
openrtx Added to platform API a function which allows to query the PTT status 2020-11-03 15:15:36 +01:00
platform Adding channel selector and PTT to MD-380 platform API 2020-11-03 15:15:36 +01:00
rtos
scripts
tests Remove screenWidth and screenHeight getters. 2020-11-03 15:15:36 +01:00
.gitignore Update build instructions and .gitignore 2020-11-03 15:15:35 +01:00
LICENSE
Makefile.arm Testing MD380 display driver on the radio 2020-11-03 15:15:35 +01:00
Makefile.x64
README.md README.md: small addition 2020-11-03 15:15:35 +01:00
cross_arm.txt
meson.build Renamed source file of display driver for MD-380 and MD-UV380 2020-11-03 15:15:36 +01:00
requirements.txt

README.md

OpenRTX

Modular Open Source Radio Firmware

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

Currently OpenRTX is being actively developed for the TYT MD-380/390 and MD-UV380/390.

This firmware is highly experimental and is not in a usable state right now, however contributions and testing are welcome and accepted.

Compilation

To build and install the firmware, first clone this repository:

git clone https://github.com/n1zzo/OpenRTX

The following steps depend on the selected platform:

Linux

The OpenRTX linux build depends on libSDL, on Ubuntu you can install it with:

sudo apt install gcc pkg-config libsdl2-dev

The firmware can be compiled with:

meson setup build_linux
meson compile -C build_linux openrtx_linux

If you are using a version of Meson older than v0.55.0, the above command will fail, compile with:

meson setup build_linux
ninja -C build_linux openrtx_linux -jN

Where N is the number of cores that you want to allocate to the build process.

TYT MD-380 / TYT MD-UV380

To build the firmware you need to have a toolchain for the ARM ISA installed on you system, you can install one using your package manager.

For example on Ubuntu you can install arm-none-eabi-gcc

sudo apt install gcc-arm-none-eabi

You can then proceed in building the firmware:

meson setup --cross-file cross_arm.txt build_arm
meson compile -C build_arm openrtx_md380

If you are using a version of Meson older than v0.55.0, the above command will fail, compile with:

meson setup --cross-file cross_arm.txt build_arm
ninja -C build_arm openrtx_md380 -jN

Where N is the number of cores that you want to allocate to the build process.

Flashing your radio

If everything compiled without errors you can connect your radio via USB, put it in recovery mode (by powering it on with the PTT and the button above it pressed), and flash the firmware:

meson compile -C build_arm openrtx_md380_flash

Now you can power cycle your radio and enjoy the new breath of freedom!

Running on Linux

To run OpenRTX on Linux you have to change a system configuration. This is needed in order to run the uC/OS-III RTOS on Linux.

Add the following line to /etc/security/limits.conf replacing user with your user

user             -       rtprio          unlimited

And then reboot your computer.

Now you can execute the binary build_linux/openrtx_linux you compiled with the instructions above.

License

This software is released under the GNU GPL v3, the modified wrapping scripts from Travis Goodspeed are licensed in exchange of two liters of India Pale Ale, we still owe you the two liters, Travis!

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 inspired this project.