Hacer una playlist con el DFPlayer mini

Buen día a todos, estoy tratando de hacer un pequeño proyecto en el cual se usará un Arduino Uno y un DFPlayer mini.
Mi intención en sí es crear oraciones con un conjunto de palabras debidamente grabadas y puestas en una memoria SD para ser reproducidas por el DFPlayer secuencialmente, ¿Se podrá hacer eso?, no es una buena opción crear oraciones predeterminadas y luego ser reproducidas porque serían muchas.

Traté de usar la función BUSY del módulo pero solo logré que salte la línea de comando si es que el módulo se encuentra ocupado.

Estaba pensando en usar una especie de delay, es decir, hacer un bucle y esperar a que se desocupe el módulo para que reproduzca la siguiente palabra pero eso mantendría al arduino "congelado", cosa que no es muy productiva teniéndo varias funciones por realizar.

¿Habrá una forma de mandar una especie de playlist al módulo DFPlayer para que lo reproduzca en secuencia sin que interfiera el arduino?

Espero sus sugerencias, muchas gracias.

Buenas,

Hace tiempo intenté hacer algo similar con el DFPlayer y la librería de DFPlayerRobotMini.
En la Wiki del módulo, en el apartado de Sample Code, tienes un ejemplo en el que se pregunta al módulo el estado actual en el que se encuentra dentro del loop:

  if (myDFPlayer.available()) {
    printDetail(myDFPlayer.readType(), myDFPlayer.read()); 
  }

Si observas la función "printDetail" (unas líneas más abajo), podrás ver que hay un case en el switch llamado "DFPlayerPlayFinished" que se lanza cuando se termina de reproducir el audio y además te indica el número del fichero que acaba de reproducirse.

La forma más sencilla de resolver tu problema sería definiendo los arrays de archivos de la frase y con una estructura while (o for) recorrer los elementos y solo avanzar al siguiente en caso de devolver este "DFPlayerPlayFinished", pero como comentas que no se puede dejar bloqueado Arduino, creo podrás resolver esto mediante el uso de millis de forma que no se entrecorte tanto el cambio de palabra a palabra (todo dependerá de lo que hagan el resto de funcionalidades que quieras implementar).

Espero que sea de ayuda,
Saludos