I am concern about the shield and the sd card. (reading errors... or stuck playback or something)
Reading errors might be prevented by putting the MP3 multiple times on the SD to have a fall back file (complicates the code how far will you go)
You can build in a sanity checker that checks the readability of files (but that could introduces errors of its own ![]()
Shields are stable, You can always make a print yourself connecting all components on one print.
- you just say to the museum that if a device fails you will replace it (or better give them an emergence Arduino to replace a failing one (option?).
Be sure to include this kind of fall back services in your bill