Never used Linux? Never touched a Raspberry Pi? Don't know what SSH, SPI, UART or YAML mean? Good. This guide assumes you know none of it and walks you from a box of parts to a working Meshtastic node.

The MeshAdv Mini project specifically warns that the LoRa antenna must be connected before the board is powered. Powering the LoRa module without an antenna can damage it.
Before plugging power into the Raspberry Pi, stop and verify the LoRa antenna is attached.
The Raspberry Pi is the little computer. The MeshAdv Mini is the radio HAT attached to it. The Pi runs meshtasticd, which is the Linux-native version of Meshtastic. You do not need to understand Linux internals to complete this guide.
PUT THESE THINGS ON THE TABLE.
THE BOARD, WITHOUT THE ALPHABET SOUP.

Board images are from the MeshAdv Mini project repository. Component placement can change between revisions; the upstream project documentation is the source of truth.
GIVE THE PI AN OPERATING SYSTEM.
Raspberry Pi OS is basically the Pi's equivalent of Windows or macOS. Use the official Raspberry Pi Imager to write a current Raspberry Pi OS image to your microSD card.
During Raspberry Pi Imager setup
meshadv.SSH is just a way to control the Raspberry Pi from another computer over your network. You type commands remotely instead of plugging a keyboard and screen into the Pi.
PI OFF. HAT ON. ANTENNA ON. THEN POWER.
- Shut the Raspberry Pi completely down and unplug it.
- Carefully line up the MeshAdv Mini with the Raspberry Pi's 40-pin GPIO header.
- Press the HAT straight down. Do not shift it over by one row of pins.
- Connect the LoRa antenna.
- Look at it again and verify the antenna is actually connected.
- Only now connect power to the Raspberry Pi.
THIS IS THE ONLY “LINUX-LOOKING” PART.
meshadv.local.USE THE CONFIGURATION TOOL INSTEAD OF HAND-EDITING EVERYTHING.
The MeshAdv developer provides a configuration tool that supports the MeshAdv Mini and automatically chooses a graphical interface on a Raspberry Pi desktop or a text interface when you connect over SSH.
Copy this entire command, paste it into the terminal, and press Enter:
curl -fsSL https://raw.githubusercontent.com/chrismyers2000/Meshtasticd-Configuration-Tool/refs/heads/main/install.sh | bashA lot of text will scroll by. That does not mean something is broken.
Start the tool
python3 ~/meshadv-config/meshadv-config.pyIf you're on the Pi desktop, you should get the GUI. If you're using SSH/headless mode, you should get the terminal interface. Both expose the same setup functions.
CLICK THESE IN THIS ORDER.
A. Install meshtasticd
Choose Install / Remove meshtasticd, then install it. For a first setup, use the Stable release channel unless you have a specific reason to test Beta, Alpha or Daily.
B. Enable SPI
Choose Enable SPI. SPI is how the Pi talks to the LoRa radio. You don't need to learn it; it simply needs to be on.
C. Enable I²C
Choose Enable I2C. This enables the bus used by additional hardware on the HAT.
D. Enable GPS / UART
Choose Enable GPS / UART. The tool knows that the Mini needs different GPS serial handling on Pi 5/500 than on earlier Pi models and writes the appropriate settings for you.
E. Set the HAT configuration
Choose Set Hat Config. The recommended Mini configuration is:
lora-MeshAdv-Mini-900M22S.yamlThe tool marks the recommended file with a star and can download a fresh Mini YAML from the Frequency Labs GitHub if it is missing.
That's expected after hardware settings change. Reboot before trying to diagnose anything.
sudo rebootOPEN THE TOOL AGAIN.
Your SSH window will disconnect during a reboot. Reconnect to the Raspberry Pi, then run:
python3 ~/meshadv-config/meshadv-config.pyLook at the status indicators. SPI, I²C and the selected HAT configuration should now reflect the settings you enabled.
DO NOT SKIP THE REGION.
Meshtastic needs the correct LoRa region before normal radio use. In the configuration tool, install the Meshtastic Python CLI if the action requires it, then choose Set Region.
Select the U.S. region setting. If this node is physically being operated somewhere else, choose the legal region for that location instead. Do not copy someone else's setting blindly.
Next choose Enable on Boot so meshtasticd starts whenever the Pi restarts.
Then choose Start Service.
CHECK STATUS AND SEND A TEST MESSAGE.
Open Service Status. You want meshtasticd to show as running/active without a repeating fatal error.
Then use the configuration tool's Send Test Message action.
That is the whole first milestone. Do not start adding MQTT, dashboards, sensors, PPS timing and ten other services until basic radio operation is proven.
BEGINNER TROUBLESHOOTING.
Do not start changing random GPIO numbers or pasting old YouTube commands. Check the boring stuff first.
The LoRa radio isn't working
meshtasticd is running.I see “No config files found” or the Mini YAML is missing
meshtasticd is actually installed. Return to Set Hat Config; the configuration tool includes a download option for the Mini configuration file.meshtasticd will not start
GPS isn't getting a position
The guide looks different from what I see on screen
I found an old tutorial telling me to edit config.yaml manually
THE FIVE EASY WAYS TO CREATE YOUR OWN PROBLEM.
THEN YOU CAN GET FANCY.
Project documentation
Hardware revisions and software screens can change. Use the original project documentation alongside this walkthrough.