diff --git a/neosensor/libraries/neocampus_drivers/SCD4x.cpp b/neosensor/libraries/neocampus_drivers/SCD4x.cpp
index 97d532c730cd473537dcaed25f7314a56a569e6d..8d4a050ab308cf8baeab71c4a5c438349c1a6569 100644
--- a/neosensor/libraries/neocampus_drivers/SCD4x.cpp
+++ b/neosensor/libraries/neocampus_drivers/SCD4x.cpp
@@ -42,16 +42,17 @@
 const uint8_t SCD4x::i2c_addrs[] = { 0x69 };
 
 
-/* declare kind of units */
+/* [static] declare kind of units */
 const char *SCD4x::units_co2  = "ppm";
 const char *SCD4x::units_temp = "celsius";
 const char *SCD4x::units_rh   = "%r.H.";
 
-/* declare others static vars */
+/* [static] initialize static vars */
 unsigned long SCD4x::_lastMsRead  = 0;
 uint16_t SCD4x::_co2_sensor = (uint16_t)(-1);
 uint16_t SCD4x::_t_sensor   = (uint16_t)(-1);
 uint16_t SCD4x::_rh_sensor  = (uint16_t)(-1);
+boolean SCD4x::_periodic_measure  = false;
 
 
 /**************************************************************************/
@@ -124,15 +125,24 @@ boolean SCD4x::begin( uint8_t addr=-1) {
   if( (addr < (uint8_t)(I2C_ADDR_START)) or (addr > (uint8_t)(I2C_ADDR_STOP)) ) return false;
   _i2caddr = addr;
 
+
+WARNING: if periodic measurement is already started ==> no others command will be accepted
+
+
   // check device identity
   if( !_check_identity(_i2caddr) ) return false;
 
   /* set config:
-   * - nothing to configure
-   * - reset ?
+   * - software reset
+   * - calibration ?
+   * - start periodic measurement
    */
 
-  // define defaults parameters
+  // soft reset
+  sw_reset( _i2caddr );
+
+  // start periodic measurement
+TO BE CONTINUED
 
   /* start lastmsg time measurement.
    * This way, we get sure to have at least a first acquisition! */
@@ -148,10 +158,14 @@ boolean SCD4x::begin( uint8_t addr=-1) {
  */
 void SCD4x::powerON( void )
 {
+  // check if device's periodic measurement is not already engaged 
+  if( _periodic_measure ) return;
+
   // select proper command
-  uint16_t _cmd = static_cast<uint16_t>(scd4xCmd_t::read_measurement);
+  uint16_t _cmd = static_cast<uint16_t>(scd4xCmd_t::start_periodic_measurement);
+  _i2caddr
 
-  // device does not feature continuous integration so nothing to start or stop
+  _periodic_measure = true;
 }
 
 /*
diff --git a/neosensor/libraries/neocampus_drivers/SCD4x.h b/neosensor/libraries/neocampus_drivers/SCD4x.h
index 54ae6ba11b96cb2fcbe9eb67d1a4984ad6fe1ed5..8f9d1ba0ef4d6288cc1edbd1436b41c528bf6dea 100644
--- a/neosensor/libraries/neocampus_drivers/SCD4x.h
+++ b/neosensor/libraries/neocampus_drivers/SCD4x.h
@@ -149,6 +149,7 @@ class SCD4x : public generic_driver {
     static uint16_t _co2_sensor;  // shared across all instances
     static uint16_t _t_sensor;    // shared across all instances
     static uint16_t _rh_sensor;   // shared across all instances
+    static boolean _periodic_measure;   // if automatic periodic measurement has been activated
 
     // CRC computation
     static const uint8_t _crc8_polynom;    // crc P(x)=x^8+x^5+x^4+1 (0x31) 1.00110001, init=0xFF
diff --git a/neosensor/libraries/neocampus_drivers/SHT3x.cpp b/neosensor/libraries/neocampus_drivers/SHT3x.cpp
index 471ed6ef2945ab8fced55178c7bebd0dc31fb955..7080a1b96ef74812c4b3a6af7a1c53cdca167895 100644
--- a/neosensor/libraries/neocampus_drivers/SHT3x.cpp
+++ b/neosensor/libraries/neocampus_drivers/SHT3x.cpp
@@ -38,7 +38,6 @@
 /**************************************************************************/
 /*! 
     @brief  Declare list of possible I2C addrs
-    Note: only one i2c addr !
 */
 /**************************************************************************/
 const uint8_t SHT3x::i2c_addrs[2] = { 0x44, 0x45 };