Some of the senosr couldn't be connected with Azure via Azure Gateway

Hi. Here’s the case. Recently I purchased some sensors from NCD.

At first, I am using the Wireless USB Modem to receive data. It’s good. So far a few sensors have been tried and data could be shown up on the Alpha Station - Ver, except Asset Monitor Sensor. The Alpha Station could discover the asset monitor but data field is nothing. For this asset monitor, I need to download another Wireless Asset Monitor.exe to connect and check if everything is working well. Good. The sensor is working fine. (No idea why is that.)

And then I switch on the Azure gateway aside with the USB Modem. Some of the sensor data couldn’t reach Device Twin but Alpha Station. After numerous attempt, I decided to update the firmware of the gateway, create a new DeviceID & connectionString and update the connectionString to the gateway. It proves the data of the sensor below couldn’t reach DeviceTwin.

  1. Industrial IoT Wireless Tilt And Inclinometer Sensor
  2. IoT Long Range Wireless Pulse Frequency Meter

From my observation, the Azure Device Twin could allow 7 sensors to reach (From what I’ve got and tested).

  1. IoT Long Range Wireless Accelerometer Gyro Magneto & Temperature Sensor
  2. IoT Long Range Wireless One Channel Counter Transmitter
  3. IoT Long Range Wireless Environmental Temperature Humidity Pressure Air Quality Sensor
  4. IoT Long Range Wireless Asset Monitor Sensor
  5. Industrial IoT Wireless Linear Displacement Sensor
  6. 2 Channel Industrial IoT Wireless Thermocouple Temperature Sensor
  7. 2 Channel Industrial IoT Long Range Wireless 4-20mA Current Receiver

I read a post but I am not sure if my case is similar to it (Link)

May I have your advice/instruction on debugging?


Currently the Azure Gateway does not support this sensor:

I will try to add support for that sensor and update the firmware on our repo today so you can update your Azure Gateway. I will let you know when it is ready.

This product however is supported so it should report to the device twin:

I would ensure it is powered on, the antenna is connected, and the batteries are good. It should appear in the Device Twin. If you cannot get it to report please let us know.

Thank you,
Travis Elliott

Thanks. Please update me further when it is ready. Appreciated your kind support.

May I have the list of what devices currently have not been supported so I could be aware of beforehand next time when I am about to purchase some sensors to try?

For ‘IoT Long Range Wireless Pulse Frequency Meter’, I am using Alpha Station in parallel and it receives the data well however not the same case on Device Twin. I will conduct the whole setup again next week and take a video to show you what’s going on if the result still holds the same.

sensor support map

As Travis indicated, supporting a new sensor does not take more than a few hours.


I just added support for the Tilt Sensor to Azure. If you update your gateway it should work now.

Thank you,
Travis Elliott

Thank you @TravisE_NCD_Technica , is the same to follow the steps in How to update Micro Gateway Firmware -

Thanks @TravisE_NCD_Technica @Anil_Bhaskar . The gateway now can show the tilt sensor reading on DeviceTwin. However, I am a bit confused with the numbers.

May I know the formula/conversion steps between the numbers of pitch and roll shown on Device Twin and the numbers in degree shown on Alpha Station?

Roll -1.35 deg <=> 653.78
Pitch 2.26 deg <=> 2.27

After a few attempts on the different numbers in different orientation, it seems has something to do with a number 655.36


@TravisE_NCD_Technica I think there is a data conversion issue gateway. the values should be stored in signet int

@TravisE_NCD_Technica , I have sent you the video showing -

I am using Alpha Station in parallel and it receives the data well however not the same case on Device Twin. I power up another sensor and show you the Device Twin is working fine and able to show that sensor readings.

I just published update 1.0.12 for the Azure Gateway to correct handling for the Tilt sensor. It seems the conversion error was an unsigned int instead of a signed int for the sensor parsing. This is the updated conversion function for the tilt sensor:

      if(len < 11){
        return false;
        json["Type"] = "Wireless Tilt Sensor";
        json["SKU"] = "";
      //2 channel Push Notification
      dataObject["roll"] = (float)(signedInt(data, 9, 16))/100.00;
      dataObject["pitch"] = (float)(signedInt(data, 11, 16))/100.00;
      rDevice = true;

This was taken from the Tilt sensor guide here:

Thanks. It works good.

1 Like