while (i<1){
Serial.print ("i = "); //for test purposes
Serial.println (i);
Serial.println("#S|DOGGROWL|[]#");
i++;
}
This loop will execute exactly once. The same thing would have happened had you simply put
Serial.print ("i = "); //for test purposes
Serial.println (i);
Serial.println("#S|DOGGROWL|[]#");
in setup.
I'm curious what you expect GoBetwino to do with " i = 0"?
if (Serial.available() > 0) { // send data only when you receive data
incomingByte = Serial.read(); //read the incoming byte if it is there
for (int a = 0; a < 512; a++)
EEPROM.write(a, incomingByte);
You are reading one byte, and writing that into EEPROM 512 times. How does that make sense?