IoT 4-20mA signal Splitter Product Manual

NCD's Long Range Industrial IoT Wireless 4-20mA Current Signal Splitter


  • Industrial Grade 1-Channel 4-20mA Current Input
  • Industrial Grade 1-Channel 4-20mA Isolated Current Output
  • Input Range 0-20mA with 15-bit Resolution
  • Output Accuracy ± 0.05 FS
  • Converts 4-20mA devices into Wireless Nodes
  • 2 Mile Line-of-Sight Range with On-Board Antenna
  • Superior LOS Range of up to 28 Miles with High-Gain Antennas
  • Interface to Raspberry Pi, Microsoft® Azure®, Arduino and More
  • Example Software for Visual Studio 
  • Wireless Mesh Networking using DigiMesh®
  • Open Communication Protocol for Easy Software Integration
  • Validates and Retries Lost Communication Packets


Introducing NCD’s Long Range Wireless 4-20mA Current Splitter Transmitter Receiver, boasting up to a 2 Mile range using a wireless mesh networking architecture.  It incorporates a High resolution 1 channel 16-bit ADC that samples 4-20mA analog inputs at user defined intervals and transmits the result to remote modems and gateways, at the same time it also replicates the 4-20mA signal as isolated 4-20mA current output.  This device can be used to bring old 4-20mA devices into IoT world without changing anything in the Existing structure.

This Wireless 4-20mA Current Splitter Transmitter Receiver comes with Two 4 Position M12 connector. One connector will connect to 4-20mA sensor and other will connect to PLC or any other 4-20mA receiver.

This Wireless 4-20mA Current Splitter Transmitter Receiver is powered by 4-20mA supply.


  • Current Output Analog Sensor Interface
  • Wireless Flow Meter Monitoring
  • Long Range Wireless 4-20mA Current Monitoring
  • Analog Transducer Interface
  • Read Sensors Like Force, Strain Gauge, Pressure, Flow Meter
  • 4-20mA Analog Input to AWS or Azure Cloud Services

Getting Started

Hardware Specs

This is a fairly simple device. It has two M12 Port. Each port has 4 connections. 

Port 1 AKA PLC — This will connect to PLC or the 4-20mA receiver Device.

Port 2 AKA Sensor — This will connect to existing 4-20mA Output Sensor 

M12Pin InfoWire Color ( in case cable assembly is used)
1Power +Brown
24-20mA Out 2White
44-20mA Out 1Black


Software Specs 

This device is transmitter and in order to receiver and view the data, either a Gateway or Modem will be required. Please checkout this article to know more bout Modems and gateway.

Gateways vs. Modems – Where to Begin?

The device has two mode of operation. 

  1. Run Mode
  2. Configuration Mode

Run mode is the standard mode, the module will always enter Run mode if no button is pressed during Power-up/Reset. Configuration mode is intended to configure sensor parameters and the X-bee parameters on the sensor end. Note that the Sensor end X-bee is only configurable via the sensor controller using the commands provided in device manual.  Bellow figure illustrates these modes.

                                                                                                             Figure 1

The device sends a startup packet which can be used to determine the mode in which it is operating. These packets are shown in Below Table 

Mode TypePEN ID AKA Network ID Set By Sensor in That ModeFrame FieldOffset (Payload Section)ValueSample Packet
RUN ID Saved By User/DefaultMode Bytes7,8,90x52,0x55,0x4E ( RUN)7E 00 1C 90 00 13 A2 00 41 A2 70 EA FF FE C2 7A 00 00 00 42 00 00 52 55 4E 00 00 00 00 00 00 0D
Configuration 0x7BCDMode Bytes7,8,90x50,0x47,0x4D(PGM)7E 00 1C 90 00 13 A2 00 41 A2 70 EA FF FE C2 7A 00 00 00 42 00 00 50 47 4D 00 00 00 00 00 00 1E
Factory Reset0x7FFFMode Bytes7,8,90x50,0x55,0x4D ( PUM)7E 00 1C 90 00 13 A2 00 41 A2 70 EA FF FE C2 7A 00 00 00 42 00 00 50 55 4D 00 00 00 00 00 00 10

Mode Selection Process

The CFG button on the module is used to change mode. If CFG button is pressed and the module reset button is pressed, the module will enter the configuration mode. The amount of time CFG button has to be pressed is shown in Figure 1.

Note that settings only take effect after the reset. If Device is left in CFG mode for a long time it will drain the battery. 

If the CFG button is not pressed device will boot in run mode.

Recommended Software Tools
  1. Alpha Station
  2. Node-red
  3. XCTU ( only for diagnostic purpose and only works with USB modem)


RUN Mode

Run mode is the default mode of operation of this sensor. In this mode the sensor sends periodic packets to destination receiver. During the time it is not sending packets, it sleeps and conserves power. Sensor end Radio operates in API mode and sends packets to the saved destination address on the network specified by the saved PAN ID. Figure 12 illustrates an API packet transmission and reception.

