MK83TE · Bengaluru, Karnataka · Licenced 1993
Located in the garden city of India, Bangalore. Licensed since 1993, I started operations in Thrissur, Kerala with a simple homebrew QRP rig following VU2VWN OM Vasanth (SK)'s circuit — the most popular design of those days.
Later graduated to SSB with the help of an old exciter originally made by VU2UCY Om Bhasi (SK). Went through different iterations of 807 tube QRO and some military surplus gear (Redifone GR 345) during the 1990s. Shifted to Bangalore in early 2003.
I travel extensively for work and mostly operate remote during free time. The shack runs a fully automated setup including remote antenna switching and lightning protection.
/ui board. Thirteen collapsible cards (FlexRadio, LP-700, SPE amplifier, rotator, lightning protection, power control, solar conditions, DXCC tracker, RBN skimmer, Raspberry Pi fleet, internet health, GPS NTP, UberSDR receiver) lay out in a responsive masonry grid that adapts from phone to desktop with no build step. Each card polls flow context every 1–5 s, shows a colour-coded collapsed summary and expands for full telemetry. Top bar carries the callsign, a live/offline connectivity pill and four clocks (UTC / IST / sunrise / sunset). PWA-installable on iPad and iPhone via "Add to Home Screen"./ui board.transmit set inhibit=1 command to the FLEX-6600 over the SmartSDR API, so the rig can't key up into a disconnected antenna — SmartSDR shows a red TX-Inhibit indicator and a Telegram alert fires. The inhibit clears automatically on reconnect, manual override or bypass; the radio stays powered and RX-capable throughout.pps-gpio + chrony pulls PPS error down to ±171 ns — well below anything a userland NTP implementation can match. Publishes chrony status, satellite count and fix quality over MQTT to the shack dashboard, with an LWT offline marker. Production timeserver for the LAN.flex: config opens a second connection to a FlexRadio 6000-series rig over the SmartSDR TCP API and orchestrates an SM5TOG-style ATU tune plus the full sub-band SWEEP; leave flex.host empty and the server auto-discovers the radio via SmartSDR's UDP broadcast on port 4992. All four UIs (MacExpert, the bundled dashboard, Node-RED /ui, Vue /shack) receive the same tune_event stream. Based on original work by OH2GEK, rewritten and extended..app; the suite loads it through the RadioPluginKit contract — the host links only the contract, never compiles a plugin in. Plugins are discovered at runtime (browse a catalog or sideload a .radioplugin) and run out-of-process as sandboxed ExtensionKit extensions, so crash isolation is real and adding one never requires rebuilding the suite. Ships with an empty catalog: published plugins today are LP-700, LP-100A, Band Pass Filter and Antenna Switch; SPE amplifier (MacExpert) and SO2R Box are next. Notarized release pipeline, macOS 14+. Original concept and reference implementation by Vinod VU3ESV — upstream at VU3ESV/AmateurRadioSuite.state + heartbeat events over /ws, /healthz endpoint, all writes serialised through one lock so poll queries and client commands never interleave on the wire.host_processor_info CPU sensor, in-bundle settings/log/wav directories, dark theme, app icon, font defaults. Patches sit on a _MACOS_-conditional macos-port branch on top of upstream main, so Linux and Windows builds remain untouched and new LZ2HV releases merge cleanly.gpsd + chrony stack turns the Mac itself into a stratum-2 NTP server for the rest of the shack; a small privileged helper daemon lets the app talk to chrony without sudo each time.Contents/MacOS/. Slimmed from ~1.3 GB to 253 MB by stripping unused Qt frameworks, qml, translations, metatypes, and lipo-thinning every Mach-O binary to arm64. Logs to ~/Library/Logs/NanoVNASaver/nanovnasaver.log for easy support.vu2cpl.tunnel.ubersdr.org. UberSDR by M9PSY (madpsy), built on Phil Karn KA9Q's ka9q-radio engine; the receive antenna is Chavdar Levkov LZ1AQ's active loop design.For sked requests, email via QRZ or WhatsApp. For QSL, use LOTW or Clublog OQRS — no bureau. 73 de VU2CPL.