The following program works fine for writeBlue or writeGreen, but fails for writeRed as soon as the tone function is called once. I tried to work around it by using writeRGB but the bug doesn't go away even with using that. The random delay code below just makes it easier to observe, and isn't related to the issue.
#include <Esplora.h>
void setup() {}
void loop() {
while (1)
{ Esplora.writeBlue(random(200)); delay(500);
Esplora.tone(random(100)); delay(500); };
}