Build Guideintermediate
Armachat CircuitPython Firmware
Official CircuitPython firmware for the Armachat by Bobricius, featuring LoRa messaging with Meshtastic-compatible radio profiles, AES256 encryption, and on-the-fly frequency tuning on Raspberry Pi Pico.
Boards:RP2040
Firmware:CircuitPythonMeshtastic
Use Cases:Mesh NetworkingPortable Device
Overview
The official CircuitPython-based firmware for the Armachat family of LoRa communicators, written by the original Armachat creator Bobricius (Peter Misenko). This firmware targets the Raspberry Pi Pico (RP2040) variant of the Armachat and provides a complete off-grid messaging system over LoRa radio.
Key Features
- LoRa Messaging: Send and receive text messages with headers and persistent memory storage
- Meshtastic Compatibility: LoRa radio profiles are matched to Meshtastic's profiles for interoperability
- AES256 Encryption: Built-in message encryption for secure off-grid communication
- Dynamic Radio Control: Adjust frequency and transmit power on-the-fly without reflashing
- Signal Metrics: View SNR and RSSI for received messages
- System Monitoring: CPU temperature and power supply voltage readouts
- Persistent Configuration: Settings saved to config.txt between reboots
- Safe Boot Mode: Progress bar selection interface for entering safe mode
Software Architecture
Three main modules handle the core functionality:
boot.py— Keyboard input via Adafruit MatrixKeypad and boot configurationcode.py— Main application loop with radio initialization and message handlingconfig.py— Persistent configuration management
Hardware Support
- Armachat with Raspberry Pi Pico (RP2040)
- PICOmputer hardware variant
- RFM95 LoRa radio module
Getting Started
- Flash CircuitPython to your Raspberry Pi Pico
- Copy the firmware files to the CIRCUITPY drive
- Hold ALT during boot to toggle writable file system mode
- Configure radio settings via the on-device menu
