Inconsistent values with Bluetooth and Serial.Read

Do you still have the master doing

Serial.write("3");

Because that string "3" would send 2 bytes: '3' and a terminating NULL (as values 51 then 0 ).

You want to

Serial.write('3');