diff --git a/main.cpp b/main.cpp
index c12873ac8748d154978b3d114f978f99a21aa9db..50b0ea93680cd4f74eeaac813f03f67944e31624 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,6 +1,7 @@
 
 #include <cstdio>
 #include <cstdlib>
+#include <vector>
 #include "miosix.h"
 
 using namespace std;
@@ -15,10 +16,13 @@ void blinkThread(void *argv)
     long long tick=getTick();
     for(;;)
     {
-        if(led2::value()) led2::low(); else led2::high();
+        long long prevTick=tick;
         tick+=period;
         Thread::setPriority(Priority(tick)); //Change deadline
-        Thread::sleepUntil(tick);
+        Thread::sleepUntil(prevTick); //Make sure the task is run periodically
+        if(led2::value()) led2::low(); else led2::high();
+        delayMs(14);
+        if(getTick()>tick) iprintf("Deadline missed (A)\n");
     }
 }
 
@@ -28,14 +32,17 @@ int main()
     led1::mode(Mode::OUTPUT);
     led2::mode(Mode::OUTPUT);
 
-    Thread::create(blinkThread,STACK_MIN);
+    Thread::create(blinkThread,2048);
     const int period=static_cast<int>(TICK_FREQ*0.05);
     long long tick=getTick();
     for(;;)
     {
-        if(led1::value()) led1::low(); else led1::high();
+        long long prevTick=tick;
         tick+=period;
         Thread::setPriority(Priority(tick)); //Change deadline
-        Thread::sleepUntil(tick);
+        Thread::sleepUntil(prevTick); //Make sure the task is run periodically
+        if(led1::value()) led1::low(); else led1::high();
+        delayMs(24);
+        if(getTick()>tick) iprintf("Deadline missed (B)\n");
     }
 }
diff --git a/miosix_np_2/nbproject/configurations.xml b/miosix_np_2/nbproject/configurations.xml
index 7ca3a1b9f9339c577d5bcabe94a68351ab2866f3..28d3a23264176259ea2007c88a9b0f5e3cf6ef3e 100644
--- a/miosix_np_2/nbproject/configurations.xml
+++ b/miosix_np_2/nbproject/configurations.xml
@@ -101,12 +101,15 @@
               <in>control_scheduler.h</in>
             </df>
             <df name="edf">
+              <in>edf_scheduler.cpp</in>
+              <in>edf_scheduler.h</in>
             </df>
             <df name="priority">
               <in>priority_scheduler.cpp</in>
               <in>priority_scheduler.h</in>
             </df>
             <in>scheduler.h</in>
+            <in>tick_interrupt.h</in>
           </df>
           <in>error.cpp</in>
           <in>error.h</in>
diff --git a/miosix_np_2/nbproject/private/configurations.xml b/miosix_np_2/nbproject/private/configurations.xml
index b730d14ca90086d8aace3fcb83715eccd8467a97..023c313eeb08bc63c17dc6022af990c2882bd424 100644
--- a/miosix_np_2/nbproject/private/configurations.xml
+++ b/miosix_np_2/nbproject/private/configurations.xml
@@ -5,7 +5,6 @@
   <confs>
     <conf name="Default" type="0">
       <gizmo_options version="3">
-        <configurationname>GizmoSimple</configurationname>
       </gizmo_options>
       <runprofile version="6">
         <args></args>