I am thinking about putting ChirpStack v4 LNS on an embedded device and would be great if someone is able to give insights of archivable performances of such setup.
My first idea is to use a ARM32 Cortex A7 1GHz single-core, 512 MB RAM, enabling SQLite and JS codecs.
If someone have experience of such processing power, which would be the maximum uplink throughput and the maximum number of end-devices it can handle?
If needed to know, I have 500 end-devices worst count, and a not that clear worst link throughput (maybe 5 min typ per device, maybe shorter if strangely configured, leading to ~500 ms to ~350 ms overall uplink interval). If I can foreseen supported throughput I may foreseen an avg per-device required min interval.
(aside: if my hardware is insanely poor, may a 2x 64 bit A55 1.7 GHz, 512MB+ RAM do the job?)
Thanks for your insights.
Hi Aloiseau,
Out of curiosity
- Why all ChirpStack v4 LNS component should be on an one embedded device? Can components be moved to the cloud for load balancing?
Running the full ChirpStack LoRaWAN Network Server stack on an ARM32 Cortex A7 1GHz single-core with 512 MB RAM may be technically possible — but it’s definitely pushing the limits?
ChirpStack Gateway OS is designed to be lightweight and flexible, and it supports a variety of LoRa gateway hardware.
It runs on several Raspberry Pi models and compatible shields:
- Raspberry Pi Zero W
- Raspberry Pi 1, 3, 4, and 5
- Compatible concentrator boards like RAK2245, RAK2287, IMST iC880A, and Semtech SX1302 kits
If you’re also running the ChirpStack LoRaWAN Network Server on the same device:
For larger deployments or more intensive workloads, you’ll want to scale up CPU, RAM, and storage accordingly?
Hi LuneCode,
Thanks for your reply and the valuable provided link! It gave me an idea about how I may simulate my 500 devices ahead of time 
Curiosity: The LNS would be embedded because the idea is an offline/autonomous receiver.
ChirpStack Gateway OS + RPi4 or RPI3 is definitely close to my idea (a little bit more powerful) but I failed to find performances feedbacks for such setup.
About the scale, I may better restrict every sensors uplink interval for my hardware to handle them all, if at all possible (ex: restrict to 10 minutes per-sensor uplink interval if my hardware can’t handle an uplink in less than one second, or 5 minutes if my hardware can process an uplink in 500 ms), increasing RAM if 500 MiB is not enough.
Given this thought, I am therefore trying to foreseen/estimate both ChirpStack per-uplink process duration and overall required RAM for LNS with 500 devices.