Connecting Things to the Internet with SIGFOX

| 14 Comments | 8 minutes read

A few weeks ago ekito has been invited to the first SIGFOX VASP training day at their headquarters in Labège, near Toulouse.

SIGFOX is an IoT (Internet of Things) network provider with a dedicated wireless network that makes it surprisingly easy to connect Things to the Internet. SIGFOX claims to have already full network coverage in France and now seeks to build up its network in other countries.

As participants of the VASP training day, we had the chance to take home some trial kits to make up our own mind.

About connecting IoT devices

The particularity of IoT is that sensors send very little information at very low data rates. For example, a thermometer can send a measurement once a minute. The temperature value itself can be encoded in very few bytes. No headers, no XML tags, no special syntax like JSON is required.

By today’s standards this is incredibly little information but enough to make this one little Thing worthwhile. Now imagine a swarm of thousands or even millions of these little sensors, each one providing very little bits of worthwile information. We get a big picture at an incredible resolution. The possibility to federate these little Things, I believe, is the real power of IoT.

One can take the analogy of modelling a truck load of sand. Up to now, the load of sand had been modelled as one wholesome entity. Now the load of sand can be modelled grain by grain.

Considerable breakthroughs have been made in modeling, storing and analysing large amounts of data, commonly referred to as Big Data. However up to now, with respect to IoT, one piece in the chain was missing: The ability to easily and cost-efficiently connect very large populations of sensors to the internet.

SIGFOX provides this enabling technology for IoT applications, connecting all those little worthwile things and as such creating incredible new types of applications.

What exactly does SIGFOX offer?

SigFox provides access to a dedicated long distance highly sensitive low data rate network. A maximum of 12 bytes of information can be transmitted per data burst,  every 10 seconds. Sigfox provides to its customers a radio modem chip for integration with their IoT appliactions. The chip is called TD1202. It is manufactured by the french company Telecom Design from Bordeaux.

The TD1202 radio modem chip on the starter kit’s breakout board

The TD1202 radio modem chip on the starter kit’s breakout board

The radio modem sends data bursts to base station antennas. Ideally a signal is picked up by more than one antenna. The data packet is demodulated in the base station and then sent to the sigfox data center. In the data center, packets received from the same device through several antennas are de-duplicated. The data center then forwards received data to service subscribers via registered REST-style callback web services.

sigfox schema

Subscription fees to the service depend on the number of registered devices. They can be as low as 2€ per device per year.

Examples of Use Cases

SIGFOX also showed us some current use cases, such as services to know the available parking lots in a city; or a monitoring solution for the SNCF (the French national railway) to check the vibrations by putting sensors on the rails.

So SIGFOX covers all France?

Well not quite – yet. While the network seems to have good coverage around all major cities, some blackspots still exist in rural areas. We tested SIGFOX from our office in the city centre of Toulouse and from the homes of three of our colleagues situated in rural areas around Toulouse. All tests have been executed indoors with the following results:

  • Toulouse, Place de la Bourse (ekito HQ) – ok.
  • Caraman – ok.
  • Cintegabelle – ok.
  • Gaillac – not ok.

This map shows our test results.

I have presented our results to Thomas Nicholls. He pointed out that SIGFOX recently signed a contract with TDF, a french radio antenna operator, with the objective to deploy more antennas and make their network more dense and reliable.

Hands on

Now that you have an overall understanding of the SIGFOX solution, we will walk through a little hands on with the starter kit.

The kit comes with a breakout board, housing the TD1202 chip, an antenna connector, an FTDI programming cable connector and another female PIN connector for hardware integrations with external boards, such as Arduino or Rasperrry Pi.


First, attach the antenna and connect the kit to your computer with the provided FTDI – USB cable. Be careful to plug the FTDI cable the right way around into the breakout board. The black cable goes with the pin on the left marked “FTDI BLACK”.

Make sure there is a serial terminal program installed on your Computer.

In MacOS and Linux use the screen utility. In Windows use putty. Here are the install instructions for each operating system:


Install screen with:

$sudo apt-get install screen


screen should already be installed.

Download and install the FTDI driver that can be found at


Download and install putty from

Install the FTDI driver. Plug in the cable connected to the breakout board. Then wait for the driver to install automatically. A new emulated COM port should appear, in “System Peripherals”, usually COM3.

ScreenHunter_01 May. 22 12.01

On your computer, open a serial terminal. General connection parameters are:

9600 baud, 8 bits, 1 stop bit, no parity, no flow control


$ sudo screen /dev/tty.usbserial-FTG5H1ES 9600,cs8,istrip

Note: the device could be different, just run a ls -rtl /dev/tty* in a terminal and check for something containing “usbserial”.


$ sudo screen /dev/ttyUSB0 9600,cs8,istrip

Note, you might not have the rights to access to your USB device. This was the case with my computer. That’s why I start the terminal as super user.


In Windows, start putty and use the configuration shown in the two screen shots below:

ScreenHunter_03 May. 22 15.28

ScreenHunter_04 May. 22 15.28

Once the serial terminal is started, check that you can communicate with the radio modem by typing the following AT command:


This should return something as follows:

Telecom Design TD1202
Hardware Version: 0F
Software Version: SOFT1117
S/N: 0000580A
E1 V1 Q0 X1 S200:0 S300:24 S301:2 S302:14 S303:1

Ok, the serial communication between your computer and the radio modem works. We just asked for some system information. The device’s serial number (580A), displayed in line 4, will be of use later on.

