Data applications on MOTOTRBO radios

MOTOTRBO two-way radios implement the Digital Mobile Radio (DMR) standard. They use a channel bandwidth of 6.25 KHz. Small IP datagrams can be sent between radios over the air. This air data network is called the Common Air Interface (CAI) network. A 24-bit radio ID is used along with an 8-bit CAI network ID to form a unique IP v4 address for each radio. Radios that have the same channel configuration can then exchange datagrams using IP addresses.

IP Peripheral

MOTOTRBO radios can be connected to an IP peripheral, such as a PC, over a USB 1.1 link. A radio acts like a router between the CAI network and the PC. The PC also receives a CAI IP address and can be addressed by other radios. A radio can be configured to forward all datagrams it receives, to the PC.

Generic Option Board

The radio can also host an embedded board called the Generic Option Board (GOB), designed around an Atmel AVR32 SoC. An application on the GOB can receive raw datagrams sent to a virtual port on the radio. Connectivity to the PC and extensibility using the GOB make the MOTOTRBO radio an attractive platform for delivering small-data applications.

Non-IP Peripheral

The MOTOTRBO radio can also be connected to a PC or other host as a Non-IP Peripheral, over a USB 1.1 link. Messages sent by other radios, or the GOB, are forwarded to the host over a USB bulk transfer endpoint.

Bluetooth support

The expanded portfolio MOTOTRBO radios also support Bluetooth. Bluetooth profiles supported are: serial port profile, headset profile, and personal area networking profile. The radio can route data from the connected Bluetooth peripheral to the GOB, and to other radios on the CAI network. This is a paid feature, an additional license is required per radio.

MOTOTRBO Configurations

MOTOTRBO radios support different configurations to connect with other radios. The simplest configuration is one where one radio broadcasts directly to other radios. Other configurations involve using repeaters. Repeaters, besides extending the range of RF communication, can be interconnected to increase range, and capacity i.e. number of available channels. Repeaters also enable applications to communicate with radios without requiring an intermediary radio.

Licensed Application Developer

To develop applications for MOTOTRBO radios you need a developer license from Motorola Solutions Inc. Licenses are usually issued on a per app basis for a particular geographical region.


