Sending a file from PC to Arduino using Gobetwino

 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?