  *
  * \param[in] board type of board (Mega, Uno, ...)
  * \param[in] shield type of shield (Ethernet, Wifi,...)
+ *
+ * \return true: opened, false: error while opening SD
  */
 bool openSD(uint8_t board, uint8_t shield);
+
+/**
+ * checkNewConfig
+ * Checks if there isa new node configuration (received from the broker MQTT).
+ *
+ * \return true: it is received a new configuration, false: no new configuration
+ */
+bool checkNewConfig();
+
+/**
+ * updateConfig
+ * Loads the new configuration and save it on SD card.
+ *
+ * \return true: if no errors, false: othewise
+ */
+bool updateConfig();
+
+/**
+ * updateConfig
+ * Loads the new configuration and save it on SD card.
+ *
+ * \return true: if no errors, false: othewise
+ */
+bool updateConfig();
+
+/**
+ * loadConfig
+ * Loads configuration from SD card, if #CFG_FILENAME file is not present, it will be use the default values.
+ *
+ */
+void loadConfig();
 
 
 

  {
    Serial.println( F(" done.") );    
  }

  Serial.println( );
  Serial.println( F("Configure smart object...") );

  Serial.println(F("Network configuration: "));
#ifdef STATIC_NETWORK_CFG
  Serial.print( F("\tIP Address: ") );
  Serial.println(IPAddress( netConfig.ip() ));  
  Serial.print( F("\tNetmask   : ") );
  Serial.println(IPAddress( netConfig.netmask() ));  
  Serial.print( F("\tGateway   : ") );
  Serial.println(IPAddress( netConfig.gateway() ));  
  Serial.print( F("\tDNS       : ") );
  Serial.println(IPAddress( netConfig.dns() ));
#else
  Serial.print( F("\tIP Address: ") );
  
