{"id":20398882,"url":"https://github.com/n1kdo/bandselector","last_synced_at":"2026-05-18T11:05:39.573Z","repository":{"id":260341091,"uuid":"857832988","full_name":"n1kdo/BandSelector","owner":"n1kdo","description":"IOT BandSelector (also known as a Band Decoder) works with Antenna Switch Controller to perform automated antenna selection on band change","archived":false,"fork":false,"pushed_at":"2026-01-01T22:39:40.000Z","size":12837,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-02T03:08:05.564Z","etag":null,"topics":["amateur-radio","amateurradio","elecraft","ham-radio","hamradio","k3","k4","kicad","kicad-project","micropython","micropython-rpi-pico","pico-w"],"latest_commit_sha":null,"homepage":"https://www.n1kdo.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n1kdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-09-15T18:13:29.000Z","updated_at":"2026-01-01T22:39:44.000Z","dependencies_parsed_at":"2025-01-11T21:30:32.070Z","dependency_job_id":"1e830b3d-5487-4aaf-9e9c-9f865bdd174e","html_url":"https://github.com/n1kdo/BandSelector","commit_stats":null,"previous_names":["n1kdo/bandselector"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/n1kdo/BandSelector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1kdo%2FBandSelector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1kdo%2FBandSelector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1kdo%2FBandSelector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1kdo%2FBandSelector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n1kdo","download_url":"https://codeload.github.com/n1kdo/BandSelector/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1kdo%2FBandSelector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33175864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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","elecraft","ham-radio","hamradio","k3","k4","kicad","kicad-project","micropython","micropython-rpi-pico","pico-w"],"created_at":"2024-11-15T04:24:52.498Z","updated_at":"2026-05-18T11:05:39.564Z","avatar_url":"https://github.com/n1kdo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# N1KDO IOT Band Selector for Elecraft K3 \u0026 K4 \n\nThis project is intended to operate a remote antenna switch.\n\nHow is it different from commercial-off-the-shelf solutions?\n* Direct interface with Elecraft 15-Pin accessory interface. It reads\n  BCD band data using the Elecraft Y-cable or a device like a Y-box.\n  * provides transmit inhibit and power-on sense/control.\n  * it's not designed for other radios.  Tested on Elecraft only. It _should_ \n    work with other radios that use similar BCD active low band signaling. \n* Wireless! It runs over Wi-Fi, connect the band selector to \n  the 15-pin accessory connector, and supply DC to the coaxial\n  power jack. \n* Automatic TX Inhibit prevents TX into wrong/no antenna.\n* Automatic power-up of K3 and K4 radios using accessory connector pin.  The\n  band selector can be configured to automatically power up a attached K3 or K4 \n  10 seconds after the Band Selector powers up.\n* Smart antenna selection based on band.  If you have more than one antenna\n  for a given band, the logic selects the antenna that matches the fewest\n  other bands, which is hopefully the best fit.  If that antenna is in use by\n  the other radio, then it selects the next-best match.  When more than one\n  antenna is available for the given band, the front panel Next/Prev buttons\n  let you select other antennas that support the selected band.\n* Inexpensive (relatively) compared to existing commercial solutions. \n  About 77 USD for each band selector, if you build one or two yourself.\n  (Circuit boards come in threes from Oshpark.)  The \n  [Antenna Switch Controller](https://github.com/n1kdo/AntennaSwitchControl) \n  costs about 106 USD; the most expensive part is the \n  [DXE-RR2X8B 2x8 remote controlled switch](https://www.dxengineering.com/parts/DXE-RR2X8B),\n  which is not inexpensive at 669 USD.\n* Open Source Hardware and Software.  Do what you will with attribution.\n\n![Band Selector](images/band-selector.jpg \"Band Selector\") Band Selector\n\n![With K4](images/with-k4.jpg \"Interfaced with K4\") Interfaced with K4\n\n# How it works\n\nEach of two Elecraft K3 or K4 radios is connected to a Band Selector, which\nis also provided DC power.  That is all the wiring that is needed at the radio.\n\nThe Band Selectors both communicate with a\n[Antenna Switch Controller](https://github.com/n1kdo/AntennaSwitchControl), \nwhich provides control voltage steering to a antenna switch.  \n\nThe project is in two pieces:\n\n  * The [Antenna Switch Controller](https://github.com/n1kdo/AntennaSwitchControl) provides a IOT endpoint for managing a 2x6 or 2x8\n    antenna switch: https://github.com/n1kdo/AntennaSwitchControl\n  * The Band Selector interfaces with a K3 or K4 radio, and provides the following functions:\n    * Decodes selected bands from Elecraft radio AUX jack.\n    * Requests antenna from the controller.\n    * If the requested band antenna cannot be selected, activate the radios' TX INHIBIT\n      logic to prevent transmit.\n    * The Band Selector includes a 2nd circuit board for the display.\n  \nThis repository contains the hardware and software for The Band Selector: \n  * `kicad` folder contains the electronic design.\n  * `src` folder contains the software.\n  * [Bill of Materials](BOM.md \"Bill of Materials\")\n\n# Ecosystem\n\n![Band Selector Ecosystem](images/Antenna-Switching.png \"Antenna Switching Ecosystem\") Antenna Switching Ecosystem\n\n## Setup\n\n  * Connect the BandSelector to the K3/K4 using the 15-pin \"y\" cable supplied by\n    Elecraft.  Band select data and power status will be communicated to the \n    BandSelector.\n  * Connect the BandSelector to 10-15 volts DC via the rear panel power jack \n    which accepts a 2.00mm ID, 5.50mm OD coaxial power plug, center positive.\n\n### Setup TX Inhibit\n\nIf the band selector cannot grant access to an appropriate antenna for the\nband selected on the radio, it can \"inhibit\" transmit on the radio, which\nis useful for protecting the transmitter and amplifier from damage due to \nantenna mismatch.\n\nWhen the BandSelector inhibits transmit, the red LED on the lower left\nof the front panel will light.\n\nThe radios must be configured to accept the inhibit input from the \nBand Selector.  Instructions for K3 and K4 are below.  The electrical\ninterface from the Band Selector is an \"open drain\" from a 2N7000 MOSFET.\n\n  * On a K3, locate the \"TX INH\" option in the \"CONFIG\" menu.  \n    Set this option to \"LO=Inh\".  \n    When transmit is inhibited, the \"TX\" indicator (right side of\n    display, between the A and B VFO labels) will blink.\n  * on a K4, locate the \"TX Inhibit Mode\" option in \"MENU\".  \n    Set this option to \"LO=Inhibit\".  \n    When transmit is inhibited, the TX label (top center of display)\n    will display \"TX Inh\".\n\n# User Interface\n\nIn addition to the front panel controls (4 buttons and a 2x20 LCD display), the \nBand Selector has a web UI for configuration and management.\n\n## Band Selector Status Page\n![Status Page](images/band-selector-status.png \"Band Selector Status Page\")  \n\n## Band Selector Networking Page\n![Network Setup Page](images/band-selector-networking.png \"Band Selector Networking Page\")  \n\n## Band Selector Configuration Page\n![Status Page](images/band-selector-configuration.png \"Band Selector Configuration Page\")  \n\n# License\n\nThe software is licensed under [BSD \"2-Clause\" license](Software-License.md), \n_except as where noted._\n\nThe hardware is licensed under terms of the \n[Creative Commons Attribution-ShareAlike 4.0 \nInternational Public License.](Hardware-License.md)\n\n\n20251124 n1kdo","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn1kdo%2Fbandselector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn1kdo%2Fbandselector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn1kdo%2Fbandselector/lists"}