Skip to main content

A Rough Guide to Chirpstack on Helium

· 13 min read
Nik
Site Owner

At the beginning of Helium's LoRaWAN, the ability to route a packet from a device through the Hotspot network to wherever you wanted it to go was a service provided either Helium Inc or eventually, the Helium Foundation. That routing happened through the Helium Console, which was a custom built LNS (LoRaWAN Network Server). An LNS is the thing that manages all the packets of data on a LoRaWAN.

Devices sense the data and transmit it, Hotspots receive the data and pass it to an LNS, the LNS routes the data to the entity who pays for it and keeps track of who sent what where and when. That's a lot of w's.

Helium Console had a few limitations. First, for a normal user you could only have 10 devices on it. It was always only ever meant to be a demonstration or "intro to Helium" tool.

Second, it was very expensive for the Helium Foundation to run. This was fine to cover in the early days, but in order for the network and market to fully mature, solutions provided by the market need to evolve. In order for those to evolve, there can't be a "free" competitor. That explains why the Helium Console is being phased out a long while from now (my guess is end of 2024) to make room for anyone to run an LNS to run their sovereign LoRaWAN applications. (Thanks to Abhay for the improvement on that statement!)

Short version? The Helium ecosystem is ready for businesses to be built.

So, as a network user, where does that leave you?

The first option is Chirpstack, and using Paul Pinault's (disk91 on Discord) technical expertise, I'm running one that you can try. The LNS is being run under the MeteoScientific name as part of my "how to run a Helium business" series.

It's free to create an account, and you get a few hundred data credits for free when you sign up so you can test drive it. After that, data credits cost $.0001 each. If you had a device that sent 3 parameters (say, temperature, humidity, and air pressure) once an hour, that would cost you [.0001 x 3 x 24 x 365] about $2.63/year.

Want to try it out? Let's get started. First, go to console.meteoscientific.com and create an account. Once you've signed up and you're in, look to the left, where you'll see the basic menu.

This is a little different than the old Helium Console, but don't panic, I'll walk ya through it. For now you should see a couple hundred credits up in the top right of your screen, that's plenty to get a device on and get started.

The first thing you'll want to do is decide what device you're going to onboard. In my case, I'll be using the MakerFabs LoRaWAN Soil Moisture Sensor, which you can buy here. I've written about how I'm using it, how to print a 3D enclosure for it, and it's predecessor all on this blog, feel free to review any of those links if you need to. It looks like this:

Pretty simple, right? Now, if you've gotten a sensor on Helium before you may be tempted to skip ahead and "just figure it out", which you can do if you know 2 things. First, Chirpstack doesn't use AppEUIs. Second, Chirpstack doesn't have a menu item for Devices; those are found in Applications. You can muddle through it from there if you'd like, or you can continue following along step by step.

Step 1: Create a "Device Profile". Chirpstack (and I) make this super easy in this case by already having a template in the MetSci (short for MeteoScientific) LNS. You can find it by going to "Device profile" in the menu and hitting the "Add Device profile" button on the top right.

When you hit that "Add device profile" button you'll see a page with a ton of choices, including the "Select device-profile template" blue button. More on that later. Most choices are self-explanatory, some of 'em are new to many of us. If you're onboarding something other than the soil moisture sensor I'm using in my example, I'd suggest leaving the defaults as they are and changing just the Name, Description, and Region to match what you've got:

If you're using the soil moisture sensor (and you're in the US915 region), I've made this wicked easy; just hit the "Select device-profile template" button, and look for "MakerFabs", then keep clicking all the obvious choices. That will load up the template for you with a US915 region. Even if you don't have this sensor, feel free to use this as a little reference point on your new Console journey!

Now, there's an important step if you're using a different device: You'll need to add in the "codec", which we used to call a "decoder". For the SMS (Soil Moisture Sensor) template, it's already loaded in. If you're using something else, make sure you look for the Codec tab and add in a decoder (usually you can find it on the interwebz and copy/paste it in. Remember to "Submit" when you're done making all your edits to the General tab and the Codec. Here's where to find the Codec tab:

Cool, so now we have a "Device profile" and we've added the codec. What's next? In Helium, we'd add a Device. In Chirpstack, we add an Application.

Head down to Applications, and (obviously?) hit the Add application button.

This'll bring up something that seems blindingly obvious and redundant: The "Name" and "Description" of the Application. We're almost there, so bear with this; it'll make more sense when we finish the next step of adding a Device. I know, I know, it's confusing. Just keep going.

Now, one way to use an Application is that you're using 2 sensors that are the same sensor but in different regions (US915 and EU868, one for me, one for my auntie in England's garden), or you might be using them for different properties and so they have different sending requirements (every hour vs once per day). They could pull from the same or different templates, depending on how you want to set them up. For one device it won't make much sense, but Helium ain't about running just one device...

Woohoo, let's add a device! Now that we have an Application, from the Applications tab in the main menu, choose the application you just made:

Then hit the blue "Add device" button.

That'll bring you to the device page. I like to fill out the description fully, with a reminder to myself of the naming convention I'm using, although that may only be on the 001 of each device. On the Device EUI you can fill in what you have or have Chirpstack generate a DevEUI for you by hitting the little circle/arrow button. For Device Profile, choose the (only) option

