SkillAgentSearch skills...

Hamptt

Bluetooth PTT board for Baofeng UV-5R

Install / Use

/learn @mrkeuz/Hamptt
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Ham PTT

Bluetooth PTT switch for ham radio transmitters like Baofeng UV-5R.
Board helps to control transmitter from PC.

Motivation

Testing of UART interface showed unstable connection. During transmit via UART an usb-ttl chip periodically crashes and stops working. Cause is some radio strong interference on USB cable. So Bluetooth serial protocol stack (SSP) chosen instead.

Schematic

Host -> (Bluetooth) -> Esp-32 Arduino -> Relay -> Transmitter PTT button

  • Hardware

    • Host PC with Bluetooth (tested Ubuntu 20.04)
    • Esp32 DevKit v1 (or similar esp32)
    • Relay shield
    • Baofeng UV-5R

Examples

  • Find BT devices hcitool scan
  • Python
from hamptt import open_ptt

with open_ptt(bt_addr="A0:B1:C2:D3:E4:F5") as ptt:
    ptt.begin()
    # I.e. play message to transmitter or something else
    ptt.end()

Install

  • Host PC machine

    • Python 3.8

    • Bluetooth's libs (required for pybluez)

      sudo apt-get install bluez libbluetooth-dev
      
    • Pip

      python3 -m pip install "hamptt[bt]"
      
  • Esp32

    • Upload sketch to your esp-32 via PlatformIO
      NOTE! Check your board config in platformio.ini (see: https://platformio.org/)

      pio run -t upload
      
    • Connect pins Esp-32 to relay

      • VVC -> Relay +
      • GND -> Relay -
      • GPIO D25 -> Relay IN
    • Connect relay and audio, for Baofeng UV-5R it looks like:

      Baofeng UV-5R Pins
      NOTE: You can rebuild your hands-free cable or buy another one

Development

  • Build and install

    pip3 uninstall hamptt
    rm -rf dist && poetry build && pip3 install ./dist/*.whl
    
  • Publish

    • Prepare

      poetry config repositories.testpypi https://test.pypi.org/legacy/
      poetry config pypi-token.testpypi <TOKEN>
      
      poetry config repositories.pypi https://upload.pypi.org/legacy/
      poetry config pypi-token.pypi <TOKEN>
      
    • Publish

      poetry publish --build -r testpypi
      
      poetry publish --build -r pypi
      

Related Skills

View on GitHub
GitHub Stars18
CategoryDevelopment
Updated8mo ago
Forks2

Languages

Python

Security Score

82/100

Audited on Aug 2, 2025

No findings