Overview

I welcome contributions to this project! Or feel free to just fork it and make your own version, so long as you release the full source code (kv4p HT is licensed under GPL3).

Discord

There is a kv4p HT Discord contributor channel to ask more technical questions, share ideas, or just discuss the project.

Project files

  • Github project (Android and ESP32 source, .STL 3D print designs, PCB files)
    • NOTE: For the ESP32 app use Arduino IDE, and these settings:
      • Board: esp32 (2.0.17) from Boards Managers - DO NOT use newer versions, the code is not compatible with the API changes that were made. The board may not be auto-detected when plugged in, select ESP32 Dev Module.
      • Library: EspSoftwareSerial (8.1.0) - get this from the built-in library installer
      • Library: arduino-dra818 v1.0.1 - DO NOT use version 1.0.0 that's included in Arduino package installer, it's old and broken. Install with Sketch > Include Library > Add .ZIP Library.
      • Configuration: Choose Tools > Events Run On > Core 0 so audio processing interrupts run on a separate thread for maximum stability.
  • Tinkercad 3D printer designs: case, stand
  • EasyEDA PCB design

Wish list

I would LOVE help with these features and updates. I plan to work on most of these eventually, but you can help it happen faster! The most helpful thing right now would be if you can make/sell the 3D prints and PCBs, to make the project easier for people who aren't familiar with 3D printed or PCB ordering. I have no interest in doing that myself.

Android app project ideas (Java)

  • Add icon to text chat mode to let user transmit a location APRS message (one-off, not constantly), and on receiving app display this as a clickable link (will open in Google Maps)
  • Fully implement all the other APRS message types, so they're not just printed out as raw text (e.g. nearby repeaters announcing their frequencies and upcoming nets, weather beacons)
  • Add "APRS digipeater" option to Settings, and implement digipeating (so it reports messages it hears online, if an internet connection is available)
  • Add "APRS repeater" option to Settings, and implement repeating (so it repeats via radio any heard APRS messages, as a light-weight mesh messaging system)
  • Add ability to generate and import Repeater Book .csv listing of nearby repeaters (using GPS). The URL pattern to use for this is in this example link (replace [lat] and [long] with real values).
  • Implement a better UI layout for landscape mode
  • Implement a better UI layout for larger screens, like tablets
  • Test and fix any screen reader (TalkBack) bugs
  • Add a keypad mode (to the bottom nav with voice/chat), which lets the user sends DTMF tones (e.g. to control a repeater)
  • Implement an Android Auto mode, so it displays frequency on car dashboard units, maybe have a scan button too
  • Add a "KISS" mode so the phone can pair to a laptop with bluetooth and act as an AX.25 modem
  • Add VOX support, so a laptop can connect to the phone via Bluetooth and send/receive audio (e.g. for use with soundmodem, things like SSTV)
  • Add country selection to Settings page, to allow usage of country-appropriate ranges of VHF frequencies (the current range is for US amateur radio licensees).

ESP32 app project ideas (C++)

  • De-dupe and refactor the code, I copy-pasted quite a bit in loop() to handle different states

3D printer designs project ideas

  • Print and sell the cases and stands on Etsy or something, not everyone has a 3D printer
  • Design more case and stand options so people have choices

PCB design project ideas

  • Order a bunch of PCBs and then re-sell them on Etsy or Tindie or something, some people don't want to order 5-10 at once on PCBWay or JLCPCB
  • Improve my existing PCB design, I'm very amateur at PCB layout. I think there may be an impedence mismatch going to the antenna and I don't think I have enough stitching with the ground plane (among other things!)
  • Design a new 180 degree USB C male-to-male adapter, since the only one available commercially is fairly narrow and won't work with most phone cases. Ideally, have multiple widths.
  • Design a UHF (e.g. 70cm) PCB for use with a DRA818U chip, the main challenge will be figuring out if/how to filter spurious emissions
  • Design a dual VHF/UHF PCB, for use with BOTH a DRA818V and a DRA818U. The board will be larger, so needs a new 3D printed cases for this one too
  • Improve the VHF filtering, I'd like the second harmonic to be even more supressed (currently it's just over -40dB, which is the minimum for part 97).

Testing

I've tested RF filtering for kv4p HT with v1.5 of the PCB with a TinySA spectrum analyzer to ensure it meets FCC part 97 spurious emissions requirements (which must be at least -40dB at VHF and 1 watt). Although v1.5 is compliant, it is too marginal for my liking (-40.1dB second harmonic). I have a v1.6 PCB already designed (find it here in GitHub) which should have better filtering (closer to -60dB based on filter modeling). Here were the results for the v1.5 PCB:


A photo of a TinySA measuring the spurious emissions of the kv4p HT, the graph shows a single large spike at the transmitting frequency.