// Raspberry Pi Pico (RP2040) - CPU LED Activity Meter // Ben @ LostGeek . NET -- 03/02/2026 #define NUM_LEDS 12 #define ON_THRESHOLD 25 // tweak if you want sensitivity const int ledPins[NUM_LEDS] = { 16, 18, 20, 22, 26, 28, 15, 13, 11, 9, 7, 5 }; // Clockwise perimeter order const int circleOrder[NUM_LEDS] = { 0, 1, 2, 3, 4, 5, 11, 10, 9, 8, 7, 6 }; uint8_t ledIndex = 0; void allOff() { for (int i = 0; i < NUM_LEDS; i++) { digitalWrite(ledPins[i], LOW); } } void bootAnimation() { for (int round = 0; round < 2; round++) { for (int i = 0; i < NUM_LEDS; i++) { int idx = circleOrder[i]; digitalWrite(ledPins[idx], HIGH); delay(50); digitalWrite(ledPins[idx], LOW); } } } void setup() { for (int i = 0; i < NUM_LEDS; i++) { pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i], LOW); } bootAnimation(); allOff(); Serial.begin(115200); Serial.setTimeout(0); } void loop() { while (Serial.available()) { uint8_t v = Serial.read(); if (v > ON_THRESHOLD) digitalWrite(ledPins[ledIndex], HIGH); else digitalWrite(ledPins[ledIndex], LOW); ledIndex++; if (ledIndex >= NUM_LEDS) ledIndex = 0; } }