Usually, ESCs work with signals from 1000us to 2000us so the 255 (8bit) signal is not good. I don't use raspberry pi, but in Arduino we use writeMicroseconds(1000) to create the 1000us pulse signal.
To calibrate the ESCs you have to send maximum signal, 2000 in this case, before you connect the battery. THat will start the ESC in config mode. Then you send your lowest value, 1000 in this case, and the ESC is now calibrated to a range from 1000 to 2000. See more here:https://www.electronoobs.com/eng_robotica_tut5_1.php