LoRaWAN device-profile repository. https://www.chirpstack.io/
  • JavaScript 61.5%
  • Rust 24.8%
  • TypeScript 13%
  • Makefile 0.2%
  • CSS 0.2%
  • Other 0.1%
Find a file
Rhys Laval ab2db17404
dragino: add t68dl dragino device (#39)
* dragino: add T68DL temperature sensor

Adds the Dragino T68DL LoRaWAN temperature sensor (built-in TMP117)
with device profile references for AS923/AU915/EU868/US915, the
vendor decoder (fPort 2 real-time data, fPort 3 datalog, fPort 5
device status) and decode tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W2WeDXnUvJNM9fsie4ri2G

* dragino: add source links to T68DL codec

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W2WeDXnUvJNM9fsie4ri2G

* dragino: fix mac_version in EU868 and AU915 Class C profiles

The profile filenames and the other six Dragino profiles declare
LoRaWAN 1.0.3, and all Dragino devices in this repository implement
LoRaWAN 1.0.3, but these two profiles declared mac_version 1.0.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W2WeDXnUvJNM9fsie4ri2G

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-15 09:11:47 +01:00
.github/workflows ui: add app. layer parameters config 2026-07-30 11:57:46 +01:00
interface chore: update dependencies 2026-08-24 11:15:15 +01:00
vendors dragino: add t68dl dragino device (#39) 2026-09-15 09:11:47 +01:00
.gitignore interface: Update JS code + update dependencies. 2026-02-26 14:55:32 +00:00
Dockerfile chore: update Docker base-image 2026-07-30 12:00:43 +01:00
LICENSE Update README + LICENSE. 2025-12-09 11:13:28 +00:00
Makefile Add Milesight AM102 + AM102L devices + add --target flag to docker pull. (#14) 2026-03-04 10:20:23 +00:00
README.md Add import command example. 2026-03-12 09:30:36 +00:00
rust-toolchain.toml ui: add app. layer parameters config 2026-07-30 11:57:46 +01:00
shell.nix chore: update dependencies 2026-08-24 11:15:15 +01:00
taplo.toml ui: Update dependencies. 2025-12-16 10:06:59 +00:00

ChirpStack device-profiles

This repository contains ChirpStack device-profiles for LoRaWAN devices grouped by vendor. A device-profile contains important information about the capabilities of the device. For example which LoRaWAN mac-version has been implemented, which regions are supported, if the device supports Class-B or Class-C, etc... The aim is to build a complete list of LoRaWAN device-profiles that then can be imported by ChirpStack or potentially any other LNS.

Importing into ChirpStack

Example command:

# Clone the chirpstack-device-profiles repository.
git clone https://github.com/chirpstack/chirpstack-device-profiles.git

# Execute the import command.
chirpstack -c /etc/chirpstack import-device-profiles -d /path/to/chirpstack-device-profiles

See also: Device profiles documentation

Adding a new device-profile

Fork and clone

  • Create a fork of this repository (if not done already).
  • Clone your local fork to your computer.

Starting the web-interface

  • Please make sure that you have Docker Compose installed.
  • In the root of this repository, execute make serve.
  • Once Starting server, bind: 0.0.0.0:8090 appears, open the web-interface in your browser by navigating to http://localhost:8090.

Add Vendor(s)

  • In the left menu, click the Add vendor button.
  • Fill in the form and click Submit.

Add profile(s)

  • Select a vendor in the left menu (if no vendor is selected).
  • Click Profiles in the left menu.
  • Click the Add profile menu entry.
  • Fill in the form and click Submit.

Add codec(s)

  • Select a vendor in the left menu (if no vendor is selected).
  • Click Codecs in the left menu.
  • Click the Add codec menu entry.
  • Fill in the form, before clicking Submit it is a good idea to click Run codec tests.

Add device(s)

  • Select a vendor in the left menu (if no vendor is selected).
  • Click Devices in the left menu.
  • Click the Add device menu entry.
  • Fill in the form and add at least one firmware version by clicking the Add firmware version button.
    • For each firmware version you can select one or multiple profiles and optionally a codec.

Create pull-request

Once you have added the vendor(s), profile(s), codec(s) and device(s) you wish to add to this repository you must commit the changes using git, push these to your fork of this repository and create a pull-request in GitHub.

Structure

Example structure for an example-vendor with an example device:

vendors/
└── example-vendor
    ├── codecs
    │   ├── example.js
    │   ├── test_decode_example.json
    │   └── test_encode_example.json
    ├── devices
    │   └── example.toml
    ├── profiles
    │   └── example-EU868.toml
    └── vendor.toml

Please take a look at the vendors/example-vendor example documented configuration files.

vendors/example-vendor

This is the root of the example vendor. It must contain a vendor.toml file. This vendor.toml.

vendors/example-vendor/codecs

This directory contains the payload codecs. Codecs can be used by one or multiple devices. E.g. some vendors have a generic payload codec.

Each codec is expected to have tests for encoding and decoding. If the codec filename is example.js, then you should create two test-files called test_decode_example.json (thus + test_decode_ prefix and .json extension) and test_encode_example.json.

vendors/example-vendor/devices

This directory contains the devices. Each device will have its own .toml configuration.

vendors/example-vendor/profiles

This directory contains the profiles. These profiles can be used by one or multiple devices. The profile also defines the region.

License

This repository is distributed under the MIT license. See also LICENSE.