{ "hardware": { "waveshare": { "name": "Waveshare LoRa HAT", "bus_id": 0, "cs_id": 0, "cs_pin": 21, "reset_pin": 18, "busy_pin": 20, "irq_pin": 16, "txen_pin": 13, "rxen_pin": 12, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "preamble_length": 32, "is_waveshare": true }, "uconsole_aiov1": { "name": "uConsole LoRa Module aio v1", "bus_id": 1, "cs_id": 0, "cs_pin": -1, "reset_pin": 25, "busy_pin": 24, "irq_pin": 26, "txen_pin": -1, "rxen_pin": -1, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "preamble_length": 32 }, "uconsole_aio_v2": { "name": "uConsole LoRa Module aio v2", "bus_id": 1, "cs_id": 0, "cs_pin": -1, "reset_pin": 25, "busy_pin": 24, "irq_pin": 26, "txen_pin": -1, "rxen_pin": -1, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "preamble_length": 32, "use_dio3_tcxo": true, "use_dio2_rf": true }, "pimesh-1w-v1": { "name": "PiMesh-1W (V1)", "bus_id": 0, "cs_id": 0, "cs_pin": 21, "reset_pin": 18, "busy_pin": 20, "irq_pin": 16, "txen_pin": 13, "rxen_pin": 12, "txled_pin": -1, "rxled_pin": -1, "tx_power": 18, "use_dio3_tcxo": true, "preamble_length": 32 }, "pimesh-1w-v2": { "name": "PiMesh-1W (V2)", "bus_id": 0, "cs_id": 0, "cs_pin": -1, "reset_pin": 18, "busy_pin": 5, "irq_pin": 6, "txen_pin": -1, "rxen_pin": -1, "txled_pin": -1, "rxled_pin": -1, "en_pin": 26, "tx_power": 18, "use_dio3_tcxo": true, "use_dio2_rf": true, "preamble_length": 32 }, "meshadv-mini": { "name": "MeshAdv Mini", "bus_id": 0, "cs_id": 0, "cs_pin": 8, "reset_pin": 24, "busy_pin": 20, "irq_pin": 16, "txen_pin": -1, "rxen_pin": 12, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "preamble_length": 32 }, "meshadv": { "name": "MeshAdv", "bus_id": 0, "cs_id": 0, "cs_pin": 21, "reset_pin": 18, "busy_pin": 20, "irq_pin": 16, "txen_pin": 13, "rxen_pin": 12, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "use_dio3_tcxo": true, "preamble_length": 32 }, "zebra": { "name": "ZebraHat-1W", "bus_id": 0, "cs_id": 0, "cs_pin": 24, "reset_pin": 17, "busy_pin": 27, "irq_pin": 22, "txen_pin": -1, "rxen_pin": -1, "txled_pin": -1, "rxled_pin": -1, "tx_power": 18, "use_dio3_tcxo": true, "use_dio2_rf": true, "preamble_length": 32 }, "femtofox-1W-SX": { "name": "FemtoFox SX1262 (1W)", "bus_id": 0, "cs_id": 0, "cs_pin": 16, "gpio_chip": 1, "use_gpiod_backend": true, "reset_pin": 25, "busy_pin": 22, "irq_pin": 23, "txen_pin": -1, "rxen_pin": 24, "txled_pin": -1, "rxled_pin": -1, "tx_power": 30, "use_dio3_tcxo": true, "preamble_length": 32 }, "femtofox-2W-SX": { "name": "FemtoFox SX1262 (2W)", "bus_id": 0, "cs_id": 0, "cs_pin": 16, "gpio_chip": 1, "use_gpiod_backend": true, "reset_pin": 25, "busy_pin": 22, "irq_pin": 23, "txen_pin": -1, "rxen_pin": 24, "txled_pin": -1, "rxled_pin": -1, "tx_power": 8, "use_dio2_rf": true, "use_dio3_tcxo": true }, "nebrahat": { "name": "NebraHat-2W", "bus_id": 0, "cs_id": 0, "cs_pin": 8, "reset_pin": 18, "busy_pin": 4, "irq_pin": 22, "txen_pin": -1, "rxen_pin": 25, "txled_pin": -1, "rxled_pin": -1, "tx_power": 8, "use_dio3_tcxo": true, "use_dio2_rf": true, "preamble_length": 32 }, "nebra-duo-hat": { "name": "NebraDuo-E22P-1W", "bus_id": 0, "cs_id": 0, "cs_pin": -1, "reset_pin": 22, "busy_pin": 23, "irq_pin": 24, "txen_pin": -1, "rxen_pin": 1, "txled_pin": -1, "rxled_pin": -1, "tx_power": 18, "use_dio3_tcxo": true, "use_dio2_rf": true, "preamble_length": 32 }, "ch341-usb-sx1262": { "name": "CH341 USB-SPI + SX1262 (example)", "description": "SX1262 via CH341 USB-to-SPI adapter. NOTE: pin numbers are CH341 GPIO 0-7, not BCM.", "connection_type": "usb", "radio_type": "sx1262_ch341", "vid": 6790, "pid": 21778, "bus_id": 0, "cs_id": 0, "cs_pin": 0, "reset_pin": 2, "busy_pin": 4, "irq_pin": 6, "txen_pin": -1, "rxen_pin": 1, "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "use_dio2_rf": true, "use_dio3_tcxo": true, "dio3_tcxo_voltage": 1.8, "preamble_length": 32, "is_waveshare": false }, "ultrapeater-e22": { "name": "Zindello Industries UltraPeater E22", "bus_id": 0, "cs_id": 0, "cs_pin": 16, "reset_pin": 22, "busy_pin": 11, "irq_pin": 10, "txen_pin": 20, "rxen_pin": 21, "txled_pin": 8, "rxled_pin": 1, "tx_power": 22, "use_dio2_rf": false, "use_dio3_tcxo": true, "preamble_length": 32, "use_gpiod_backend": true, "gpio_chip": 1 }, "ultrapeater-e22p": { "name": "Zindello Industries UltraPeater E22P", "bus_id": 0, "cs_id": 0, "cs_pin": 16, "reset_pin": 22, "busy_pin": 11, "irq_pin": 10, "txen_pin": 20, "rxen_pin": -1, "en_pin": 21, "txled_pin": 8, "rxled_pin": 1, "tx_power": 22, "use_dio2_rf": false, "use_dio3_tcxo": true, "preamble_length": 32, "use_gpiod_backend": true, "gpio_chip": 1 }, "rak6421-13300x-slot1": { "name": "Rak Wireless RAK6421 with RAK1330x on IO Slot 1", "bus_id": 0, "cs_id": 0, "cs_pin": -1, "reset_pin": 16, "busy_pin": 24, "irq_pin": 22, "txen_pin": -1, "rxen_pin": -1, "en_pins": [12, 13], "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "use_dio2_rf": true, "use_dio3_tcxo": true, "dio3_tcxo_voltage": 1.8, "preamble_length": 32, "use_gpiod_backend": true, "gpio_chip": 1 }, "rak6421-13300x-slot2": { "name": "Rak Wireless RAK6421 with RAK1330x on IO Slot 2", "bus_id": 0, "cs_id": 1, "cs_pin": -1, "reset_pin": 24, "busy_pin": 19, "irq_pin": 18, "txen_pin": -1, "rxen_pin": -1, "en_pins": [26, 23], "txled_pin": -1, "rxled_pin": -1, "tx_power": 22, "use_dio2_rf": true, "use_dio3_tcxo": true, "dio3_tcxo_voltage": 1.8, "preamble_length": 32, "use_gpiod_backend": true, "gpio_chip": 1 }, "ultrapeaterzero-e22": { "name": "Zindello Industries UltraPeaterZero E22", "bus_id": 0, "cs_id": 0, "cs_pin": 24, "reset_pin": 25, "busy_pin": 5, "irq_pin": 12, "txen_pin": 27, "rxen_pin": 17, "en_pins": [16], "txled_pin": 21, "rxled_pin": 20, "tx_power": 22, "use_dio2_rf": false, "use_dio3_tcxo": true, "preamble_length": 32 }, "ultrapeaterzero-e22p": { "name": "Zindello Industries UltraPeaterZero E22P", "bus_id": 0, "cs_id": 0, "cs_pin": 24, "reset_pin": 25, "busy_pin": 5, "irq_pin": 12, "txen_pin": 27, "rxen_pin": -1, "en_pins": [17, 16], "txled_pin": 21, "rxled_pin": 20, "tx_power": 22, "use_dio2_rf": false, "use_dio3_tcxo": true, "preamble_length": 32 }, "pymc_usb": { "name": "pymc_usb modem (USB-CDC)", "description": "ESP32-S3 / nRF52 board running pymc_usb firmware as a USB-CDC LoRa modem. Pick this if the modem is plugged into the host's USB port (e.g. /dev/ttyACM0). Edit the 'pymc_usb' section after first-run to point at the right serial device.", "connection_type": "usb", "radio_type": "pymc_usb", "tx_power": 22, "preamble_length": 32 }, "pymc_tcp": { "name": "pymc_tcp modem (Wi-Fi / Ethernet)", "description": "ESP32 board running pymc_usb firmware exposed as a TCP server over Wi-Fi or Ethernet. After first-run, set 'pymc_tcp.host' to the modem's LAN address or mDNS name (e.g. pymc-3e2834.local).", "connection_type": "network", "radio_type": "pymc_tcp", "tx_power": 22, "preamble_length": 32 }, "kiss": { "name": "KISS modem (serial)", "description": "MeshCore KISS modem over serial - requires pyMC_core with KISS support.", "connection_type": "usb", "radio_type": "kiss", "tx_power": 14, "preamble_length": 32 } } }