38 thoughts on “Data applications on MOTOTRBO radios

  1. It would be nice if someone could write a tracker for the GOB, that integrates with GPSgate’s UDP Server…

  2. Hello,

    Do you have more info on the XCMP protocol used by MotoTRBO?
    I have the text sending working but am curious about other possibilties.

      1. Hi all, I could venture a suggestion … i.e. what about a (freeware/shareware?) DLL and API to allow non-Licensed Developers to access the Radio’s functionality and control?
        Begs the question though – but where would the Motorola Authorisation Keys have to be stored?

  3. Hello!! thank for all information!
    Have you integrated WINCE mobile terminals MOTOTRBO radios? is it possible? Where I can get more manuals to develop applications for MOTOTRBO?
    Thank you one more time!

    1. Hi! I haven’t yet had the need to integrate with WinCE. WinCE is not yet officially supported. If your WinCE device supports USB RNDIS, IP could be one route to go. Don’t know anyone who has tried it though.

      As for the manuals please see my response to Philip regarding development for MOTOTRBO.

      1. Hi Devendra! thank you for your fast answer (the web don’t sended me email with your reply).

        do you have this document?:
        • MOTOTRBO™ XCMP / XNL Development Guide
        • MOTOTRBO™ XCMP / XNL Development Specification

        Thank you!

          1. I requested the application development partnership as Devendra said and after signining a document got acces to all information regarding MotoTRBO.


  4. Hi guys, It’s very hard to find anyone on the net that knows much about XCMP/XNL etc
    Is this a venue for TRBO discussions or could you suggest any ?

    1. Hi! This is a low traffic venue. Not a good place to find quick answers.

      Registered developers can use the MOTOTRBO DRM portal at to get technical support.

      A quick Google search reveals that MOTOTRBO is very popular with the amateur radio community and they do have discussion groups. I am not sure if they encourage developer level discussions in those groups though.

      1. Hi Devendra, thanks for responding.
        I am working as THE single analyst/coder for “Registered developer” and I have a number of queries in with Motorola Support atm – but “big wheels turn slowly” if you get my drift.
        I have just about finished the Win32 Logging App and it’s XNL/XCMP interface in C++.
        I am now interested in accessing the VOIP packets – but I have not seen any specific area that states how they can be accessed – do you know in which area of the doco this may be found? Thanks.

        1. Hi! I am quite sure the radio does not provide voice over IP capability from the PC using the IP Capable Peripheral Cable [see 3rd Party Peripheral Cable Guide]. You can use the microphone audio input lines of the Non-IP Data Plus Voice Peripheral Cable to feed audio, and the speaker output lines to get the audio. You use XCMP/XNL over USB, without the obvious benefit of a TCP/IP interface. I am not very familiar with the Non-IP interface beyond that though.

          Then, there is the repeater interface IPSC protocol that can be used for audio communication from the repeater side. It is not a quick thing though. You’ll need to understand the DMR standard. Audio is compressed using the AMBE codec. There’s a IPSC AMBE demo app that uses a proprietary USB dongle to do AMBE encoding.

          I hope that helps.

  5. Hi Devendra,
    Excellent – I’ll check through those “Repeater Command & Control” docs now. Thanks again for the help and you are so much quicker than Support! ;D

  6. HI devendra, Motorola send me an invitation to PartnerEmpower, with PartnerEmpower Can I access to “XCMP/XNL” documents? thank you

  7. Devendra, I am member of PartnerEmpower of Motorola Solutions!!!

    Where do I find XCMP/XNL documents?

    Thank you!!

    1. Hi Mauricio. You’re welcome. It depends on what your intended objective it. If you are going to work with the subscriber radios you might want to begin with the Data Guide, XCMP guide, and the XCMP spec. In that order. After that take a look at other data protocols like Presence (ARS), Location (LRRP), Text messaging and Telemetry.

  8. Hi Devendra, what microcontroller do you use to develop your application (Non-IP) with MOTOTRBO radio? I try to use a microchip microcontroller using CDC Host library.

    1. Hi Mauricio. So far, I have used Non-IP interface with embedded Linux (libusb) and Mac OS X (I/O Kit). I’d like to hear how it goes.

  9. Hello Devendra, I’ve tried to develop an embedded application with PIC, but Microchip USB HOST STACK aren’t compatible with USB 1.1 of MOTOTRBO RADIO :-( now I am trying to develop this application in Raspberry Pi with excellent result.

    1. Hi, would you be willing to share your raspberry pi app? I would like to have a go at sending data over mototrbo as a radio amateur.

    2. Mauricio,
      How did you go with getting the Raspberry Pi working. I am just starting this and would be interested to hear how you found it?

  10. Hello, I have some questions:
    Which USB cable should be used to connect the radio with a computer?
    It’s expensive?
    Should be conected to a portable, mobile or both?
    Where should be it connected to?
    Could be the USB cable used in Linux?
    It’s like a COM port?

    Best regards from Chile
    Álvaro Monares G.

    1. Hi. The USB cable is the same one that is used to program the radio using CPS. You should get it with the radio, otherwise please get in touch with your channel partner.

    2. Hello Alvaro,

      Al conectar el radio a linux el actua como una tarjeta de red, sin embargo debes enviar el siguiente comando si estas en debian: #sudo dhclient usb0 esto es debido a que el radio es DHCP server.

      To connect the mototrbo radio to linux is the same of ethernet/USB port. The mototrbo radio is a dhcp server, and you send the follow comand line: #sudo dhclient usb0 to get IP in linux.

  11. Devendra, I am new to the Motorola Development Portal and I am not a programmer, I am looking to work with someone to help me develop my solution here in Canada. Any chance you can guide me to some experienced developers?

    1. Hi Lindsay. I’ve forwarded your request to the MOTOTRBO Business Development Manager for NA. Even if you are subcontracting someone to do the programming, you’ll still need to join the Application Developer program. Will message contact information in private to you.

      1. Sorry, read your message again and realized that you’re already probably signed up for the program. Hoping you find someone to help you develop your solution real soon.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s