Packet reception at receiver end is ensured by the device by retrying up to 3 times if no acknowledgement is received that the packet has been successfully received. The device uses the acknowledgement functionality available in API mode in Radio devices therefore user does not need to worry about sending acknowledgements for every packet.

The detail for API packet received at PC end can be read from the Radio manual. The detail of Complete API packet

OffsetFrame FieldValueDescription
00Start Delimiter7EThis can be used to identify the Packet Header
01,02LengthVariable ( depends on API packet length) This can be used to calculate the total expected bytes in a Incoming RF packet
03Frame Type0x90Indicates that its a Rx Packet
04,05,06,07,08,09,0A,0B64 Bit Source AddressDepends the incoming RF packet Source RadioCan be used to filter out data from any particular Radio
0C,0D16-Bit Source AddressFF FEAlways Fixed
0EReceive OptionsC2Always Fixed
XXXXAPI PayloadWill depend on Sensor/Device TypeThis contain all the sensor/Device Related Data
XXChecksumAPI checksum Can be used for RF packet validity

A sample API packet Example 

7E 00 2D 90 00 13 A2 00 41 A2 70 EA FF FE C2 7F 00 02 03 FF 01 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 09 C4 00 00 03 5B 00 00 27 28 09 82 F3

Sensor Payload 

The detail of Payload section of packet is shown in Table 3.

Sensor Type == 200 ( 0xC8)


Sensor Type 200 Payload

Frame FieldOffset (Payload Section)Length In BytesFixed Value
(if any)
Header010x7FHeader to differentiate various type of packets
Node ID110x00 Factory DefaultNode ID to differentiate up to 256 nodes in a network. User configurable values
Used to determine firmware version programmed in the device
Battery Voltage3 ( MSB), 4 (LSB)2 Sampled battery voltage of the device.

