void setup() { Serial.begin(115200); while (!Serial) { /* wait for USB serial */ } // Configure on-board LED channels pinMode(PIN_LED_R, OUTPUT); pinMode(PIN_LED_G, OUTPUT); pinMode(PIN_LED_B, OUTPUT); analogWriteResolution(8); // 8-bit resolution Serial.println("XIAO Ready. Send R<0-255>, G<0-255> or B<0-255>"); } void loop() { if (!Serial.available()) return; char channel = Serial.read(); // 'R', 'G' or 'B' int value = Serial.parseInt(); Serial.read(); // consume newline value = constrain(value, 0, 255); int pin; switch (channel) { case 'R': pin = PIN_LED_R; break; case 'G': pin = PIN_LED_G; break; case 'B': pin = PIN_LED_B; break; default: return; } analogWrite(pin, value); Serial.printf("%c set to %d\n", channel, value); }