Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the md380tools wiki!
For now, it can only be edited by the project's collaborators. Please be patient as we fill in these links to document our project.
MD380Tools is a collection of Python scripts and firmware patches the Tytera MD380 and related digital radios. Our firmware runs on both old and new codec hardware, and we will soon support devices with GPS.
Usage and Introduction
See README.md for build instructions to get started on Linux.
Lady Ada has written some introductory documentation for using the project and the MD380 in Windows. https://learn.adafruit.com/tytera-md-380-dmr/
A few of us are on the
#md380 IRC channel on Freenode, and a user's mailing list is available through Google Groups.
The MD380 stores its contacts and channels in an external SPI Flash chip. You might need to know this Codeplug Format if you'd like to add support for changing those settings to a graphical channel editor, such as CHIRP.
First you should install the right Compiler Toolchain and then learn how the Build Process works. If you are using code which does not require hardware I/O registers, you might try first prototyping it in the MD380 Emulator on Linux.
Among other nifty features, we support a Promiscuous Mode for receiving traffic from unknown talkgroups, Raw Packet Capture and Raw Audio Capture for recording network traffic, and a Caller ID Database for internally storing and displaying the database of all registered hams in the DMR MARC user's database.
Firmware Reverse Engineering
We've been reverse engineering the MD380 firmware with IDA Pro and Radare2, as well as some homegrown tools that you'll find in the repository. We expect to also use Binary Ninja once those fine folks add support for Thumb to their platform.
The firmware runs on an STM32F405 with 1MB of Flash and 192K of non-contiguous RAM. Radio functions are managed by the C5000 Baseband chip, while the audio codec chip is emulated by a background process on the CPU.