Overview
In this article:
Overview
Blynk is an IoT platform that allows users to build web and mobile dashboards, manage devices, visualise data, and create user-facing IoT applications.
Blynk provides a Myriota integration that can receive uplink data from Myriota satellite-connected devices, decode the payload, and display the data on Blynk dashboards without requiring a custom backend.
The following Myriota device types can be integrated when a suitable decoder and Blynk template are configured:
- UltraLite Developer Kit
- FlexSense
- HyperPulse Developer Kit
- HyperPulse AssetHawk
- Custom Myriota devices using a supported uplink payload format
At this time, the Blynk Myriota integration supports uplink messages only. Downlink or device-control messages from Blynk to Myriota devices are not currently supported.
Register Your Account
Before starting the integration, create or log in to your Blynk account using the Blynk Console.
Once logged in, make sure you have access to Developer Mode, as this is required to configure templates, datastreams, dashboards, and integrations.
Configuration
Create the Myriota Integration in Blynk
To begin the setup, open the Blynk Console and navigate to:
Developer Zone > Integrations > Myriota
From the Myriota integration page, copy the HTTP Destination URL provided by Blynk. This URL will be used later in Myriota Device Manager to forward uplink messages from Myriota Cloud to Blynk.
Note: If the HTTP Destination URL is changed or regenerated in Blynk, remember to update the corresponding destination in Myriota Device Manager.
Create a Destination in Myriota Device Manager
-
Open Myriota Device Manager and navigate to the Destinations page.
-
Create a new HTTP destination using the URL copied from Blynk.
Recommended configuration:FieldValueNameBlynkTypeHTTPURLPaste the HTTP Destination URL copied from Blynk
Click Save to save the destination.
Assign the Destination to Your Device
After creating the destination, open the device you want to connect to Blynk in Myriota Device Manager.
Assign the newly created Blynk destination to the device. This allows future uplink messages from the device to be forwarded to Blynk.
For UltraLite and FlexSense devices, the device identifier is typically the Module ID. For HyperPulse devices, use the same identifier shown or used in Myriota Device Manager for that device.
Create a Device Template in Blynk
In Myriota Integration page of the Blynk Console, click "+Add" to create a new template for your Myriota device.
The template should include datastreams that match the values returned by your decoder function. For example, if your decoder returns the following fields:
Sequence NumberTimeLocationTemperatureBattery Voltage
Then your Blynk template should include matching datastreams with the same names and suitable data types.
Example decoder:
| Datastream Name | Suggested Type | Notes |
|---|---|---|
| Sequence Number | uint8 | Message sequence counter |
| Time | uint32 | Timestamp from payload |
| Location | int32, int32 | GPS location |
| Temperature | int16 | Temperature value |
| Battery Voltage | int16 | Battery voltage in mV |
You can then add widgets to your web or mobile dashboard and link them to these datastreams.
Add a JavaScript Uplink Decoder
Blynk uses a JavaScript decoder function to parse raw Myriota uplink payloads.
The decoder must return an object with keys matching the Blynk datastream names in your template.
Example decoder for FlexSense Tracker application:
function decode(bytes) {
const sequenceNumber = bytes.readUint8();
const time = bytes.readUint32LE();
const latitude = bytes.readInt32LE() * 1e-07;
const longitude = bytes.readInt32LE() * 1e-07;
const temperature = bytes.readInt16LE() * 0.01;
const battery = bytes.readUint16LE() * 0.001;
const date = new Date(time * 1000);
const dateStr = date.toUTCString();
return {
'Sequence Number': sequenceNumber,
'Time': dateStr,
'Location': [longitude, latitude],
'Temperature': temperature,
'Battery': battery
};
}Important: This decoder is only an example. Your decoder must match the actual binary payload format used by your device firmware.
The Blynk decoder supports byte-reading methods such as:
readUint8()
readInt8()
readUint16LE()
readInt16LE()
readUint32LE()
readInt32LE()
readFloat32LE()Offset-based byte access is also available if required.
Connect the Template to the Myriota Integration
Return to:
Developer Zone > Integrations > Myriota
Click Add Template, then select the Blynk template you created for your Myriota device.
Paste your uplink decoder function into the decoder editor and click Save.
This tells Blynk how to decode incoming Myriota payloads and which template should be used to display the decoded data.
Create a Device in Blynk
Once the integration and template are configured, create a Blynk device:
- Go to Devices in Blynk Console.
- Click New Device.
-
Select From Template.
- Choose the same template used in the Myriota integration.
-
Click Create.
After the device is created, open the device information/settings panel and enter the Myriota device identifier in the Terminal ID field.
The Terminal ID links incoming Myriota payloads to the correct device instance in Blynk.
For example:
| Myriota Device Type | Identifier to Use |
|---|---|
| UltraLite Developer Kit | Module ID |
| FlexSense | Module ID |
| HyperPulse DK | Device ID used in Device Manager |
| HyperPulse AssetHawk | Device ID used in Device Manager |
Create Dashboard
After the Blynk device has been created, open the template dashboard or device dashboard and add widgets for the datastreams configured earlier.
Example dashboard widgets:
| Widget | Datastream |
|---|---|
| Label / Value Display | Sequence Number |
| Label / Value Display | Time |
| Map | Location |
| Gauge / Chart | Temperature |
| Gauge / Chart | Voltage |
Once real uplink data is received and successfully decoded, the dashboard values will update automatically.
Test Destination
The Test Destination feature in Myriota Device Manager can be used to verify the integration without waiting for a real satellite transmission.
To test the setup:
- Open the relevant device in Myriota Device Manager.
- Confirm that the Blynk destination is assigned to the device.
- Use Test Destination.
- Enter a sample payload that matches your Blynk decoder.
-
Send the test message.
-
Check the Blynk device dashboard for updated values.
Example payload for the sample decoder above:
006fdda769d28b2feb0a059e52c409ccccccccccThis example payload is intended only for the example decoder shown in this article. If your device uses a different firmware application or payload format, use a matching decoder and test payload.
Troubleshooting
No data appears in Blynk
Check the following:
- The Blynk HTTP Destination URL was copied correctly.
- The destination was created successfully in Myriota Device Manager.
- The destination has been assigned to the correct Myriota device.
- The Blynk device Terminal ID matches the Myriota device identifier.
- The decoder output keys exactly match the Blynk datastream names.
- The incoming payload format matches the decoder logic.
Decoder errors
If Blynk receives the message but cannot decode it, open the Myriota integration page in Blynk Console and check the Error Logs.
Common causes include:
- Incorrect byte order
- Wrong payload length
- Datastream names not matching decoder output
- Decoder script not matching the firmware message format
- Using a decoder written for a different Myriota device or application
Dashboard exists but values do not update
Confirm that:
- The device was created from the same template used in the Myriota integration.
- Dashboard widgets are linked to the correct datastreams.
- The Terminal ID has been entered correctly.
- A valid uplink or test message has been received.
