RAK Wireless builds one of the most flexible LoRaWAN ecosystems available today. The WisBlock modular platform lets you combine sensor cores, communication modules, and base boards to create a custom IoT node in minutes. Their RAK7258, RAK7289, and RAK7268 gateways are widely deployed in buildings, campuses, and industrial sites.
TagoIO provides the application layer: device management, data storage, dashboards, alerting, and a full REST API. Together, RAK hardware and TagoIO cover the full stack from sensor to decision, but connecting them requires a few deliberate steps on both sides.
This guide walks through the integration end to end, from LoRaWAN network server configuration to your first live dashboard.
What you need before you start
- A TagoIO account (free plan available)
- A RAK gateway (RAK7258, RAK7289, RAK7268C, or similar)
- One or more WisBlock sensor nodes or RAK LoRaWAN end devices
- A LoRaWAN Network Server: The Things Network (TTN) or a self-hosted ChirpStack instance
How the integration works
RAK gateways forward LoRaWAN packets to a Network Server (NS). The NS decodes the device addressing and hands off the payload to an application layer, in this case, TagoIO.
There are two main paths:
Path 1: RAK Gateway → The Things Network → TagoIO This is the most common setup. TTN handles the LoRaWAN MAC layer, and TagoIO’s native TTN integration receives uplinks via webhook.
Path 2: RAK Gateway → ChirpStack → TagoIO HTTPS webhook For private deployments or on-premise installations, RAK gateways running ChirpStack (built-in on RAK7258 AEP firmware) can forward decoded payloads to TagoIO via HTTP POST.
Both paths produce the same result in TagoIO. Choose based on your network infrastructure preference.
Path 1: RAK + The Things Network + TagoIO
Step 1: Register your gateway on TTN
- Log in to console.cloud.thethings.network.
- Navigate to Gateways and click Register gateway.
- Enter your gateway EUI (found on the RAK gateway label or admin UI).
- Select the frequency plan matching your region (EU868, US915, AU915, etc.).
- Save and verify your gateway shows as Connected.
Step 2: Register your end device on TTN
- In your TTN application, click Register end device.
- Choose your WisBlock module from the device repository (e.g., RAK4631 with the appropriate sensor profile), or enter credentials manually.
- Copy the generated AppEUI, DevEUI, and AppKey, you will program these into your WisBlock node via the RAK Serial Port Tool or AT commands.
Step 3: Create a device in TagoIO
- Log in to admin.tago.io.
- Click Devices in the left sidebar, then Add Device.
- Search for The Things Network v3 in the connector list and select it.
- Give the device a name that matches your TTN end device.
- TagoIO will generate a webhook URL and an Authorization Token. Copy both.
Full device setup documentation: docs.tago.io/docs/tagoio/devices
Step 4: Add the TagoIO webhook in TTN
- In your TTN application, go to Integrations → Webhooks.
- Click Add webhook and choose Custom webhook.
- Set the Base URL to the TagoIO webhook URL from Step 3.
- Set the Authorization header to the token from Step 3.
- Enable Uplink message under the message types.
- Save the webhook.
TTN will now forward every LoRaWAN uplink from your registered devices to TagoIO in real time.
Step 5: Write a Payload Parser for your WisBlock sensor
WisBlock sensors send binary payloads. The format depends on which sensor module you attached. TagoIO expects decoded variables in its standard data format:
[
{"variable": "temperature", "value": 22.5, "unit": "C"},
{"variable": "humidity", "value": 58.0, "unit": "%"}
]
To transform the raw TTN payload into this format, add a Payload Parser to your TagoIO device:
- Open the device in TagoIO.
- Go to the Payload Parser tab.
- Write a JavaScript function that reads
payload.uplink_message.decoded_payload(TTN sends this if you configure a formatter in TTN) or decode the raw bytes frompayload.uplink_message.frm_payload.
Example parser for a WisBlock environment sensor (RAK1906 / BME680):
const decoded = payload.uplink_message.decoded_payload;
if (!decoded) {
payload = [];
return;
}
payload = [
{ variable: "temperature", value: decoded.temperature, unit: "C" },
{ variable: "humidity", value: decoded.humidity, unit: "%" },
{ variable: "pressure", value: decoded.pressure, unit: "hPa" },
{ variable: "gas_resistance", value: decoded.gas, unit: "Ohm" }
];
Payload Parser documentation: docs.tago.io/docs/tagoio/devices/payload-parser
Step 6: Verify in the Live Inspector
Open the Live Inspector tab on your device page. It shows every incoming request in real time. Trigger an uplink from your WisBlock node and confirm the decoded variables appear before building your dashboard.
Live Inspector docs: docs.tago.io/docs/tagoio/devices/live-inspector
Path 2: RAK Gateway + ChirpStack + TagoIO
The RAK7258 and RAK7289 ship with a built-in ChirpStack LNS in their AEP firmware. This is useful for private LoRaWAN networks with no dependency on TTN.
Step 1: Configure ChirpStack on the RAK gateway
- Log in to the RAK gateway web UI (default
192.168.230.1). - Go to LoRa Network and ensure ChirpStack is selected as the network server.
- In the ChirpStack application server, create an Application and register your end devices.
Step 2: Add an HTTP Integration in ChirpStack
-
In ChirpStack, open your Application and click Integrations.
-
Add an HTTP Integration.
-
Set the Uplink URL to the TagoIO HTTPS endpoint:
https://api.tago.io/data -
Add the HTTP header:
Device-Token: YOUR_TAGOIO_DEVICE_TOKEN
Get the device token from your TagoIO device’s General tab.
Token documentation: docs.tago.io/docs/tagoio/devices/device-token
Step 3: Parse ChirpStack payload in TagoIO
ChirpStack sends a JSON object with an object field containing decoded data (if you configured a codec) or data as base64. Write a Payload Parser in TagoIO accordingly.
// For ChirpStack with codec configured
const obj = payload.object;
payload = [
{ variable: "temperature", value: obj.temperature, unit: "C" },
{ variable: "humidity", value: obj.humidity, unit: "%" }
];
Step 7: Build your dashboard
Once data is flowing, create a dashboard in TagoIO from Dashboards → +.
For a multi-sensor WisBlock deployment, a useful starting layout:
- Map widget showing all device locations (if GPS module is attached)
- Time-series charts for temperature and humidity per device
- Card widgets displaying the latest reading for each variable
- Status indicators showing battery level and last-seen time
For deployments managing many RAK nodes across multiple sites, use a Blueprint Dashboard. One layout applies to all devices automatically via tags.
Dashboard documentation: docs.tago.io/docs/tagoio/dashboards
Step 8: Set up alerts
Use Actions to trigger notifications when sensor readings go out of range. Useful for RAK deployments:
- Temperature above threshold → email/SMS to on-call team
- Humidity drops below 20% in a controlled environment → trigger ventilation logic
- No data received in 1 hour → offline alert
Actions documentation: docs.tago.io/docs/tagoio/actions
Use case examples
Smart agriculture
WisBlock nodes with soil moisture (RAK12035), temperature, and humidity sensors deployed across a field. The RAK7289 outdoor gateway covers multi-hectare areas. TagoIO stores readings and triggers irrigation control signals when soil moisture drops below the target range.
Use Blueprint Dashboards to give each field zone its own view without duplicating configurations.
Industrial environmental monitoring
WisBlock nodes with gas (RAK12004, RAK12009) and particulate sensors installed in manufacturing areas. Readings stream to TagoIO continuously. An Analysis script calculates rolling averages and writes computed values back to the device bucket. Alerts trigger when concentration thresholds are crossed.
Analysis documentation: docs.tago.io/docs/tagoio/analysis
Cold chain and perishable goods
WisBlock nodes in refrigerated trucks or storage rooms. GPS module (RAK1910) added for location tracking. TagoIO receives temperature, humidity, and GPS data. A map widget shows vehicle positions; an alert fires if temperature drifts above the safe band during transit.
Taking it further with AI
TagoIO’s MCP server connects AI assistants like Claude directly to your sensor data. Once your RAK devices are streaming to TagoIO, you can ask natural language questions: “Which zone had the highest humidity last week?” or “Show me all devices that went offline in the last 24 hours.”
Details: docs.tago.io/docs/tagoio/getting-started/tagoio-mcp-ai-powered-iot-data-integration
Summary
Connecting RAK Wireless devices to TagoIO takes three components: a LoRaWAN network server (TTN or ChirpStack), a TagoIO device with the correct payload parser, and a webhook integration between the two. RAK handles the hardware and radio layer; TagoIO handles everything from raw data to dashboards and alerts.
Start with one gateway and one WisBlock node. Validate the data in the Live Inspector, write the payload parser, then build the dashboard from there.
- TagoIO Devices: docs.tago.io/docs/tagoio/devices
- Payload Parser: docs.tago.io/docs/tagoio/devices/payload-parser
- Dashboard Templates: docs.tago.io/docs/tagoio/dashboards
- Actions: docs.tago.io/docs/tagoio/actions
- TagoIO MCP: docs.tago.io/docs/tagoio/getting-started/tagoio-mcp-ai-powered-iot-data-integration


