Help testing ChirpStack v4 (test releases)!

After months of working on this, I’m excited to share with you the first test-releases of ChirpStack v4. The biggest feature is the merge of ChirpStack Application Server and ChirpStack Network Server component into a single component and support for multi-region without the need to setup a new instance for each region. This makes it a lot easier to setup ChirpStack. More background information can be found here: Changes coming to ChirpStack.

For people who want to help with testing, I’ve prepared various test-releases :slight_smile:


This is the easiest way to test ChirpStack v4 :slight_smile:

Please see the v4 branch of the ChirpStack Docker repository:

A docker-compose up should bring everything up, after which you can open the web-interface on port 8080 (e.g. http://localhost:8080) and login with the username / password: admin / admin.

Raspberry Pi / ChirpStack Gateway OS

Please use the 4.0.0-test.X Raspberry Pi images from Index of /downloads/chirpstack-gateway-os/raspberrypi/.

At this moment these are:

Debian / Ubuntu

You can use the following Debian repository:

sudo apt-key adv --keyserver --recv-keys 1CE2AFD36DBCCA00

sudo echo "deb testing main" | sudo tee /etc/apt/sources.list.d/chirpstack_4.list
sudo apt update

After installation, please see the configuration file in /etc/chirpstack/chirpstack.toml. You must create a new PostgreSQL database and install the pg_trgm extension. To start / stop / restart ChirpStack, use:

systemctl start chirpstack
systemctl stop chirpstack
systemctl restart chirpstack

Please note that you can use ChirpStack v4 in combination with the ChirpStack Gateway Bridge v3. However, you must enable the protobuf marshaler in the chirpstack-gateway-bridge.toml configuration. As well, you must configure the topic prefix with the region of your gateway. For example:


  # MQTT integration configuration.
  # Event topic template.
  event_topic_template="eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"

  # State topic template.
  # States are sent by the gateway as retained MQTT messages (by default)
  # so that the last message will be stored by the MQTT broker. When set to
  # a blank string, this feature will be disabled. This feature is only
  # supported when using the generic authentication type.
  state_topic_template="eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}"

  # Command topic template.
  command_topic_template="eu868/gateway/{{ .GatewayID }}/command/#"


(Configuration - ChirpStack open-source LoRaWAN<sup>®</sup> Network Server).

Please see chirpstack/chirpstack/configuration at master · chirpstack/chirpstack · GitHub for all the included regions. Also make sure that the region that you are planning to use is enabled here: chirpstack/chirpstack.toml at master · chirpstack/chirpstack · GitHub.

I will follow up with a documentation link + draft changelog soon.


Setting up an separate Debian VPS now for testing V4 :muscle:

1 Like

This is great news. Gonna test it out soonest

I would to test out V4!

However, I do need slightly more detailed instructions. what do I do with this file? chirpstack-gateway-os-full-raspberrypi3-20220425082218.rootfs.wic.gzI tried using Balena Etcher to burn it to an SD card, but that’s not working.

Please help. Step by step instructions would be best, but an outline of major steps would also be helpful.



In general, you can follow these instructions: Introduction - ChirpStack open-source LoRaWAN<sup>®</sup> Network Server.

1 Like

Yes, that got me a little ways. Now how to add a device in V4?

The gateway appears to be working. I get “last seen” time stamps every 30 secs. I do not get GPS data yet.

When I attempt to join a heltec lora node, the gateway reads the join attempt. I want to use OTAA. I can’t seem to find where to configure the EUI’s.

Please help.



1 Like

These would be the steps (quite similar to v3):

  • Create device-profile
  • Create application
  • Under that application, create your device

Application ID the same as APPKEY?

Chirpstack is not recognizing the join request from the device.

Still lost.


No. The application ID is generated by ChirpStack when you create a new application. The AppKey is provided by the device manufacturer.

@brocaar This is awesome! Is there an upgrade path to a v3 deployment or is a fresh install recommended?

Yes, please see GitHub - chirpstack/chirpstack-v3-to-v4: Utility to migate ChirpStack v3 data into ChirpStack v4. :slight_smile:


Any estimation about the final release?

1 Like

I have a problem with http integrations but I am not sure if this is the correct way it should work.

I have setup an http endpoint and I am receiving posts from chirpstack 4 server but I can’t find the correct payload anywhere.

The data field contains some characters that seems to be base 64 encoded (not sure)
ex data: ‘AAAB/Q==’, data: ‘AAAB/QAAAAAAAAAA’

From WebUI on device events I can see the correct data (000001fd, 000001fd0000000000000000)

I’m currently working on V4.0.0-test2
Even after setting up my concentrator shield, I get the message
"chirpstack-concentratord failed to start (exit status 1)" - configuration file does not exist
I got back to the main menu (sudo gateway-config) and found out that the Concentratord config files are empty. Is this a known bug? Where should I create the config files manually?
(My hardware is RAK2246 - AU915 - channels 0-7)

Hey @orne I appreciate you are super busy, however, in terms of some forward planning, do you have sort of vague idea regarding the release date for v4?

I am battling with a number of devices a customer has thrown at me, and before I start writing all the custom codecs, I was wondering if it would simply be better to wait for v4?

I also have a Tier 1 Telco, stuck on a very outdated version, and this version release will hopefully get them to agree to do the upgrade…

I promise… I wont, hold you to any dates offered, I just need a rough idea, like 1 month away, 3 Months away, 6 months away… etc… Many thanks

PS… I really love the step change in the UI and cant wait to start throwing some more devices at it!

Thanks again for all your tireless work…

1 Like

Yes, I accidentally broke something in the gateway-config script (see Fix setting SUFFIX. · brocaar/chirpstack-gateway-os@19492d6 · GitHub). I will create a new GW OS test-build soon.

1 Like

I’m aiming for ~ 1 month :slight_smile: There are still some loose ends, but the major features are mostly implemented and I don’t expect to make any major changes to the API. Some features could be added after the first v4 release as well.

1 Like

@brocaar thanks for answering my first question. I managed to create the config files manually but now I’m stuck in another bug. My gateway uses pin 26 as GPIO7, I uncommented the proper line in the boot config file (/boot/config.txt) and it worked at first. Then, after some time (especially when I had to change my WiFi settings or had turn my RPi off for a while) it looked like the RPi ignored the pin configuration and the Concentratord stopped working (it restarts continously).
I double-checked my config file and made sure the line was uncommented, but it seems to have no effect anymore. Last time it happened, I had to flash my SD card again and redo all the gateway setup. Is there a “default boot settings” file that can be read instead of the one we edit normally?

I don’t think this is related to ChirpStack v4, lets not mix up different topics :slight_smile:

@orne you legend… thanks!