mkr fox 1200 - sigfox seems not working

Hi all and first sorry for my english

I just bought a mkr 1200.
Im trying to read the sigfox id in order to register my device.

I send the program below to the arduino and i've got these message on serial port meaning that sigfox is not working.
Do you have an idea about what is the issue. Thanks a lot for your help.

Serial messages (log) :
OK1
OK2
Shield error or not present!

#include <SigFox.h>
#include <ArduinoLowPower.h>

void setup() {
Serial.begin(9600);

while(!Serial) {};
Serial.println("OK1");
if (!SigFox.begin()) {
Serial.println("OK2");
Serial.println("Shield error or not present!");
return;
}
String version = SigFox.SigVersion();
String ID = SigFox.ID();
String PAC = SigFox.PAC();

// Display module informations
Serial.println("MKRFox1200 Sigfox first configuration");
Serial.println("SigFox FW version " + version);
Serial.println("ID = " + ID);
Serial.println("PAC = " + PAC);

Serial.println("");

Serial.print("Module temperature: ");
//Serial.println(SigFox.temperatureInternal());

Serial.println("Register your board on Activate | Sigfox Buy with provided ID and PAC");

delay(100);

// Send the module to the deepest sleep
SigFox.end();

}

void loop()
{
return;
}

Any idea ?
Should i have to sendback my mkr fox 1200 ?

Hi @geget

Looking at SigFox/SigFox.cpp at master · arduino-libraries/SigFox · GitHub, there are two ways to get into if (!SigFox.begin()) :

  • Undefined SIGFOX_SPI var. Supposed to be covered by the MKRFOX core libs
  • Version issue, cf
    String version = SigVersion();
    if (version == "0.0")
    return false;

Can you log the SigVersion() output ?

Hi geget

I just found the resolution of your problem.

Your problem is in this line :

Serial.println(SigFox.temperatureInternal());

You just have to switch temperature and Internal

Serial.println(SigFox.internalTemperature());

I find the resolution on the source code of the librarie here :

Have a good day guys! :slight_smile:

ps : Sorry too for my english ahah