Customize you SigFox TD1208 with SDK

As described in a previous post, TelecomDesign chip can be customized to add your own application built-in the chip and made a really affordable IoT platform. This blog post is describing the first step to start building it. Read Next for details.

Get the Eclipse environment in SDK

Telecom Design have chosen an eclipse and opensource based solution to support their chip. This is a good news. Unfortunately the package provided is only WinX compatible and it seems to be a mandatory platform as the preferred compiler IAR KickStart seems not to be provided on other platform. According to the documentation, this compiler saves up to 40% of program size compared to gcc.

The SDK is available following this link.

  • The first step is to register on TD website
  • The second step is to link your github account in the TD Website
    • For this, on top menu “online service” you choose “developper dashboard”
    • Then you login
    • You click on MyAcount
    • You click on GitHub panel
    • Then you add your GitHub id here

Once done, you can access to the two GitHub repository of TelcomDesign accessible following this link : https://github.com/Telecom-Design/ .

One is public and contains documentations, the second contains the example source code and libraries.

The official page to get the eclipse SDK is this one ; if broken, the upper page is that one this is also the best link to get the latest.

The last thing you need is a FDTI cable to download the software of RS232 port and the tools to flash …

Let’s install and configure

  • First thing is to uncompress the TF_RF_Module_SDK_Tools-v.0.0.zip file in c:\ according to the documentation, this path is mandatory. You have, at end, the following tree c:\TD\TD_RF_Module_SDK…
  • The next step are defined in the github manifest.
  • Go to Window System Properties >> Advance panel >> Environment Variable. Then add to your PATH list : C:\TD\TD_RF_Module_SDK-v4.0.0\gnu\bin;C:\TD\TD_RF_Module_SDK-v4.0.0\gnu\arm-none-eabi\bin
  • Then reboot.
  1. Navigate to the "C:\TD\TD_RF_Module_SDK-v4.0.0\eclipse" folder and double-click on the "eclipse.exe" icon
  2. Open the "File" menu and select the "Import..." item.
  3. In the "Import" dialog, unfold the "Git" folder by clicking on the "+" sign left to it, select the "Projects from Git" item and click on the "Next >" button
  4. In the "Import Projects from Git", select the "URI" icon ad click on the "Next >" button
  5. Enter The Github repository URL "https://github.com/Telecom-Design/TD_RF_Module_SDK.git" in the "URI" field
  6. Enter your Github username and password in the "User:" and "Password:" fields, respectively and click on the "Next >" button
  7. Check the "Master" branch box and click on the "Next >" button
  8. Enter "C:\TD\TD_RF_Module_SDK-v4.0.0\Github\TD_RF_Module_SDK" in the "Directory:" field and click on the "Next >" button
  9. Check the "Import existing projects" radio button and click on the "Next >" button
  10. Click on the "Finish" button. The Git import will take place, this may take a while
  • Then load the working set to get a better project organization
  1. Open the "File" menu and select the "Import..." item.
  2. In the "Import" dialog, unfold the "General" folder by clicking on the "+" sign left to it, select the "Working Sets" item and click on the "Next >" button
  3. Enter "C:\TD\TD_RF_Module_SDK-v4.0.0\Github\TD_RF_Module_SDK\TD_RF_Module_SDK.wst" in the "Browse..." field, check all working sets and click on the "Finish" button
  4. Click on the small downwards arrow in the top-right corner of the "Project Explorer" panel and select the "Select Working Sets..." itemchangeworkingset

 

 

  1. In the "Select Working Sets" dialog, click on the "Select All", then on the "OK" button
  2. Click on the small downwards arrow in the top-right corner of the "Project Explorer" panel again and select the "Top Level Elements > Working Sets" item

 

Let’s configure the right compiler

Select the TD1208 in build list

Select GCC Release

The IAR compiler is set by default on certain project but it has be installed following this procedure. For each of the Common_Libraries/libtdxxxx, click on the icon here in red and select GCC Release.

Let’s build our first custom firmware

The first test we can do is making the led blinking.

Select the TD1208 in build list

Select the TD1208 in build list

One you have selected the blink project on the left panel, click on the icon here in red and select the right target in the list. Basically it should be TD1208_release for a start.