Once you've filled all that in, hit Submit at the bottom, which will take you to the "Application key" tab up in OTAA keys on the Application menu. You can use the same circle/arrow button to generate an App Key (if you're going to load that onto your device), or you can type in the AppKey if one came with the sensor.

There is no APPEUI in Chirpstack! This can be a bit jarring to you, and in some cases you'll have to enter in all zeros for your AppEUI if you're programming your device (which is what I do for this device in Platformio).

Whew, we've done all the Chirpstack work we need to do! If your device came with pre-programmed keys you'll use, you should add batteries and it *should* fire right up. You'll see that in Applications / [your application] / Devices / [your device].

In that case I didn't have any batteries in it, I just used the Upload and Monitor and power from the USB on Platformio. Looks like it's reporting correctly!

Very cool, right? Feel free to try it out, and let us know if you find any bugs; this is still pretty new, so we haven't worked out all the kinks yet. If you want a head start on this rad new world we're heading into with Helium, this is your chance. Rock on!

Archived Comments

Mark Roberts - 10/13/2023

Thanks for this. Trying out MeteoScientific now. You should put a link to this blog on the meteoscientific.com page to help direct people to get started. I have a question... If I want to migrate a device that is currently running on console.helium.com do I delete it and create new DevEUI, etc. or can I just use the DevEUI that Helium provided? Do I leave the device there? -mark.


Mark Roberts - 10/13/2023

Update... I went ahead and reprogrammed my first device with the devEui and appKey generated by Chirpstack, using 0 for the appEui and the device is sending data through helium to meteoscientific now. My next step is to get the data to my MQTT broker, since part of the reason I want to migrate right away is that the MQTT Integration in Helium seems to be very unreliable, throwing an ill-documented, undefined 'failed to publish' error on some but not all devices after running for a while. The problem is that when I go to the integrations tab of my application I see a "Get Certificate" button under MQTT, not a simple + sign. When I click Get Certificate and then Generate Certificate there is an error dialogue: "Error: Read mqtt ca_cert". So I'm stuck. My broker doesn't use SSL, I don't need this feature, just simple authorization with user and password... so how do I get past this? Thanks, -mark.


Nik - 10/14/2023

Hi Mark, thanks for trying it out! If you want to migrate from the Helium Console to MetSci I've got a video on how to do that, here.


Nik - 10/14/2023

Hi Mark, as of 14OCT2023 we don't have a direct MQTT integration, but there is a workaround, using an HTTP-->MQTT. You can find those directions here.


mdroberts1243 - 10/14/2023

Thanks Nik. For now I'm trying to follow the directions you linked. Currently I only see the packets from Helium Console hitting my MQTT broker though. I'll email you a screen shot of the integration settings since I don't think I can post a picture here. Is there a way to debug integrations in Chirpstack? I don't see any events associated with the integration.


chioz - 10/19/2023

Hello there, Got myself some dragino lht65n and want to utilize them for business idea. Seem like it was harder than i thought to get it online on chirpstack and hopefully then on to datacake. Could there be a guide how to onboard them please? I have gotten a heltec cubecell ab02s with your guide that seem to register fine on chirpstack (cannot seem to figure out how to get it onwards to datacake thought) But when trying the Dragino it is registered as "never seen". The Dragino also lights up its red diodes to show it is not connected. The guide from Dragino is also lacking a simple guide for helium usecase.


Nik - 10/19/2023

Hi Chioz, check out the MetSci YouTube channel for help. I'm not sure about why the Dragino isn't being seen, although I've also noted it can take a few tries to get things working.


Chioz - 10/25/2023

Thanks for getting back on this. Tried following the steps in your youtube channel. Same thing happening. Cannot connect to Chirpstack. Tried adding them to console.helium - super easy. So tried to migration video but cannot follow the steps as it is not the same. On "Setup API" Tab, I get "Refused to Connect" when choosing "Vip Console", however "Foundation Console" works so i get to the next step. I then choose "Temp" label defined in the helium console, The "Select Intergration" has no alternative but "none", and the same is true for "Select Function" (No wonder when i just added them to helium console without anything more) The next tab (Setup Chirpstack) has my company name as "Select tenant" - pressing this only gives the message " Invalid chripstack authentication, try to logout / login" Have tried a few refreshes and log out and in on this. I guess i must be doing something wrong here to then :/ Cant we just continue to have the helium console please? (I know, I know ...., it is being cut of eventually...)


fagermo - 11/12/2023

dont know where to ask for help on this, but cant seem to get password recovery working or to make a new account...


Chioz - 11/13/2023

Finally got things set up for the Chirpstack way :D Thanks for the guides and making this. By the way, needed the app_eui to be the correct number for it to register a dragino sensor. May be needing to correct that in the youtube video :D Thanks again


Arm - 11/19/2023

Hello, could someone help me add a Dragino LT-22222 device? I have the keys, DEV EUI, APP EUI and APP KEY. Which of these should I use because it is not clear to me.


Nik - 11/20/2023

Hey Arm, cruise over to the MetSci YouTube videos, they should walk you through the process: https://www.youtube.com/@meteoscientific/videos