                fillBinBuffer(ascii_buffer, page_buffer, ascii_bytes);
                int bytes_to_write = ascii_bytes / 2;
                digitalWrite(WRITE_LED, HIGH);
+               setWriteMode();
                for (int i = 0; i < bytes_to_write; ++i) {
-                  setWriteMode();
                   writeToAddr(addr, page_buffer[i]);
                   addr++;
                }

enum State state = REST;
int blink_timer  = 0;
ushort addr      = 0x0000;
byte data        = 0xFF;
bool wait        = true;
byte page_buffer[64];
byte ascii_buffer[128];

         wait = true;
         return;
      case 'W': // Write data to EEPROM 
         // Don't accidentally write anything sent so far to the chip
         while (Serial.available() > 0) {
            Serial.read();
         }
         state = WRITE;
         addr  = 0x0000;
         wait  = false;
         digitalWrite(WRITE_LED, HIGH);
         digitalWrite(READ_LED, LOW);
