Welcome to the Small Earth Technology ANT+ Class Libraries
Whitespace is the programmers punctuation mark
Overview
Welcome to the Small Earth Technology ANT+ class libraries and examples. My goal is to provide a frictionless
as possible implementation to enable applications to interface and acquire data from a variety of ANT+
sensor sources. The primary class is AntPlus and it contains device profiles of ANT+ devices and common data pages.
The AntRadioInterface class permits different interfaces to the hardware being used and lends itself to
dependency injection.
The libraries are largely intended to support applications interfacing to ANT devices.
This could be a group app, mobile app, push data to the cloud, or some other purpose.
The primary projects are AntPlus and AntRadioInterface.
AntPlus defines the device profiles derived from the AntDevice class. The AntRadioInterface defines an interface
to interact with an ANT radio to send and receive from an ANT device. Implementors of the AntRadioInterface supply a
concrete implementation.
The projects in the Examples folder illustrate usage of the libraries. Of particular note is the AntUsbStick
project. It provides a concrete implementation of the AntRadioInterface using the Dynastream/Garmin ANT USB
sticks. This project is referenced by the examples.
Getting Started
Become an ANT+ Adopter! There is no membership fee. Create a login and go to
Become an Adopter
This provides you with access to device profiles, SDK's, and useful software tools.
Prerequisites
Visual Studio 2022 Community Edition or higher must be installed.
Clone or fork this repository.
OPTIONAL: ANT USB stick hardware and device drivers. I use two sticks for testing and some example projects require it.
You can get them from DigiKey for around $45 for two.
OPTIONAL: Only needed if you intend to modify the libraries I've provided in the AntUsbStick project.
Download the
ANT PC SDK zip file, unblock, and install.
As of April 26, 2025 the Ant+ class library binaries will be licensed under the
Open Source Maintenance Fee
This fee is required to be paid by all users of the binaries who generate revenue
from projects that utilize any of the ANT+ library binaries. The source code is
still freely available under the MIT license. You can
pay via GitHub Sponsors.
Support Open Source Projects!
A portion of the revenue generated by this project goes to other open source projects
utilized by this project. This helps to ensure a sustainable future for the great
ecosystem of open source projects!
Please note that the Open Source Maintenance Fee is not a license fee. It is a
maintenance fee to support the open source projects you use in your project.
You are free to use the source code as you see fit. The fee is only required if
your project generates revenue.
What's Old
The AntMulticastServer console application and XamAntClient client are no longer supported.
Xamarin is no longer being supported by Microsoft. MAUI is the successor to Xamarin.
Examples
The AntUsbStick class library is derived from AntRadioInterface and implements a concrete implementation
that supports commercially available ANT USB sticks from Dynastream/Garmin. This project is essential to the other examples.
It's now available as a NuGet package.
The WpfUsbStickApp WPF application demonstrates usage of the ANT class library. It depends on the
AntUsbStick project and the hosting extensions.
The MauiAntGrpcClient This example illustrates using .NET MAUI and gRPC. You can find it in the Examples folder
under MAUI-gRPC. It consists of four projects - a shared gRPC library, the gRPC service, the service installer, and the client application.
The client application runs under Windows, Android emulators, and Android mobile devices. I have not tested it on any of the other platforms
MAUI apps can run on. Details are located here.