- Raspberry Pi zero, zero 2 , 3,4, Pi 400, and Pi 5.
- Ubuntu 22.04 X86_64 with a CH341-SX1262 DIY dongle.[^1]
- Debian GNU/Linux trixie/sid riscv64 on Cvitek CV180X ASIC, C906 (Milk-V Duo), on the SPI bus.
[^1]: **Limited Functionality with CH341-SX1262 Device:** Please be aware that the CH341-SX1262 device is currently experiencing partial functionality issues. For reasons yet to be determined, this device struggles with sending packets larger than a few bytes.
- Tested radios include Waveshare SX126X, Adafruit RFM9x, and Elecrow Lora RFM95 IOT.
- Support for I2C displays, SPI displays, and keyboard input has been confirmed. It is necessary to be aware of potential pin conflicts when stacking hats.
- UART HATs and SX1302/SX1303 chip-based HATs are not supported.
### System Requirements
- The Meshtastic binary, `meshtasticd`, necessitates root access or a user with permissions to access GPIO, SPI, and other interfaces.
- A Linux distribution compatible with the Meshtastic installation package, which is compiled for Debian Bookworm and not compatible with Bullseye.
## Installation
### Installing Meshtasticd
- Necessary system libraries should be installed before building or installing Meshtastic.
- The .deb Package is available as part of the release, installing the binary, a systemd service, and a config file. It is compiled for Debian Bookworm and incompatible with Bullseye.
```shell
sudo apt install ./meshtasticd_{version}arm64.deb
```
## Configuration
### Hardware Interfaces
For devices requiring SPI or I2C:
- SPI support can be enabled in `/boot/config.txt` or `/boot/firmware/config.txt`:
```plaintext
dtparam=spi=on
dtoverlay=spi0-0cs
```
- I2C support is enabled with:
```plaintext
dtparam=i2c_arm=on
```
### Meshtasticd Configuration
- The meshtasticd configuration is at `/etc/meshtasticd/config.yaml` by default. If a `config.yaml` is found in the current directory, that takes precedence. And a config file specified with the `-c/--config` option has the highest precedence.
To enable a LoRa radio connected to your device, uncomment the appropriate lines in the config file, including the Module line. As an example, the Waveshare SX126X module would have a Lora section that looks like this: