                     Serial.read();
 
                 show_color(&col);
-
-                // Wait for the next character, which starts the calibration interval for duration seconds
-                Serial.read();
-                noInterrupts();
-                TCNT1 = 0;
-                g_time = 0;
-                interrupts();
-
-                // Wait for the next character, which ends the calibration
-                Serial.read();
-
-                // Now calculate our calibration routine
-                noInterrupts();
-                TCNT1 = g_timer_init = 2000 - ((g_time * 1000 + TCNT1) / duration);
-                interrupts();
-                EEPROM.put(calibration_address, g_timer_init);
-
-                col.c[0] = col.c[1] = 0;
-                col.c[2] = 255;
-                show_color(&col);
+                
+                g_calibrate = 1;
+
             }
     }
 }

#include <util/crc16.h>
#include <EEPROM.h>
#include <Adafruit_NeoPixel.h>

        case PACKET_CALIBRATE:
            {
                uint32_t duration = data[0];
                uint32_t ticks, ticks2;
                color_t col;

                col.c[1] = col.c[2] = 0;
