{"id":23160789,"url":"https://github.com/v0l/radio_tool","last_synced_at":"2025-08-18T02:31:49.323Z","repository":{"id":43279257,"uuid":"278407136","full_name":"v0l/radio_tool","owner":"v0l","description":"Radio firmware tool","archived":false,"fork":false,"pushed_at":"2025-06-24T13:41:23.000Z","size":395,"stargazers_count":93,"open_issues_count":2,"forks_count":20,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-08-16T06:03:28.314Z","etag":null,"topics":["baofeng","codeplug","dmr","firmware","hacktoberfest","ham-radio","tyt","tytera"],"latest_commit_sha":null,"homepage":"https://discord.gg/V596cyatmv","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/v0l.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"v0l","patreon":"v0l","custom":["https://pay.v0l.io/api/v1/invoices?storeId=CxjchLEkirhBWU17KeJrAe71g5TzrxsvsfLuFwrnyp5Q\u0026price=1\u0026currency=USD"]}},"created_at":"2020-07-09T15:48:14.000Z","updated_at":"2025-08-16T02:57:28.000Z","dependencies_parsed_at":"2022-09-12T21:24:15.216Z","dependency_job_id":"1d6f457e-2c66-4a92-9ae5-a0e08d6c5cc4","html_url":"https://github.com/v0l/radio_tool","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/v0l/radio_tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v0l%2Fradio_tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v0l%2Fradio_tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v0l%2Fradio_tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v0l%2Fradio_tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/v0l","download_url":"https://codeload.github.com/v0l/radio_tool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v0l%2Fradio_tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270933648,"owners_count":24670464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baofeng","codeplug","dmr","firmware","hacktoberfest","ham-radio","tyt","tytera"],"created_at":"2024-12-17T23:12:09.707Z","updated_at":"2025-08-18T02:31:49.314Z","avatar_url":"https://github.com/v0l.png","language":"C++","funding_links":["https://liberapay.com/v0l","https://patreon.com/v0l","https://pay.v0l.io/api/v1/invoices?storeId=CxjchLEkirhBWU17KeJrAe71g5TzrxsvsfLuFwrnyp5Q\u0026price=1\u0026currency=USD"],"categories":["C++"],"sub_categories":[],"readme":"# radio_tool\n\nRadio Firmware tool\n\n## Radio Support\n\n| Manufacturer | Radio Model | Fw Read | Fw Write | Fw Wrap | Db Read | Db Write |\n| - | - | - | - | - | - | - |\n| TYT | [MD-2017](https://www.tyt888.com/?mod=product_show\u0026id=110)| ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-9600](https://www.tyt888.com/?mod=product_show\u0026id=108) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-UV380](https://www.tyt888.com/?mod=product_show\u0026id=127) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-UV390](https://www.tyt888.com/?mod=product_show\u0026id=129) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-390](https://www.tyt888.com/?mod=product_show\u0026id=77) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-380](https://www.tyt888.com/?mod=product_show\u0026id=78) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-446](https://www.tyt888.com/?mod=product_show\u0026id=75) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| TYT | [MD-280](https://www.tyt888.com/?mod=product_show\u0026id=80) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| Baofeng | [DM-1701](https://www.baofengradio.com/products/dm-1701) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| Baofeng | [DM-1801](https://www.baofengradio.com/products/dm-1801) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| Baofeng | [RD-5R](https://www.baofengradio.com/products/rd-5r) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| Connect Systems | [CS800D](https://www.connectsystems.com/products/top/radios/CS800D.htm) | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ |\n| Ailunce | [HD1](https://www.ailunce.com/Product/HD1/Overview) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n| Yaesu | [FT-70DR](https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts\u0026ProdCatID=249\u0026encProdID=7CDB93B02164B1FB036530FBD7D37F1A\u0026DivisionID=65\u0026isArchived=0) | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |\n| Radioddity | [GD-77](https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio) | ✖️ | ✔️ | ✔️ | ✖️ | ✖️ |\n\n```\nFw = Firmware\nDb = Codeplug database\n```\n# Download\n\nDownload pre-built binaries from [GitHub Actions](https://github.com/v0l/radio_tool/actions)\n\n![Ubuntu](https://github.com/v0l/radio_tool/workflows/UbuntuRelease/badge.svg)\n![Windows](https://github.com/v0l/radio_tool/workflows/WindowsRelease/badge.svg)\n![macOS](https://github.com/v0l/radio_tool/workflows/OSXRelease/badge.svg)\n\nOtherwise you can use the instructions below to build\n\n# Building\nDependencies Linux (Ubuntu/Debian):\n\n```bash\nsudo apt install libusb-1.0-0-dev cmake gcc g++ pkg-config\n```\n\nDependencies Mac:\n```bash\nbrew install libusb cmake pkg-config\n```\n\nBuild:\n```bash\ngit clone https://github.com/v0l/radio_tool\ncd radio_tool\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake -j4\n./radio_tool --help\n```\n\n# Docs\nCode documentation: https://data.v0l.io/radio_tool/docs\n\n# Usage\n```\nUsage:\n  ./radio_tool [OPTION...]\n\n General options:\n  -h, --help \u003ccommand\u003e  Show this message\n  -l, --list            List devices\n  -d, --device \u003cindex\u003e  Device to use\n  -i, --in \u003cfile\u003e       Input file\n  -o, --out \u003cfile\u003e      Output file\n  -L, --list-radios     List supported radios\n\n Programming options:\n  -f, --flash    Flash firmware\n  -p, --program  Upload codeplug\n\n Firmware options:\n      --fw-info  Print info about a firmware file\n      --wrap     Wrap a firmware bin (use --help wrap, for more info)\n      --unwrap   Unwrap a fimrware file\n\n All radio options:\n      --info                 Print some info about the radio\n      --write-custom \u003cdata\u003e  Send custom command to radio\n      --get-status           Print the current DFU Status\n\n TYT Radio options:\n      --get-time             Gets the radio time\n      --set-time             Sets the radio time\n      --dump-reg \u003cregister\u003e  Dump a register from the radio\n      --reboot               Reboot the radio\n      --dump-bootloader      Dump bootloader (Mac only)\n\n Codeplug options:\n      --codeplug-info  Print info about a codeplug file\n```\n\n## Flash Firmware\n```bash\n./radio_tool -d 0 -f -i new_firmware.bin\n```\n\n## Wrap Firmware\n```bash\n./radio_tool --wrap -o wrapped.bin -r DM1701 -s 0x0800C000:main.bin\n```\n\n## Unwrap Firmware\nOutput file in this case is a file prefix, the filename will be `unwrapped_0x0800C000` and others if you have\nfirmware will more than one segment\n```bash\n./radio_tool --unwrap -i wrapped.bin -o unwrapped \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv0l%2Fradio_tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fv0l%2Fradio_tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv0l%2Fradio_tool/lists"}