Implement a Profile
Welcome Guest,Register Now
Log In

Implement a Profile

The very first step to implementing an ANT+ profile is to become an ANT+ Adopter or annual ANT+ Member.

If you’re not already registered, you can learn more here. Once you have signed up, you will be able to download the device profile you are interested in from the documents tab of the downloads page. As well, having read the ANT+ Basics will be useful in understanding the profile that you want to implement. If you feel that you’re ready to start implementing a profile, then this page will help you navigate the ANT+ profile documents.

Before diving into the profile, it’s worth paying attention to the 'Related Documents' section in each profile. These are listed to remind you where to look for reference if some aspect of a profile is confusing or a specific concept needs more explanation.

Understand the Use Case

Each profile will include a section about the profile’s use case. This is the heart and soul of your ANT+ device. This section is especially useful since it contains the lion’s share of the information you’ll need, but in an easy to digest package. Make sure that your specific plans align with this section; otherwise you may run into issues.

Know the Channel Configuration Requirements

These requirements are simple, but being careful to follow them closely pays off. The channel configuration for ANT+ devices are standardized for each profile. These requirements ensure that devices pair together in a predictable manner. Be sure to understand what is meant by 'master' and 'slave' in the context of the profile that you’re implementing, as other wireless protocols may use different definitions.

One of the channel configuration parameters is the network key. This should be set to the ANT+ network key as specified in the ANT+ device profile to enable the device to operate on the ANT+ managed network; however please note that this network key may only be used by devices that are fully compliant with an ANT+ device profile. You can use these links to find more information about network keys, or view the network keys.

Use the Message Payload Format

So you understand your use case thoroughly, and you know exactly how you’re going to configure your channels. Now how do you make everything actually communicate? Well, this is where the message payload format comes into play. Generally, ANT+ data is organized into 'pages' that define how data is to be structured in over the air messages. Pages are identified by page numbers, located in the first data byte of a message. Most profiles use the same format here, although there are some exceptions so be sure to understand how data is to be organized in the profile you’re working with.

As well, a profile may implement file sharing functionality known as ANT-FS. Pay attention to whether this is included in the profile or not as devices may not be compliant with the profile if ANT-FS functionality is omitted.

Common Data Pages

Most profiles keep information that is present in many profiles in what are called 'Common Data Pages'. These contain data such as serial numbers, manufacturer ID numbers, battery status, and other related information.

Main Data Pages

Device specific data is sent using 'Main Data Pages'. These are unique to each profile. Although pages may have the same name between profiles, they could still have uniquely structured data fields within them.

Other Data Pages

Some other pages are used for 'ANT+ Broadcast FIT Pages'. These have flexible data content formatted according to the FIT protocol.

There are also pages set aside for Manufacturer specific data. This range of pages does not insist on interoperability and will allow device manufacturers to transmit unpublished data formats.

Use the Correct Manufacturer ID

As mentioned above, most device profiles include a requirement to send the manufacturer ID. The current list of manufacturer ID values can be found in the FIT.xls profile (see: how do I find out my manufacturer ID?). New manufacturers are required to be members of the ANT+ Alliance in order to be added to this list. The value 255 (0x00FF) has been reserved as a development ID and may be used by manufacturers that have not yet been assigned a value. More information is available in this Tech Bulletin.

Follow the Transmission Requirements

The profile document conveniently defines for you what messaging period to use, in what order to transmit main data pages, and how often to include common data pages. This information may or may not be found in a dedicated section. These considerations are very important, so be sure to find them.

Use Examples

The ANT Windows Library Package contains a simple console C# demo (under the software tab of the downloads page) that demonstrates how to setup ANT channels and is the best point for getting started using the libraries. To connect to an ANT+ sensor, you will need to modify the channel parameters (including the network key) to match those in the device profile you are interested in.

Additionally, ANT+ embedded reference designs are available for some of the ANT+ device profiles. These can be used as examples to provide guidance on how to implement the various aspects of a given profile.

SimulANT+ (or the old ANT+ Simulators) can be used to simulate ANT+ transmitters and receivers for each device profile and is very useful in verifying that your design behaves as the profile describes.

Be Thorough

Not all profiles are created equal. Even though the general data payload format is consistent between profiles (with the exception of some older ones), each profile introduces considerations that may not be found in other profiles. Just be sure that your implementation is an accurate reflection of what the profile document describes and you’ll be well on your way to succeeding in the ANT+ world.

If you would like to be sure that you have implemented a profile correctly, and would like to be able to market your product using the ANT+ logo, and device profile icon, then you will also need to go through certification.

Next Steps: Certification