Extraer valor de cadena de datos de tipo string

compañeros estoy interesado en captar datos especificos de una cadena. Por ejemplo si recibo una cadena como 0.02833,-0.99959,0.00299,2.77858 quiero extraer los cuatro datos que contiene los cuales restan separados por una coma(,) y almacenarlos en 4 variables de tipo float respectivamente. si alguien me puede ayudar estare muy agradecido

Algo como esto, tal vez.

String myString;
float nums[4];
int count = 0;

void loop() 
{
  while (Serial.available() > 0) 
 {
    char c = Serial.read();
    if (c == ',') or (c == '\n') 
   {
        nums[count]  = myString.toFloat();
        myString == "";
        count += 1;
   }        
   else
   {
        myString += c;
    }
 }
}