Now we are ready to send a message. Lets send the typical “Hello World” message. Messages are sent in binary format. So “Hello World” needs to be translated into a sequence of hexadecimals, each one representing the ASCII character of the letter in question. The website does this very well for us. The resulting code is 48 65 6c 6c 6f 20 57 6f 72 6c 64.

The message can be sent with the following AT command:


After a few seconds, the terminal should return with:


To check that the message arrived at the backend server, I log into the SIGFOX management console with the credentials provided with the starter kit. From there I browse to see received messages for device 580A.

 Screenshot from 2013-05-22 16:11:21

As you can see, the message has been well received with a respectable signal strength of 16.4dB. What’s neat is that our litttle message has been decoded. It reads as expected “Hello World”.

A more sophisticated trial

My colleague Arnaud Boudou connected a starterkit to his Rasperry Pi in order to monitor battery voltage. The result is pretty impressive and can be seen on his web site. Arnaud also integrated his Rasperry Pi using the USB/FTDI cable. He registered a callback web service that is called every time a measurement is received from SIGFOX. Statistics on his page are updated accordingly.

The Rasperry Pi source code for communicating with the SIGFOX modem can be found in The following code snippet from illustrates how the voltage reading is sent to the SIGFOX network:

# Push data to SIGFOX network
   if SIGFOX_ENABLE == 1:
      if sigfoxPush % (SIGFOX_PUSH_RATE / REFRESH_RATE) == 0:
           import datetime
           today =
           sigfox.write("at$ss=" + sigfoxData().encode("hex") + "r")
           if DEBUGMSG == 1:
               print today.strftime("%Y-%m-%d %H:%M:%S - Sent to SIGFOX: "
                                  + sigfoxData().encode("hex")
                                  + " a.k.a " + sigfoxData()
                                  + "(V) in hexadecimal")
       sigfoxPush = sigfoxPush + 1
       # You don't want the counter to become too big 🙂
       if sigfoxPush > (SIGFOX_PUSH_RATE / REFRESH_RATE):
           sigfoxPush = 1

The following data callback has been registered at SIGFOX, making it forward received battery voltage measurements to Arnaud’s website:

[GET] https://*********.fr/sigfox/index.php?id={device}&time={time}&signal={signal}&data={data}&avgsignal={avgSignal}&duplicate={duplicate}


With our hands-on session here at ekito I can conclude that SIGFOX fulfils its claim of being an enabling technology for IoT solutions. We will certainly continue our experiments to build up some more experience with it.

Share Button

Bert Poller Author: Bert Poller

Architecte SI, Artisan logiciel - J'aime programmer et concevoir des systèmes de toutes sortes.
D'origine allemande, polyglotte pas qu'en langages de programmation. Technophile, avec un regard critique sur le monde.


  1. Thanks for a great article Bert!

    Thomas – Sigfox

  2. Pingback: Connecter des objets sur l’Internet avec SIGFOX | ekito people

  3. Pingback: Connecting Things to the Internet with SIGFOX |...

  4. Pingback: Connecting Things to the Internet with SIGFOX |...

  5. What a nice write-up, Bert! Hope life is treating you guys well! Take care!

    Peter – Kaazing

  6. Pingback: MQTT : the open road to internet of things | ekito people

  7. Pingback: Techno communication | Pearltrees

  8. Hello, Bert.

    As I don’t know sigfox solution, I wonder how the modem can send the message to sigfox server through the Internet?
    Is there any sigfox base station near you?


    • Bert Poller


      Yes, there are a few base stations near me. Sigfox have a network of base stations around France and their network is becoming more and more dense. As of what I understand, they are currently rolling out their infrastructure in different countries around the world. Maybe soon its yours 😉

  9. Hi very nice article
    the kit is expensive ?

    • Bert Poller

      Hi Chris,

      things evolved since I wrote my article. You can buy Arduino based experimentation kits from Snootlab, starting at 80€. They comprise a one year subscription to the Sigfox network. Please note however that this subscription applies to French territory only.

  10. Hi Bert,

    Thx for this explanations.

    Few questions :
    Q1) Is there any possibility to send data to the remote object, and so to activate an output.
    I am interested in pump control. Simple functions :
    F1- you send an order, the pump starts.
    F2- The pump send back a status, including 4 bits of input, 2 bytes of analogue input such as voltage, the water flow.
    A bidirectional message is enough :
    F2a- every minutes : the remote pump checks for new order (Stop / Start)
    F2b- every five minutes if started : the remote pump send (input message)
    F2c- every two hours : the remote pump send a status equivalent to say “I’m alive”

    Q2) where to get a kit and subscription as I am jobless currently, and have no company to sponsor me

    Q3) for the very first bidirectional trial, can use only my Ubuntu computer ?

    One comment, that’s amazing to see again, the basic of modem communication.
    FYI, I was remote working from Nancy to ENSERB Vax w/ a minitel in 1985…

    Best regards.
    Richard Chapuzot

    • Bert Poller

      Hi Richard,

      glad to see that Sigfox’s AT commands make you feel back in the future.

      Bi-directional communication has been recently added to the Sigfox protocol. However, beware of the limited number of messages that can be sent back and forth (~140 messages a day). Are these sufficient for your pump controlling use case?

      Furthermore, the most experimentation boards that I am aware of do not yet support bi-directional communication.

      Best regards,

  11. Pingback: IoT, Sigfox et tortue au Hackathon Snootlab 2014 - ekito people ekito people

Leave a Reply

Required fields are marked *.

CommentLuv badge