I’m beautiful and tough like a diamond…or beef jerky in a ball gown.

  • 3 Posts
  • 38 Comments
Joined 7 months ago
cake
Cake day: July 15th, 2025

help-circle
  • It’s theoretically possible but probably not practical.

    There is a maximum hop count of 7 which means there can be, at absolute maximum, seven nodes between the sender and recipient. The default, though, is 3 hops.

    While the radios may, in theory, be able to work at the range of “a few states over” as the crow flies, terrain, structures, and line of sight would likely prohibit them from working in practice at such distances. You’d also need a reliable series of hops to reach from you to them. Again, at those distances, you’d very likely exceed the maximum hop count pretty quickly.

    From what I’ve seen, large meshes are generally regional.

    There’s a way to join meshes over the internet via MQTT but I haven’t messed with setting that up and in some cases it can potentially overwhelm a local mesh.


  • My knowledge is incomplete as to what powers and restrictions you get with an amateur license, but I think the only real reason you’d want to use HAM mode in the US is if you wanted to operate on US 433 or maybe the 868 MHz block. Not sure if HAMs have access to the latter one or not, though. The 915 block is pretty permissive here for unlicensed use, so that’s usually sufficient.

    Also, if a node is operating in HAM mode, it may not be able to mesh with other nodes not in HAM mode due to encryption being disabled. I could be wrong about that as I haven’t read into that specifically, but to my knowledge it tracks.


  • AFAIK, you only need to use it in HAM mode if you want to use licensed frequencies, a higher power transmit (assuming the radio supports it; US 915 can transmit up to 1W/30db and many radios only transmit at 22db max), or to go beyond the airtime limitations (no limitations on US 915). HAM mode also disables encryption if I recall. Also AFAIK, you’re not required to use HAM mode just because you are a licensed HAM operator.

    Sources: Have read the docs but am not a licensed HAM.







  • What firmware version are you on?

    I had to switch to the alpha version 2.7.16 because that kept happening on my Heltecs. I never got that message, though. It would just randomly disconnect and not reconnect again until I hit the reset button on the node and force-quit and restarted the app.

    Prior to that, the only thing that changed or was updated was the app. My node was still running the 2.5.0 firmware from last March.


  • You sound like a good candidate for a router role, but just to be safe, I would generally avoid “router” unless coordinating with or organizing a coordinated community mesh. That would allow for the best placement without potentially adversely affecting the wider mesh. Client role will repeat just the same but without “overriding” other, potentially better positioned nodes.

    The top of the mountain location, which would provide coverage for both sides, would be the ideal placement for a node in “router” role without consuming a hop to “jump” to the other side.







  • If you’re provisioning several or just like to have a good baseline for setting up future nodes, I like to use the Python client and make a provisioning script. I feel like it’s way uglier than it should be, but I’ve found that even though the docs say you can specify multiple config options in one call, they don’t all apply. So I have to do them in stages and wait for it to reboot between executing each config.

    This is my baseline provisioning script for reference. I like to have a private default channel but then also set the radio frequency manually to the “default” LongFast of 906.875 MHz and create the LongFast channel as a secondary so I can communicate with people using the default config (which is very common). This also lets me relay for them (and vice versa) while not sharing my location and such with the public mesh.

    #!/bin/bash
    # Optionally set the device name and short name.  If not provided, the user info step is skipped
    DEVICE_NAME=$1
    DEVICE_SHORT_NAME=$2
    
    # Admin key is optional but I set it on all of my managed nodes. If not using that, comment out the line further down where this is referenced
    ADMIN_KEY="{PUBLIC_KEY_OF_ADMIN_NODE}"
    
    # Use a private default channel.  
    PRIMARY_CHANNEL_KEY="{BASE64_PRIVATE_KEY_FOR_PRIMARY_CHANNEL}"
    PRIMARY_CHANNEL_NAME="{PRIMARY_CHANNEL_NAME}"
    
    
    function wait_for_reboot {
      echo "Press <ENTER> once device has rebooted"
      read a
    }
    
    echo "Setting LoRa Region..."
    meshtastic --set lora.region US
    wait_for_reboot
    
    # If device name and short name are supplied, set those
    if [ -n "$DEVICE_NAME" ] && [ -n $DEVICE_SHORT_NAME ]
    then
      echo "Setting Device Name..."
      meshtastic \
        --set-owner "$DEVICE_NAME" \
        --set-owner-short "$DEVICE_SHORT_NAME"
      wait_for_reboot
    fi
    
    # Set most options
    meshtastic --set display.screen_on_secs 120 \
      --set display.units IMPERIAL \
      --set device.led_heartbeat_disabled false \
      --set telemetry.device_telemetry_enabled true \
      --set lora.use_preset true \
      --set lora.modem_preset LONG_FAST \
      --set security.admin_key base64:$ADMIN_KEY \
      --set lora.override_frequency 906.875 
    
    wait_for_reboot
    
    meshtastic --set-canned-message "Affirmative|Negative|Unknown|Acknowledged|Require Assistance|Check-In Good|Check-In Bad|Status?"
    wait_for_reboot
    
    
    meshtastic \
      --ch-index 0 --ch-set psk base64:$PRIMARY_CHANNEL_KEY --ch-set name "$PRIMARY_CHANNEL_NAME" \
      --ch-index 1 --ch-set psk base64:AQ== --ch-set name "LongFast"
    wait_for_reboot
    
    meshtastic --set-time