DMT01
Table of Contents:
- 1. Introduction
- 2. Use DMT01
- 3. Configure DMT01
- 4. Firmware update
- 5. FAQ
- 6. Order Info
- 7. Packing Info
- 8. Support
1. Introduction
1.1 What is DMT01 Wireless Meat Thermometer
The DMT01 is a professional-grade wireless meat thermometer engineered for accurate, real-time temperature monitoring in commercial cooking environments. Ideal for restaurants, central kitchens, catering services, and food processing facilities, the DMT01 ensures consistent results across various cooking methods—including grilling, smoking, roasting, deep-frying, sous vide, baking, and more. Its precise monitoring helps improve cooking efficiency, ensure food safety, and meet HACCP compliance standards.
The system consists of two components:
- Food-grade BLE High-Temperature Probe – A durable, high-heat resistant probe that measures internal food temperature during cooking.
- Charging Base with BLE & LoRaWAN Forwarder – This base not only charges the probe but also acts as a communication bridge. It receives temperature data from the BLE probe and transmits it via the LoRaWAN long-range wireless protocol to your IoT platform or monitoring system.
With its dual wireless support (BLE for close-range/small design and LoRaWAN for long-range data transmission), the DMT01 is ideal for both home cooking enthusiasts and commercial kitchen environments seeking smart, connected temperature monitoring.
1.2 Features
- Wireless Meat Thermometer – Designed for accurate and reliable cooking temperature monitoring
- Food-Grade Probe – Safe for food contact and dishwasher-compatible for easy cleaning
- BLE 5.1 Broadcasting – Supports real-time local data transmission via Bluetooth Low Energy
- LoRaWAN Connectivity – Enables long-range, low-power data transmission to IoT platforms
- Smart Uplink Triggering – Supports periodic data reporting and real-time alerts on temperature thresholds
1.3 Specification
Common DC Characteristics:
- Supply Voltage: +5v via USB Type-C
- Operating Temperature:
Food Probe Spec:
- Length: 126mm
- Diameter: 6mm
- Food temperature: -30 ~110 °C, Accuracy: ±0.5°C
- Ambient temperature: 0 ~380°C, Accuracy: ±5°C
- Wireless: BLE 5.1
- Distance: ≥ 30m
- Battery: 4mAh
- Recharge time: < 2 hours
- Battery Duration: >30 hours
- IP Rate: IP67, Dish Washer proof
Charger Spec:
- BLE v5.1 + LoRaWAN
- Power Input: USB Type-C, +5v
- Battery: Li-ion , 3000mAh
- Recharge time: < 2 hours
1.4 Applications
- Commercial Kitchen
- Restaurant
- Catering
- Food Processing
- Central Kitchen
- Cloud Kitchen
- HACCP Monitoring
- Food Safety
- Meat Factory
- Industrial Cooking
1.5 Product Apperance
1.6 Working mode
Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
1.7 LED Status
The DMT01 uses a dual-color LED to indicate system status:
LED Behavior | Description |
Green breathing effect | Probe is inserted and charging (LED turns off immediately when probe is removed) |
Red solid (5 seconds) | Mode switched successfully (after 1-3s button press) |
Red blinking (15 seconds) | Charging base low battery (≤20% capacity) |
Red/Green alternating blink (3 seconds) | Device reset in progress (after 3s long press) |
Single green blink | BLE connection established between probe and base |
1.8 Button Function
Behavior on ACT | Function | Action |
---|---|---|
![]() | Active Device | Red/Green alternating blink (3 seconds), DMT01 will enter working mode and start to JOIN LoRaWAN network. |
![]() | Switch working mode | There are three operating modes: Separate Bluetooth broadcast mode. |
![]() | Entering a deep sleep state | When the device successfully enters the low power state, the LED light will flash red, green and red. When the device successfully enters the low power state, the LED light will flash red, green and red. When the light goes out, it successfully enters the low power state. When you need to wake up the device, you need to reset the device. |
1.9 Power on device and Recharge Probe
- When the repeater is charging, the charging indicator light will be solid red.
- When the repeater is fully charged, the charging indicator will be solid green.
2. Use DMT01
2.1 How it works
DMT01 Include two parts,
- The food grade probe : used to measure the meat temperature
- The Charger which is also a LoRaWAN End node: used to connect the probe via BLE and get the temperature and send via LoRaWAN to IoT server.
Consider the BLE coverage , there is two cases:
Connection Mode: Probe is near by the Charge, within BLE range
Probe will establish connection to the charge via BLE. and the data flow is as below.
Broadcast Mode: Probe is far away from the Charge, out of BLE range
Probe will auto swtich to BLE broadcast mode and broadcast the data via BLE. Any BLE Scaner can pick up the signal and send to IoT server.
For example:
1) User can use BH01 BLE to LoRaWAN converter to pick up the BLE signal to IoT Server
2) User can use Mobile phone to get the broadcast signal and further process.
2.2 Activate Device
To use DMT01 send data to LoRaWAN network, user need to:
- Input the OTAA Keys in LoRaWAN Network Server
- Make sure there is LoraWAN network
- Press the button on the DMT01 for more than 3 seconds, DMT01 will start to connect to LoRaWAN network
After the DMT01 Join LoRaWAN network, once user take out the probe, the probe will start to measure temperature and user will be to see the data on the server.
2.3 Quick guide to connect to LoRaWAN server (OTAA)
Following is an example for how to join the TTN v3 LoRaWAN Network. Below is the network structure; we use the LPS8v2 as a LoRaWAN gateway in this example.
The LPS8V2 is already set to connected to TTN network , so what we need to now is configure the TTN server.
Step 1: Create a device in TTN with the OTAA keys from DMT01.
Each DMT01 is shipped with a sticker with the default device EUI as below:
You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
Create the application.
Add devices to the created Application.
Enter end device specifics manually.
Add DevEUI and AppKey.
Customize a platform ID for the device.
Step 2: Add decoder
In TTN, user can add a custom payload so it shows friendly reading.
Click this link to get the decoder: https://github.com/dragino/dragino-end-node-decoder/tree/main/
Below is TTN screen shot:
Step 3: Activate on DMT01
Press the button for 3 seconds to activate the DMT01.
After join success, it will start to upload messages to TTN and you can see the messages in the panel.
2.3 LoRaWAN Payload
2.3.1 Probe in-place detection, FPORT=6
There are three types of detection:
- When the probe is placed in or removed from the relay box, or when Bluetooth charging is complete, an event packet is sent uplink to the LoRaWan server.
- The payload includes the Timestamp, ProbeEvent and relay box battery level.
The Payload format is as below:
Device Status (FPORT=6) | ||||
Size (bytes) | 4 | 1 | 1 | |
Value | Timestamp | ProbeEvent | relay box battery level |
Example in TTN:
Timestamp: 0x68946BB4
ProbeEvent:
0x04 = KEEP_ALIVCE
0x03 = PROBE_FULL
0x02 = PROBE_OUT
0x01 = PROBE_IN
relay box battery level:0x32 = 50%
2.3.1 Device Status, FPORT=5
Users can use the downlink command(0x26 01) to ask DMT01 to send device configure detail, include device configure status. DMT01 will uplink a payload via FPort=5 to server.
The Payload format is as below.
Device Status (FPORT=5) | |||||
Size (bytes) | 1 | 2 | 1 | 1 | |
Value | Sensor Model | Firmware Version | Frequency Band | Sub-band |
Example in TTN:
Sensor Model: For DMT01, this value is 0x4B
Firmware Version: 0x0101, Means: v1.0.1 version
Frequency Band:
0x01: EU868
0x02: US915
0x03: IN865
0x04: AU915
0x05: KZ865
0x06: RU864
0x07: AS923
0x08: AS923-1
0x09: AS923-2
0x0a: AS923-3
0x0b: CN470
0x0c: EU433
0x0d: KR920
0x0e: MA869
Sub-Band:
AU915 and US915:value 0x00 ~ 0x08
CN470: value 0x0B ~ 0x0C
Other Bands: Always 0x00
2.3.2 Sensor Data. FPORT=2
Sensor Data is uplink via FPORT=2
Size(bytes) | 4 | 1 | 6 | 1 | 1 | 2 | 2 |
---|---|---|---|---|---|---|---|
Value | Timestamp
| DevMode | MACaddr | ProbeBat | BoxBat | Food temperature | Ambient temperature |
Unit timestamp
Unit TimeStamp Example: 689085D7(H) = 1754301911(D)
Put the decimal value into this link(https://www.epochconverter.com))to get the time.
DevMode
Example:
If payload is 0x01: BLE_LoRa
If payload is 0x02: LoRa
If payload is 0x03: BLE
MACaddr
Example:
If the payload is C12309250F1A, the MACaddr is C12309250F1A
ProbeBat
Example:
If payload is 0x64 = 100%
BoxBat
Example:
If payload is 0x46 = 70%
Food temperature
Because the food temperature data is a little-endian sequence, the order of the front and back bytes needs to be swapped during decoding.
Example:
If payload is: D300H = 00D3H, temp = 00D3H /10 = 21.1 ℃
If payload is: 3FFFH = FF3F , temp = (FF3FH - 65536)/10 = -19.3 ℃.
Ambient temperature
Because the food temperature data is a little-endian sequence, the order of the front and back bytes needs to be swapped during decoding.
Example:
If payload is: D200H = 00D2H, temp = 00D2H /10 = 21.0 ℃
If payload is: 3FFFH = FF3F , temp = (FF3FH - 65536)/10 = -19.3 ℃.
2.4 Bluetoothe Broadcast Payload
Scan and obtain DMT01 device broadcast data through a third-party mobile phone app (such as nRF Connect)
Example:
Note: The following data is obtained through the nRF Connect tool.
If the scanned payload is 0x0201060609444D5430310EFF 01C12309250F1AD100CD006446 0512E001E001
Note:
- The first 12 bytes in the payload are the Bluetooth packet header data and do not need to be decoded.
- The last 6 bytes in the payload are the Bluetooth packet trailer data and do not need to be decoded.
So the payload is:01C12309250F1AD100CD006446
Bluetooth data packet frame header
Example: 0x0201060609444D5430310EFF
DevMode
Example:
If payload is 0x01: BLE_LoRa
If payload is 0x02: LoRa
If payload is 0x03: BLE
MACaddr
Example:
If the payload is C12309250F1A, the MACaddr is C12309250F1A
ProbeBat
Example:
If payload is 0x64 = 100%
BoxBat
Example:
If payload is 0x46 = 70%
Food temperature
Because the food temperature data is a little-endian sequence, the order of the front and back bytes needs to be swapped during decoding.
Example:
If payload is: D300H = 00D3H, temp = 00D3H /10 = 21.1 ℃
If payload is: 3FFFH = FF3F , temp = (FF3FH - 65536)/10 = -19.3 ℃.
Ambient temperature
Because the food temperature data is a little-endian sequence, the order of the front and back bytes needs to be swapped during decoding.
Example:
If payload is: D200H = 00D2H, temp = 00D2H /10 = 21.0 ℃
If payload is: 3FFFH = FF3F , temp = (FF3FH - 65536)/10 = -19.3 ℃.
Bluetooth data packet frame tail
Example: 0x0512E001E001
2.5 Datalog Feature
Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DMT01 will store the reading for future retrieving purposes.
2.5.1 How datalog works
DMT01 will wait for ACK for every uplink, when there is no LoRaWAN network,DMT01 will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
a) DMT01 will do an ACK check for data records sending to make sure every data arrive server.
b) DMT01 will send data in CONFIRMED Mode, but DMT01 won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if DMT01 gets a ACK, DMT01 will consider there is a network connection and resend all NONE-ACK messages.
2.5.2 Enable Datalog
Using the platform downlink 07 01, you can enable the device to automatically send non-ACK messages. Once enabled, the LC01 will wait for an acknowledgment (ACK) for every uplink. If there is no LoRaWAN network available, DMT01 will mark these records as non-ACK messages, store the sensor data, and continue checking for network availability (at 10-second intervals) to resend all stored messages once the network is restored.
a) DMT01 performs an ACK check for each data record to ensure it successfully reaches the server.
b) When automatic sending of non-ACK messages is enabled, the DMT01 transmits data in CONFIRMED mode. If an ACK is not received, it does not resend the packet; instead, it marks it as a non-ACK message. During subsequent uplinks, if the DMT01 receives an ACK, it considers the network restored and will resend all stored non-ACK messages.
2.5.3 Unix TimeStamp
DMT01 uses Unix TimeStamp format based on
User can get this time from link: https://www.epochconverter.com/ :
Below is the converter example
2.5.4 Set Device Time
You need to run downlink command 28 01 to enable time synchronization.
Once the LC01 joins the LoRaWAN network, it will send the MAC command DeviceTimeReq, and the server will reply with DeviceTimeAns to provide the current time to the LC01. If the LC01 fails to receive the time from the server, it will use its internal time and wait for the next time request. (By default, this occurs once every 10 days.)
Downlink Command: 0x28
- Example: 0x28 01 // Automatic time synchronization Enabled
- Example: 0x28 00 // Automatic time synchronization Disable.
2.5.5 Datalog Uplink payload (FPORT=3)
The Datalog uplinks will use below payload format.
Retrieval data payload:
Size(bytes) | 4 | 1 | 6 | 1 | 1 | 1 | 1 | 2 | 2 |
---|---|---|---|---|---|---|---|---|---|
Value | Timestamp
| DevMode | MACaddr | ProbeBat | BoxBat | Message Type | tempData Length | Food temperature | Ambient temperature |
No ACK Message: 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for PNACKMD=1 feature)
Poll Message Flag: 1: This message is a poll message reply.
- Poll Message Flag is set to 1.
- Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
For example, in US915 band, the max payload for different DR is:
a) DR0: max is 11 bytes so one entry of data
b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
c) DR2: total payload includes 11 entries of data
d) DR3: total payload includes 22 entries of data.
If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0
If user sends below downlink command: 316892FD706893103005
Where : Start time: 6892FD70 = time 25/8/6 07:00:00
Stop time: 68931030 = time 25/8/6 08:20:00
DMT01 will uplink this payload.
68930FD201C12309250F1A643C4028E000EA00DF00EA00DF00EC00DF00EF00DF00F100DE00F400DC00F700DC00F800DB00F900DB00FD00
6893100E01C12309250F1A643C4028DE000401FF00090105010D0103011001030112011A011401150115010E0117010A01170104011801
Where the first 55 bytes is for the first entry:
68930FD2 01 C12309250F1A 64 3C 40 28 E000 EA00 DF00 EA00 DF00 EC00 DF00 EF00 DF00 F100 DE00 F400 DC00 F700 DC00 F800 DB00 F900 DB00 FD00
Unix time is 0x68930FD2=1754468306s=25/8/6 08:18:00
DevMode is 0x01 = BLE_LoRa
MACaddr is 0xC12309250F1A = C12309250F1A
ProbeBat is 0x64 = 100%
BoxBat is 0x3c = 60%
Message Type is 0x40 = POLL_REPLY
tempDataLength is 0x28 = 40(Represents the total number of temperature bytes of the current group)
Food temperature is 0xE000 = 00E0/10 = 22.4℃
Ambient temperature is 0xEA00 = 0x00EA/10=23.4℃
Food temperature is 0xDF00 = 00FD/10 = 25.3℃
Ambient temperature is 0xEA00 = 0x00EA/10=23.4℃
One set of data contains 10 sets of data, and so on...
3. Configure DMT01
DMT01 supports below configure method:
- LoRaWAN Downlink. Instruction for different platforms: See IoT LoRaWAN Server section.
3.1 General Commands
These commands are to configure:
- General system settings like: uplink interval.
- LoRaWAN protocol & radio related command.
They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/
Note: DMT01 can only be configured using Downlink commands and does not support configuration using AT commands.
3.2 Downlink Commands Set
These commands only valid for DMT01, as below:
3.2.1 Set Transmit Interval Time
AT Command:
There is no AT command to set TDC time.
Feature: Change LoRaWAN End Node Transmit Interval.
Downlink Command: 0x01
Format: Command Code (0x01) followed by 3 bytes time value.
If the downlink payload is 0100003C, it means set the end node's transmit Interval is set to 0x00003C = 60 seconds, with the type code 01.
- Example 1: Downlink Payload: 0100001E // Sets the transmit interval (TDC) to 30 seconds
- Example 2: Downlink Payload: 0100003C // Sets the transmit interval (TDC) to 60 seconds
3.2.2 Get Device Status
Send a LoRaWAN downlink to request the device's alarm settings.
Downlink Payload: 0x26 01
The sensor will upload device status via FPort=5. See the payload section for details.
3.2.3 Clear Flash Record
AT Command:
There is no AT command to Clear flash storage for the data log feature
Feature: Clear flash storage for the data log feature.
Downlink Command: 0x08
- Example: 0x0801 // Clears all saved data in flash.
3.2.4 Confirmed Mode
AT Command:
There is no AT command to control whether Confirmed Mode is enabled or disabled.
Feature: Mode for sending data that requires acknowledgment.
Downlink Command: 0x07
- Example: 0x07 01 // Confirmed Mode enabled.
- Example: 0x07 00 // Confirmed Mode disable.
3.2.5 Set the time synchronization interval
Feature: Set how often to perform time synchronization (default: 10 days, unit: days)
Downlink Command: 0x28
- Example: 0x28 01 // Synchronize once a day
- Example: 0x28 03 // Synchronize once every three days
3.2.6 Alarm Mode
Feature: When the sample temperature is lower or higher than the set threshold, it will automatically alarm (the alarm mode is only for food temperature).
Downlink Command: 0x09
Format: Command Code (0x09) followed by 4 bytes.
Example: 09 aa aa bb bb
Parameter | Function |
---|---|
aa aa | Minimum temperature threshold (Minimum not to exceed: -30℃) |
bb bb | Maximum temperature threshold (Maximum not to exceed: 120℃) |
- Example: 0x09 00 14 00 15 // Set the minimum threshold to 20℃ and the maximum threshold to 25℃
- Example: 0x09 00 00 00 00 // Disable threshold alarm mode
Note:
- When the temperature exceeds the set minimum and maximum temperature thresholds, sampling will be performed at an interval of every 6 seconds. Each set of temperature data will be immediately uploaded to the server.
- The set minimum and maximum alarm temperatures must be within the food temperature range. The temperature detection range is -30 to 120°C.
3.2.7 Multi sampling
Feature: Sampling multiple times and uplink together.
Downlink Command: 0x09
Format: Command Code (0x0A) followed by 3 bytes.
Example: 0A aa aa bb
Parameter | Function |
---|---|
aa aa | Sampling interval (range: 6~65535s) |
bb | Sampling times (range: 1~12 times) |
Example: 0x0A 06 0A //Sampling is done once every 6 seconds, and uploading is done after sampling 10 data points, i.e. uploading is done once every 1 minute.
4. Firmware update
Firmware download link (To be updated...)
User can upgrade the firmware for DMT01 charger. The charger include two piece of software:
- For LoRa part: OTA firmware update via LoRa.
- For BLE and controller part.
4.1 Update LoRa software
User can change firmware DMT01 charger to:
- Change Frequency band/ region.
- Update with new features.
- Fix bugs.
Firmware and changelog can be downloaded from : Firmware download link
Methods to Update Firmware:
- (Recommanded way) OTA firmware update via wireless : http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/
4.2 Update BLE software
Step 1: You need to download an APP named: EspBleOTA on your mobile phone.
Download link of APK file for Android: APK file
Step 2: After the phone is installed, open the installed EspbleOTA
Note:
1. When you open it, the app will request permission to use your phone's Bluetooth. Please grant permission, otherwise the app will not be able to search for Bluetooth.
2. You need to pull down the scan display window again and rescan BLE.
Step 3: Select the Bluetooth device named DMT01 in the scanning display window and click to connect.
Note: Before upgrading, you need to save the firmware in the directory of the phone. When upgrading, you need to enter the saved path and select the firmware.
Step 4: Wait for the update to complete
5. FAQ
6. Order Info
Part Number: DMT01-XX
XX:
- EU433: Frequency bands EU433
- EU868: Frequency bands EU868
- KR920: Frequency bands KR920
- CN470: Frequency bands CN470
- AS923: Frequency bands AS923
- AU915: Frequency bands AU915
- US915: Frequency bands US915
- IN865: Frequency bands IN865
- CN779: Frequency bands CN779
7. Packing Info
Package Includes:
- DMT01 - Digital Meat Thermoneter x 1
Dimension and weight:
- Device Size: cm
- Device Weight: g
- Package Size / pcs : cm
- Weight / pcs : g
8. Support
- Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
- Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to support@dragino.com.