Nebra Miner (DietPi + meshtasticd)

Why repurpose a Nebra?

  • Great enclosure & RF path: sturdy case, antenna feedthrough, easy to mount. Many miners are cheap on the used market.
  • Linux-native reliability: running Meshtastic on a Pi with meshtasticd is rock-solid for infrastructure nodes (MQTT uplink, remote admin, logging).
  • 1 W class radio option: with the community NebraHat (SX1262) from @wehooper4, you get a clean SPI radio layout and a drop-in hardware preset.

What to buy

Minimum parts

  • Nebra Outdoor Hotspot enclosure from Ebay. Don’t spend more than $50. The nebra comes with:
    • Raspberry Pi CM3
    • 32 GB Emmc
    • Built-in POE
    • Wifi Card & Antenna
    • 915Mhz Antenna
    • Waterproof Aluminum Enclosure
  • NebraHat (SX1262, 1 W) by @wehooper4 (community board). You have to build this yourself or buy from a group buy.
    • Right now @bashNinja has about 10 left from a previous group buy.

Nice-to-have

⚠️ Heads-up on other HATs
The pinout on the nebra is different than the standard Raspberry Pi pinout. This makes most hats incompatible unless you fix the pinout.


Quick start (DietPi + meshtasticd)

We’ll use DietPi (Debian 12 base / Debian 13 base) and the official Meshtastic Debian repo for meshtasticd.

  1. Flash DietPi
    Grab the DietPi image and flash it to your microSD. First boot, set your basics (hostname, SSH, etc.).

  2. Enable hardware interfaces

    • dietpi-configEnable SPI and I2C. Reboot.
  3. Install dependencies & meshtasticd

    *** Debain 12 - Bookworm ***

    sudo apt update
    sudo apt install -y libgpiod-dev libyaml-cpp-dev libbluetooth-dev openssl libssl-dev libulfius-dev liborcania-dev
    curl -fsSL https://download.opensuse.org/repositories/network:Meshtastic:beta/Debian_12/Release.key \
      | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/network_Meshtastic_beta.gpg
    echo 'deb http://download.opensuse.org/repositories/network:/Meshtastic:/beta/Debian_12/ /' \
      | sudo tee /etc/apt/sources.list.d/network:Meshtastic:beta.list
    sudo apt update && sudo apt install -y meshtasticd
    

    *** Debian 13 - Trixie ***

    sudo apt update
    sudo apt install -y libgpiod-dev libyaml-cpp-dev libbluetooth-dev openssl libssl-dev libulfius-dev liborcania-dev
    curl -fsSL https://download.opensuse.org/repositories/network:Meshtastic:beta/Debian_13/Release.key \
      | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/network_Meshtastic_beta.gpg
    echo 'deb http://download.opensuse.org/repositories/network:/Meshtastic:/beta/Debian_13/ /' \
      | sudo tee /etc/apt/sources.list.d/network:Meshtastic:beta.list
    sudo apt update && sudo apt install -y meshtasticd
    
  4. Add the NebraHat radio preset
    *** 1W NebraHat ***

    cd /etc/meshtasticd/config.d/
    sudo wget https://raw.githubusercontent.com/wehooper4/Meshtastic-Hardware/refs/heads/main/NebraHat/NebraHat_1W.yaml
    

    *** 2W NebraHat ***

    cd /etc/meshtasticd/config.d/
    sudo wget https://raw.githubusercontent.com/wehooper4/Meshtastic-Hardware/refs/heads/main/NebraHat/NebraHat_2W.yaml
    

    Preset sets SX1262 pins for the NebraHat:

    Module: sx1262
    DIO2_AS_RF_SWITCH: true
    DIO3_TCXO_VOLTAGE: true
    # CS: 8           # (uncomment if needed)
    IRQ: 22
    Busy: 4
    Reset: 18
    RXen: 25
    
  5. Edit core config

    sudo nano /etc/meshtasticd/config.yaml
    

    Suggested minimum edits:

    General:
      MACAddressSource: eth0   # or wlan0, or use a fixed MACAddress
    
    WebServer:
      Port: 9443
    
  6. First boot of the service

    sudo systemctl enable meshtasticd
    sudo systemctl start meshtasticd
    sudo journalctl -u meshtasticd -f
    
  7. Optional: Python & CLI tools

    sudo apt install -y python3-pip
    pip3 install --upgrade pytap2 "meshtastic[cli]"
    

    Verify:

    meshtastic --host 127.0.0.1 --info
    
  8. Use the Web UI

    • Visit https://<pi-ip>:9443/ (accept the self-signed cert).
    • Set Region = US, Short/Long Name, and your Primary Channel (LongFast).

Role & channel recommendations (local norms)

  • Most users: These are usually static and outside so choose: CLIENT.
  • Infra: Always add an RF filter on infrastructure nodes; always talk with the rest of the Freq51 community before setting a ROUTER.
  • Primary: LongFast; Secondary: Freq51 (request details).

Fitting it in the Nebra enclosure

  1. Remove the old lora module.
  2. Remove the USB board on the 40-pin header; seat the NebraHat on the 40-pin header.
  3. Route the short SMA pigtail from the hat to the enclosure’s bulkhead connector.
  4. Add a small bandpass filter inline for infrastructure builds.

Troubleshooting

  • Radio not detected / -707 init errors
    • Confirm SPI enabled; check /dev/spidev0.*.
    • Verify the preset pinout (IRQ/Busy/Reset/RXen/CS).
  • Duplicate MAC complaints
    • Set MACAddressSource: eth0 (or pick a fixed MACAddress:).
  • Web UI issues
    • Ensure WebServer.Port is set.

Verifying on the mesh

  • From another node, send a direct message to your Pi node.
  • In the CLI: meshtastic --host 127.0.0.1 --info and meshtastic --host 127.0.0.1 --nodedb to see neighbors.
  • On maps/MQTT (if you opt in), confirm you appear and avoid turning on downlink.

Appendix: NebraHat preset (reference)

# Nebra SX1262 Pi Hat - 1W
Module: sx1262
DIO2_AS_RF_SWITCH: true
DIO3_TCXO_VOLTAGE: true
# CS: 8
IRQ: 22
Busy: 4
Reset: 18
RXen: 25