Once done, you can build the project using the Hammer icon on the right. this will generate a .bin file ready to be uploaded to the chip.

 

Let’s load the firmware to the chip

Before you did this last important step, you have to notice that once the blink module loaded in the chip, you could not be able to load a new firmware anymore as easily. I can’t exactly tell you why but once blink loaded the firmware upload is only working if you execute an electrical reset during TDLoader acquiring phase.

The next and last step is to load the firmware file into the chip. The documentation propose to use specific Launcher but I was not able to use them. It could be due to the direct RS232 connection of my chip instead of using a development board. The solution is to directly use the image loader you can find here. Then you have to select the bin file located here : C:\TD\TD_RF_Module_SDK-v4.0.0\Github\TD_RF_Module_SDK\examples\core\blink\TD1208 Release\blink.bin and you will get the light blinking !

Let’s have fun

Now you can do your own firmware and have fun with SigFox !!

15 thoughts on “Customize you SigFox TD1208 with SDK

  1. Hello,
    I followed your instructions and everything worked well. Then I tried with another project, but the problem is that I can’t load a new firmware anymore. I checked your advices about the electrical reset but I don’t know exactly how it works. Could you please enlighten me ?

    • I had this issue too. The way to make it work was to manually execute a hardware reset ( put reset pin to ground (to check) ) during the time the firmware uploader try to find the device.

      • I’ve just done it and nothing happened. By the way, I forgot to mention that in my previous post, but the led isn’t blinking anymore. Is there any solution for that ?

      • you can eventually take a look to my post about how to restore the device from a SWD interface based on beagle bone black gpio or simpely use a buspirate or any other jtag cable to reflash. I saved one of myne with this solution – but it was briked due to a cable disconnection in the middle of the transfer. If it is not your case the reset solution could work, retry !

  2. Hello,
    I had the same problem, and the reset solution was not working : I got answer ACK not received in TDloader.

    In my case the solution was to UPDATE the FTDI drivers with the one provided in the Telecom Design SDk (I used previously installed drivers from an other project), reboot computer, restart TDloader , Acquire > do the reset trick proposed by Paul.

  3. I have an EVB for TD1208 with an extra board with 20 pin connector and an EFM32 Tiny Gecko. Using the serial connector and a TTL-232R-3V3 (RS232 to USB) I sent AT commands and the module answered. After downloading to TD1208 a .bin example I couldn’t anymore run AT commands because de module don’t answers and after a reset the LED don’t blink.

    I tried run TDloader with “td 1208_modem_SOFT1291.bin” file and it don’t answer keeping always message “Synchronising…”. I tryed to H/W reset the module, during the TDloader process and nothing changed.

    How can I load the firmware to SIGFOX module to reactivate it, for example to return to respond to AT commands?

  4. Hello ,
    Do you have any update on how to use the special eclipse Launcher to flash the TD chip?
    I wonder if the SDK and flasher are compatible with Windows 8?
    As an alternative I use the TD loader to flash the code. It works only the first time with the blink firmware. Then I can’t update the firmware anymore even if I perform a hard electrical reset.
    Thanks
    Francois

    • TD Loader is a good solution to flash ; to avoid having to perform a hard electrical reset, add lines in your main loop to execute a reset on ATZ reception on serial line (see my blog post on this topic).
      I never used the Launcher, I can’t help on this point.

  5. Was anybody able to make it work on Windows 8?

    I don’t kow if it’s related, but, no matter what i do i get tones of error like this:

    Program “arm-none-eabi-gcc” not found in PATH…

    I tried adding the compiler directory to path.. tried some other tricks advised on the web, but no luck.

    before seeking help, have anybody had the same issue at some point?

    as we say in french “je sèche!”

    Thanks!

    • Did you install it in c:\TD ? there are some static reference in the projects that can cause this problem. If you ; check the eclipse config. For sure the project organization is not really nice and could vary for each of the projects in the example …

      • Thanks Paul,

        Well, the project do compile, and i can generate the *.bin file, although i have many errors.. not the way i like doind things!

        Things i also have a BT module on the same board, i’ll use it to put my user application and control the TD1208 with AT command for now…

  6. Hello, first of all, thank you so much for these informations. I have an TD1208R that I want to program but the links for downloading the SDK are broken. Any solution ?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.