Battery Voltage=((Battery Voltage MSB x 256+Battery Voltage LSB) x 0.00322 V

Use this equation to calculate battery %.
Battery % = 0.537*ADC – 449.9
Packet Counter51It is an 8-bit counter that increments with each packet transmission. It can be used to detect missing packets.
Sensor Type6 (MSB), 7 ( LSB)20xC8Two bytes to determine sensor type. It can be used in conjunction with Node ID to create sensor networks of up to 256 nodes for a single type of sensor and multiple such networks can coexist and can be differentiated in processing software on PC end
Reserved81Error Codeerror code = 1 ( On The FLY command)
02 — Sensor communication Error
4-20mA input Value9 (MSB)/Data[0], 10(LSB)/Data[1]24-20mA Value

4_20mA = (((Data[0]>>8)+Data[1])/100.0)
Raw Analog Value11 (MSB)/Data[2], 12(LSB)/Data[3]2Raw Analog Input Value

Raw ADC = ((Data[2]>>8)+Data[3])
Raw Digital Value13 (MSB)/Data[4], 14(LSB)/Data[5]2Raw Analog Output Value

Raw DAC = ((Data[4]>>8)+Data[5])

Sample RUN Time Packet From 4-20mA Current Signal Splitter 

7E 00 1B 90 00 13 A2 00 41 BA C4 05 FF FE C2 7F 00 01 03 FE 02 00 C8 01 00 35 03 41 00 8D E5

Configuration Mode

Configuration mode is intended to setup the device over the wireless link. Entering configuration mode was already explained in the section “mode selection procedure”. User can also setup Radio communication and networking parameters using this mode via PC. Note that settings only take effect after reset and are stored inside the device.

In configuration mode, the device sets its Radio pan id to 7BCD (Hex). Also, the destination address used by the sensor is broadcast (0000FFFF). This ensures that once you put a device in configuration mode you just need to change the PAN ID of your Receiver to match with sensor and start configuring your device. You can change the PAN ID of your radio using Digi XCTU or with Alpha Station or by sending API commands. If you use our Alpha Station utility, it will automatically change radio PAN ID once you open the configuration window. When you exit this window your PAN ID will be restored to old value.

A standard configuration packet and its fields are explained in Figure 15. Its possible responses are also shown. The commands supported by this sensor are shown in Table 4, these can be used in the Parameters field of Payload section. The sensor responds to these commands with an acknowledgement if the process completed successfully or with an error if it failed to setup a parameter. The respective Data and Reserve section length and values are shown in Table 5 for the case of acknowledgement. In the case of error, the reserved section will be fixed and not used, while the Error number byte will determine the type of error returned. These errors are mentioned in Table 6.

Figure 15 depicts standard communication between Modem/Gateway and sensor. Sensor commands have variable length frames whereas responses received from sensor are fixed length. The 2 scenarios are also shown, where a command can result in an acknowledgement reception or an error reception at the Modem/Gateway end.

No.CommandHeaderSub CommandParameter FieldDefault ValueDescription
1Set Broadcast Transmission 0XF70x010000FFFFThis will set the address to Broadcast mode. All the receiver with same ENY key and PAN ID will get the data packets
2Set ID and Sleep Interval0XF70x02NODE ID, D0 MSB,D1, D2 LSB0x00,0x00,0x02,0x58Sets the Device node ID and Data Transmission Interval. The node id value can go from 0-255 and The Data transmission value can go from 3-0xFFFFFF Seconds
3Set Destination Address0XF70x03A0 MSB, A1, A2, A300,00,FF,FFSets the Destination Address of the sensor. The sensor will send Run mode Data packets to this Address
4Set Power0XF70x04Power ( range 1-4)0x04Sets the RF power of the Sensor Radio
5Set PAN ID aka Network ID0XF70x05ID0 MSB, ID1 LSB 0x7FFFSets the PAN ID aka Network ID in the sensor. Only sensors, Gateway, and Modes with Same ID can communicate with each other
6Set Retries 0XF70x06Retries0x0ASets the number of Retries after unsuccessful transmission for the Sensor Radio
7Read Sleep Interval0XF70x150x00,0x02,0x58Reads the stored Sleep Interval value from the sensor
8Read Power0XF70x160x04Reads the stored RF Power value from the sensor
9Read Retries0XF70x170x0AReads the stored Retries value from the sensor
10Read Destination Address0XF70x1800,00,FF,FFReads the stored Destination value from the sensor
11Read PAN ID aka Network ID0XF70x190x7FFFReads the PAN ID aka Network ID
12Enable Encryption 0XF20x010x01Enables the Encryption of the Frame Transmitted from the Sensor
13Disable Encryption 0XF20x02Disables the Encryption of the Frame Transmitted from the Sensor
14Set Encryption Key0XF20x0300,K0 MSB, K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K1555AA55AA55AA55AA55AA55AA55AA55AASets the 128 bit AES Encryption Key

To know more about Sensor configuration mode checkout this post

NCD Wireless Sensor Configuration Commands

Sensor/Device Specific Configuration Commands

This 4-20mA Splitters supports few device specific commands. These commands are used to calibrate input and output 4-20mA channels. By default input and output channels come with pre set calibration values. For best accuracy ncd recommends that users calibrate each device. 

4-20mA Signal Splitter Device specific Commands

No. CommandHeaderSub CommandSub Sub CommandParameter FieldDefault ValueDescriptionSample Command
1SET Full Scale Resolution F40x40FSR Value1.024 ( 0x03)Possible values
FSR – 6.114(0x00)
FSR – 4.096(0x01)
FSR – 2.048(0x02)
FSR – 1.024(0x03)
FSR – 0.512(0x04)
7E 00 14 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 40 00 00 C8 03 F5
2GET Full Scale Resolution F40x41FSR Value1.024 ( 0x03)Possible values
FSR – 6.114(0x00)
FSR – 4.096(0x01)
FSR – 2.048(0x02)
FSR – 1.024(0x03)
FSR – 0.512(0x04)
7E 00 13 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 41 00 00 C8 F7
3Set ADC Calibration Point 1F40x420x01Low Point calibration ( 4 byte value)0xFB6CCalibrate to low point ( around 6mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 42 00 00 C8 01 00 01 09 CB 20
4Set ADC Calibration Point 2F40x420x02Mid Point calibration ( 4 byte value)0x010142Calibrate to Mid point ( around 12mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 42 00 00 C8 02 00 01 05 E3 0B
5Set ADC Calibration Point 3F40x420x03High Point calibration ( 4 byte value)0x010207Calibrate to High point ( around 18mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 42 00 00 C8 03 00 01 07 E4 07
6Get ADC CalibrationF40x430x01 ( Low)
0x02 ( Mid)
0x03 ( High)
7E 00 14 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 43 00 00 C8 01 F4
7Set DAC Calibration Point 1F40x440x01 ( Low)Low Point calibration ( 4 byte value)0x05C4D8Calibrate to low point ( around 6mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 44 00 00 C8 01 00 01 09 CB 1E
8Set DAC Calibration Point 2F40x440x02 ( Mid)Mid Point calibration ( 4 byte value)0x05C6B5Calibrate to Mid point ( around 12mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 44 00 00 C8 02 00 01 07 E4 06
9Set DAC Calibration Point 3F40x440x03 ( High) High Point calibration ( 4 byte value)0x05CBDBCalibrate to High point ( around 18mA)7E 00 18 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 44 00 00 C8 03 00 01 05 E3 08
10Get DAC CalibrationF40x450x01 ( Low)
0x02 ( Mid)
0x03 ( High)
7E 00 14 10 00 00 00 00 00 00 00 FF FF FF FE 00 00 F4 45 00 00 C8 01 F2