Sigfox Library for devices

Why a Sigfox Library?

As a device maker, your interest is in your device and your application. You already know that Sigfox is a good communication solution for your business. What about programming the communication protocol in your device? The Sigfox library is the answer. It avoids any burden about protocol implementation.

The Sigfox Libary is an abstraction layer: it hides all the radio protocol details and exposes a set of simple functions. 

If you build your solution with a Sigfox Verified module, the Sigfox Library is already embedded in the module you have selected. If you choose to design customized radio function in your device, you can contact Sigfox to get the Sigfox Library for your target.

Sigfox Library Architecture

The Sigfox Library is an abstraction layer. It connects your application software to the radio chipset, whether it is embedded in a Sigfox Ready module or it is in your own modem design.  

Figure 1: Sigfox Library architecture

 The Sigfox Library performs the usual features of a communication protocol: 

  • packet formatting, 
  • local functions (esp. authentication, crypto and error check) 
  • and communication procedures

The Sigfox Library's core API is composed of base and optional features. The base features take care of the frame building and scheduling (in time and frequency). The optional features deal with Radio Configuration support, Downlink support, Secure Element support, etc. 

To make the link between the Sigfox Library and the hardware components, there is a set of drivers, that performs the following functions:

  • BPSK modulation / GFSK demodulation, which is optimized for each radio chipset characteristics,
  • Non-volatile memory management, which stores parameters and values,
  • Memory Allocation (dependant of each microcontroller)
  • AES encryption feature, which performs authentication and/or encryption functions with or without support from an hardware AES block,
  • Timer management,
  • Secured Memory Management to store the ID, Key, and PAC credentials.

The drivers are dependent on the radio chipset. They make the communication link between the microcontroller running the Sigfox Library and the radio, MCU chipsets and other hardware elements, whatever the communication channel is. They are developed and provided by the chipset vendor.

Sigfox State Machine

The Sigfox State Machine implements several procedures of the Sigfox radio protocol. It is embedded in the Sigfox Library and consists of five states. The transitions between the five states give you a flavor of the radio protocol behavior. As you can see, it's simple, really simple!

Figure 2: the state machine embedded in the Sigfox Library

Sigfox Library APIs

If your device uses a Sigfox Verified Module or a Reference Design, the Sigfox Library is already embedded in it. Usually, a wrapper is added by the module manufacturer to comply with its own company's software requirements. When you want to transmit a message over the Sigfox network, you just have to prepare the content of your message and call a function. That's it! 

If you plan to build your own design, you can contact Sigfox to get the latest Sigfox Library. Among other things, you will get:

  • the header files describing the function prototypes,
  • the binary file compiled for the specific microcontroller target.

In addition to the Sigfox Library, Sigfox may provide device makers with additional software codes called Addons. For example, the Sigfox Verified Addon is an application which contains test modes. It has to be flashed into your device along with the Sigfox library for the Sigfox Verified Certification.