Switched to this lib:
but did not help (though the lib works as expected)
Seems that my hard fault problem was related bad string (pointer) handling. I hope one day I will be able to program my spark core using http://www.rust-lang.org/
This was the fix:
char message[50] = "";
char *messagePtr = message;
setup
Spark.variable("message", messagePtr, STRING);
and in the loop
sprintf(messagePtr, "{\"Humidity\":%f,\"degF\":%f,\"degC\":%f,\"degK\":%f,\"DewPoint\":%f,\"DewPointSlow\":%f}", Humidity, degF, degC, degK, DewPoint, DewPointSlow);