diff --git a/src/didacticNet.cpp b/src/didacticNet.cpp
index 6529e29f65f275139ccda0158965048c4ec2ed56..1b69eb7f69f451af788eed4512b5d0f0e170d21f 100644
--- a/src/didacticNet.cpp
+++ b/src/didacticNet.cpp
@@ -34,7 +34,7 @@ void didacticPSNet::setStream(Stream& stream){
 }
 
 bool didacticPSNet::handleNetwork(){
-  if(_waitingTime <= millis()){
+  //if(_waitingTime <= millis()){
   	if(checkData()){
   		if(recieveData()){
         //Serial.print("Message filter: ");Serial.println(_readBufferMessage[1]);
@@ -45,21 +45,23 @@ bool didacticPSNet::handleNetwork(){
   		}
   		_waitingTime = millis()+ random(CSMA_MIN_DELAY_MS, CSMA_MAX_DELAY_MS);
   	}
-  	else if(_dataToSend){
-  		//send data to network
+  	//else if(_dataToSend){
+    if(_dataToSend && _waitingTime <= millis()){
+      //send data to network
       //TODO: test added CSMA_CHECKDELAY + 2nd checkData()
       delayMicroseconds(CSMA_CHECK_DELAY_US);
       if(!checkData()){
-      	if(!sendData()){
-    			return false;
-    		}
+        if(!sendData()){
+          return false;
+        }
         else{
           _dataToSend = false;
-          _waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
+          //_waitingTime = millis()+ random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
+          _waitingTime = millis()+ _intervalTime;//random(CSMA_MID_DELAY_MS, CSMA_MAX_DELAY_MS);
         }
       }
-  	}
-  }
+    }
+  //}
 	return true;
 }
 
@@ -139,10 +141,17 @@ bool  didacticPSNet::recieveData() {
 	return false;
 }
 
+		void  didacticPSNet::setInterval(long intervalTime){
+      _intervalTime = intervalTime;
+    }
+
+
 //**************************************************************************
 // CLIENT
 //**************************************************************************
-didacticPSNetClient::didacticPSNetClient(){}
+didacticPSNetClient::didacticPSNetClient(){
+  _intervalTime = INTERVAL_CLIENT;
+}
 
 didacticPSNetClient::~didacticPSNetClient(){}
 
@@ -414,7 +423,9 @@ int didacticPSNetClient::readSerialData(Stream& rsStream, char* rsDataArray, cha
 //**************************************************************************
 //Broker
 //**************************************************************************
-didacticPSNetBroker::didacticPSNetBroker(){}
+didacticPSNetBroker::didacticPSNetBroker(){
+  _intervalTime = INTERVAL_BROKER;
+}
 
 didacticPSNetBroker::~didacticPSNetBroker(){}
 
diff --git a/src/didacticNet.h b/src/didacticNet.h
index fda76125d25b7ba99a791feecf4b73beec7f4979..13250d6ecfd65fc224732297f3029606dfca9a16 100644
--- a/src/didacticNet.h
+++ b/src/didacticNet.h
@@ -31,6 +31,9 @@
 #define CSMA_MID_DELAY_MS    20
 #define CSMA_MAX_DELAY_MS    30
 
+#define INTERVAL_CLIENT	   500L
+#define INTERVAL_BROKER	     0L
+
 #define MAX_NR_TOPICS_CLIENT   5
 #define MAX_NR_TOPICS_BROKER  20
 #define MAX_LEN_TOPICS 		  10
@@ -58,6 +61,7 @@ class didacticPSNet
 
 		bool _dataToSend = false; // int Data to send for queue?
 		unsigned long _waitingTime = 0L;
+		unsigned long _intervalTime;
 		int _currentTopicLength = 0;
 		int _currentPayloadLength  = 0;
 
@@ -84,6 +88,8 @@ class didacticPSNet
 		bool handleNetwork();
 		bool isDataToSend();
 
+		void setInterval(long);
+
 };
 
 class didacticPSNetClient : public  didacticPSNet