Welcome to
CloudMouse SDK API

Your starting point for ultra-responsive apps. Custom event kernel and dual-core architecture optimized for the ESP32-S3 with hardware and networking abstraction out-of-the-box. Build, connect and deploy your projects with minimal and beautiful code.
using namespace CloudMouse;

// Hardware component instances
EncoderManager encoder;
DisplayManager display;
WiFiManager wifi;
WebServerManager webServer(wifi);
LEDManager ledManager;

void setup() {
    Serial.begin(115200);
    delay(1000);

    // Welcome message
    Serial.println();
    Serial.println("? CloudMouse SDK Boilerplate v1.0");
    Serial.println("   Ready to build something amazing! ?");
    
    // Initialize hardware components
    SimpleBuzzer::init();
    encoder.init();
    display.init();
    ledManager.init();

    // Register components with the Core event system
    Core::instance().setEncoder(&encoder);
    Core::instance().setDisplay(&display);
    Core::instance().setWiFi(&wifi);
    Core::instance().setWebServer(&webServer);
    Core::instance().setLEDManager(&ledManager);

    // Start dual-core operation
    Core::instance().startUITask();     // UI rendering on Core 1
    Core::instance().initialize();      // Event system on Core 0
    
    Serial.println("✅ System ready!");
}

void loop() {
    // Main coordination loop (20Hz on Core 0)
    // Core 1 handles UI independently for smooth performance
    Core::instance().coordinationLoop();
    delay(50);
}