{"id":20579313,"url":"https://github.com/sh123/codec2_talkie","last_synced_at":"2026-02-24T10:09:47.296Z","repository":{"id":37556259,"uuid":"318992552","full_name":"sh123/codec2_talkie","owner":"sh123","description":"Turn your Android phone into Amateur Radio Codec2/OPUS APRS enabled DV handheld transceiver (Bluetooth/BLE/USB/TCPIP KISS/Sound modem client for DV digital voice communication)","archived":false,"fork":false,"pushed_at":"2026-02-18T19:17:49.000Z","size":63730,"stargazers_count":273,"open_issues_count":0,"forks_count":42,"subscribers_count":17,"default_branch":"master","last_synced_at":"2026-02-18T22:29:19.002Z","etag":null,"topics":["amateur-radio","amateurradio","aprs","bluetooth","codec2","digital","digital-voice","dv","fm","freedv","ham-radio","hf","kiss","lora","opus","radio","uhf","vhf","vocoder","walkie-talkie"],"latest_commit_sha":null,"homepage":"https://github.com/sh123/codec2_talkie","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sh123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-06T09:08:07.000Z","updated_at":"2026-02-18T19:17:54.000Z","dependencies_parsed_at":"2024-11-16T06:16:46.265Z","dependency_job_id":"45c6f244-2499-4b79-99da-b9a3c482add2","html_url":"https://github.com/sh123/codec2_talkie","commit_stats":null,"previous_names":[],"tags_count":121,"template":false,"template_full_name":null,"purl":"pkg:github/sh123/codec2_talkie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sh123%2Fcodec2_talkie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sh123%2Fcodec2_talkie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sh123%2Fcodec2_talkie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sh123%2Fcodec2_talkie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sh123","download_url":"https://codeload.github.com/sh123/codec2_talkie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sh123%2Fcodec2_talkie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29779264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["amateur-radio","amateurradio","aprs","bluetooth","codec2","digital","digital-voice","dv","fm","freedv","ham-radio","hf","kiss","lora","opus","radio","uhf","vhf","vocoder","walkie-talkie"],"created_at":"2024-11-16T06:16:39.289Z","updated_at":"2026-02-24T10:09:47.275Z","avatar_url":"https://github.com/sh123.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Android CI](https://github.com/sh123/codec2_talkie/actions/workflows/android.yml/badge.svg?branch=master)](https://github.com/sh123/codec2_talkie/actions/workflows/android.yml)\n\n# Introduction\n**Turn your Android phone into Amateur Radio HF/VHF/UHF APRS enabled Codec2/OPUS DV (digital voice) and/or FreeDV handheld transceiver.**\n\n**The goal of this project is to promote usage, experimentation and development of open source DV codecs and open source DV transceiver solutions in Amateur and Citizen radio.**\n\n**Requires additional hardware (e.g. AFSK/LoRa/FSK), software (e.g. Direwolf) radio modem or analog transceiver with USB audio + VOX/USB CAT PTT control, such as MCHF or ICOM**\n\nFor more information about FreeDV and Codec2 visit https://github.com/drowe67/codec2\n\nFor more information about OPUS codec visit https://opus-codec.org/\n\nFor detailed information about project [Wiki](https://github.com/sh123/codec2_talkie/wiki)\n\n![alt text](images/diagram.png)\n\n![alt text](images/screenshot.png)\n![alt text](images/screenshot_settings.png)\n\n# Short Description\nWhat you can do with this app:\n- Voice communication:\n  - Send and receive Codec2 voice over FreeDV modes\n  - Send and receive Codec2/OPUS voice over KISS\n  - Send and receive Codec2/OPUS voice encapsulated into APRS UI frames\n- Data communication\n  - Use APRS over FSK 300 (HF, TX only), AFSK1200 (VHF), FreeDV OFDM (HF) or APRS-IS (Internet)\n  - Send and receive APRS position reports\n  - Send and receive APRS messages\n  - APRS log with raw APRS data\n  - APRS station hub with stations grouped by callsign and their log\n  - APRS map with ability to see station info, station track with information about each geo position\n  - Use application as APRS digirepeater\n  - Use application as APRS-IS RX/TX iGate to forward packets to/from APRS-IS (Internet)\n  - Use application as APRS-IS internet tracker to send/receive APRS data over Internet\n  - Send and receive text packets in lora-aprs format over KISS\n- Integrate with hardware/software\n  - Use it with your KISS Bluetooth/BLE/USB/TCPIP hardware modem, such as LoRa/FSK/AFSK/etc, control its parameters by using \"set hardware\" KISS command\n  - Use it with KISS software modem using TCPIP, such as Direwolf\n  - Use it with your HF/VHF/UHF transceiver as a sound modem\n  - Use your phone as a software sound modem by using external USB OTG audio adapter (voice + data) or built-in phone speaker and mic (only data)\n  - Use your phone for FreeDV protocol voice communication together with HF transceiver, which supports USB OTG audio\n  - Control your external transceiver PTT by using USB serial CAT (or VOX if CAT PTT is not supported)\n\n# Requirements\n- Minimum supported version is Android 6.0 (API 23), target is Android 15.0 (API 35)\n  - Application could also be used with your Android network radio, such as Inrico TM-7, apk just needs to be installed over USB, see [Discussion](https://github.com/sh123/codec2_talkie/issues/4)\n- Modem, radio module or transceiver which supports [KISS protocol](https://en.wikipedia.org/wiki/KISS_(TNC)) or can process KISS or raw Codec2 audio frames over serial Bluetooth, BLE, USB or TCP/IP\n- Analog transceiver with built-in or external USB audio adapter and VOX or USB CAT PTT control (such as MCHF, FT817 or ICOM IC-7X00 series)\n\n# Dependencies\n- Source code is integrated into this project for easier building and customization:\n  - Codec2 codec: https://github.com/drowe67/codec2\n  - Android Codec2 wrapper code: https://github.com/UstadMobile/Codec2-Android\n  - OPUS codec: https://opus-codec.org\n- Fetched with gradle as dependency:\n  - Android USB serial: https://github.com/mik3y/usb-serial-for-android\n\n# Using pre-built APK packages\n- Stable APK packages are available in [Releases](https://github.com/sh123/codec2_talkie/releases)\n- Latest untested APK packages from master are available at [Android CI workflow artifacts](https://github.com/sh123/codec2_talkie/actions/workflows/android.yml), when CI version is tested it is released-copied into [Releases](https://github.com/sh123/codec2_talkie/releases)\n- \u0026#x26A0; If you are getting \"Cannot install app from unknown sources\" then you need to allow installation from unknown sources in Android settings as it uses self signed certificate, see [FAQ](https://github.com/sh123/codec2_talkie/wiki/Frequently-asked-questions)\n- \u0026#x26A0; If you are getting \"App not installed\" error when trying to install APK package try to uninstall previous version before installing new one, see [FAQ](https://github.com/sh123/codec2_talkie/wiki/Frequently-asked-questions)\n\n# Building yourself\n- Easiest way to build locally if you are not planning to modify code is to use [act](https://github.com/nektos/act) and [Android CI workflow](https://github.com/sh123/codec2_talkie/blob/master/.github/workflows/android.yml)\n- Otherwise, just install Android Studio and build/create/install apk package\n- Building on PC in development environment from command line:\\\n  `ANDROID_HOME=\u003candroid dir\u003e JAVA_HOME=\u003cjava home dir\u003e ./gradlew \u003ccommand\u003e`\\\n  For example:\n  ```\n  # ANDROID_HOME=~/Android/Sdk JAVA_HOME=~/.jdks/jbr-21.0.4 ./gradlew assembleRelease\n  \n  Welcome to Gradle 7.0.2!\n  \n  ... compilation output ...\n\n  \u003e Task :codec2talkie:lintVitalRelease\n  No issues found.\n\n  BUILD SUCCESSFUL in 2m 2s\n  111 actionable tasks: 40 executed, 71 up-to-date\n  ```\n\n# Other similar or related projects\n- Hardware\n  - ESP32 LoRa APRS modem (used with this application for testing): https://github.com/sh123/esp32_loraprs\n  - ESP32 LoRa DV transceiver: https://github.com/sh123/esp32_loradv\n  - Arduno Micro KISS modem and APRS AX.25 digirepeater: https://github.com/sh123/micro_loraprs\n  - Minimal Arduino LoRa KISS modem: https://github.com/sh123/lora_arduino_kiss_modem\n  - Minimal Arduino NRF24 2.4GHz KISS modem: https://github.com/sh123/nrf24l01_arduino_kiss_modem\n  - ESP32 Arduino Codec2 library (ESP32 i2s walkie talkie example interoperable with this application): https://github.com/sh123/esp32_codec2_arduino\n  - ESP32 Arduino Opus library: https://github.com/sh123/esp32_opus_arduino\n- Other Software:\n  - Version adopted for M17 protocol usage: https://github.com/mobilinkd/m17-kiss-ht\n  - FreeDV TNC: https://github.com/xssfox/freedv-tnc\n  - FreeDV data modem UI: https://github.com/DJ2LS/FreeDATA\n  - FreeDV official UI: https://github.com/drowe67/freedv-gui\n  - Codec2 iOS wrapper: https://github.com/Beartooth/codec2-ios\n- Other interesting projects:\n  - LoRa mesh text GPS communicator: https://github.com/meshtastic/Meshtastic-device\n\n# Prototypes used with this application\n - ESP32 LoRa Bluetooth headless APRS modem (no screen and external controls): https://github.com/sh123/esp32_loraprs\n - ESP32 LoRa DV handheld transceiver (with screen and controls): https://github.com/sh123/esp32_loradv\n - Arduno Micro USB KISS modem (no screen and external controls): https://github.com/sh123/micro_loraprs\n  \n![alt text](images/modems.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsh123%2Fcodec2_talkie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsh123%2Fcodec2_talkie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsh123%2Fcodec2_talkie/lists"}