Guide for repurposing a Syncrobit Chameleon LoRa miner as a Meshpoint.
The Chameleon uses a Compute Module 4 (eMMC) and an onboard SX1302
concentrator. Meshpoint replaces the factory OS; the same install.sh and
meshpoint setup flow applies after you flash 64-bit OS to eMMC.
Validated (May 2026): aarch64 Raspbian 13 (Trixie) Lite, Meshpoint v0.7.4+, live Meshtastic RX/TX. Compare with RAK V2 and SenseCap M1 in Hardware Matrix.
For the standard Pi 4 + microSD path, see the Onboarding Guide.
| Item | Purpose |
|---|---|
| Waveshare CM4-IO-BASE-B (or similar CM4 carrier) | USB access to eMMC for flashing (only for initial setup) |
| Linux host (NUC, laptop, etc.) | Runs rpiboot and writes the OS image |
| Micro-USB or USB-C data cable | Host to carrier (data, not charge-only) |
| Chameleon (CM4 + SX1302 board) | Final deployment hardware |
| LoRa antenna | Connect before applying power to the concentrator |
- On the Linux host, install build tools and clone Raspberry Pi
usbboot:
sudo apt install -y git libusb-1.0-0-dev build-essential pkg-config
cd ~ && git clone --depth=1 https://github.com/raspberrypi/usbboot.git
cd usbboot && make-
On the Waveshare carrier: set the BOOT jumper to ON (USB boot), seat the CM4, connect USB from the host to the carrier, and apply 5 V power.
-
On the host, start mass-storage mode (leave this running):
cd ~/usbboot && sudo ./rpiboot -d msd -v- In a second terminal, confirm the eMMC block device (often
/dev/sdb):
lsblk -o NAME,SIZE,MODEL,TRAN- Download Raspberry Pi OS Lite (64-bit) or Raspbian Lite 64-bit for
CM4 from Raspberry Pi OS downloads.
Flash to the eMMC (replace
/dev/sdXwith your device):
xzcat ~/raspios-*-arm64-lite.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync-
Configure first boot (SSH + WiFi) using Raspberry Pi Imager's advanced options on a separate SD workflow, or mount the boot partition after
ddand add cloud-inituser-dataplus an emptysshfile on the boot partition. Use a strong password. -
Stop
rpiboot(Ctrl+C), remove USB, set BOOT jumper OFF (eMMC boot), and boot the CM4 on the carrier. Find the device on your network via DHCP andssh pi@<device-ip>.
You can verify SPI and networking on the Waveshare board before moving the CM4 to the Chameleon:
sudo apt update && sudo apt install -y git
sudo git clone https://github.com/KMX415/meshpoint.git /opt/meshpoint
sudo bash /opt/meshpoint/scripts/install.sh
sudo rebootAfter reboot: sudo meshpoint setup, then open http://<device-ip>:8080.
Continue with Onboarding > Step 7 for API key and wizard steps if you have not run setup yet.
sudo poweroffon the CM4 and wait for shutdown.- Move the CM4 module from the Waveshare carrier into the Chameleon SODIMM socket.
- Connect the LoRa antenna to the concentrator SMA port.
- Power via PoE or Ethernet + injector (per your hardware).
Wait about 60 seconds, SSH in at the same or new DHCP address, and confirm the service:
sudo systemctl status meshpoint
grep sw_reg1 /opt/sx1302_hal/libloragw/src/loragw_sx1302.cNon-empty sw_reg1 output means the Meshtastic HAL patch is present. If
install.sh was already run on the carrier, you do not need to re-run it
unless you changed OS or HAL paths.
/opt/meshpointand git:sudo git cloneinto/opt/meshpointkeeps a git checkout forsudo git pullupdates. Cloning elsewhere and runninginstall.shonly rsyncs files:/opt/meshpointhas no.git. Use Settings > Updates on the dashboard (v0.7.3+) or re-clone to/opt/meshpointand runinstall.shagain.- Dashboard port:
http://<device-ip>:8080(not port 5000). - SPI latch: Same guidance as RAK2287: use
sudo poweroffbefore unplugging PoE or power. See Hardware Matrix. - Vendor firmware: Reflashing erases the original Chameleon image. Back up eMMC first if you need to restore vendor software.
- PoE: Ensure your injector or switch supplies enough current for CM4 + concentrator (plan for up to ~2-3 A at 5 V equivalent).
| Symptom | Things to try |
|---|---|
eMMC not visible during rpiboot |
Data-capable USB cable; BOOT jumper ON; power-cycle carrier with USB connected |
| No network after flash | Check cloud-init or netplan; cloud-init status --long; verify WiFi credentials |
install.sh fails |
uname -m must be aarch64; need ~1 GB free on eMMC; check internet for apt/pip |
| No packets on dashboard | Antenna connected; region matches local mesh; nodes in range |
lgw_start() failed after hard power cut |
sudo poweroff, unplug 10+ seconds, power on (SPI latch) |
See also Common Errors and Troubleshooting.