Skip to main content

Implementation of Push-To-Talk board for ham radio transmitters like Baofeng UV-5R

Project description

Ham PTT

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

Problematic

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 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
      

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hamptt-0.3.1.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distribution

hamptt-0.3.1-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page