# Olimex ESP32-C6-EVB Home Assistant Integration This is a custom integration for the **Olimex ESP32-C6-EVB** board featuring the **Espressif ESP32-C6 WROOM-1** chip. ## Board Specifications - **Manufacturer**: Olimex - **Model**: ESP32-C6-EVB - **Chip**: ESP32-C6 WROOM-1 - **Features**: - Wi-Fi 6 (802.11ax) - Bluetooth 5.3 (LE) - RISC-V 32-bit single-core processor - Multiple I/O pins - Relays and GPIO control ## Installation 1. Copy the `olimex_esp32_c6` folder to your `custom_components` directory 2. Restart Home Assistant 3. Add the integration through the UI: Configuration → Integrations → Add Integration → "Olimex ESP32-C6-EVB" ## Configuration Enter the IP address and port (default 80) of your ESP32-C6-EVB board. ## ESP32 Firmware Development ### Required API Endpoints Your ESP32 firmware should implement these HTTP endpoints: #### Status Endpoint ``` GET http://:/api/status Response: { "temperature": 25.5, "wifi_rssi": -45 } ``` #### Relay Control ``` POST http://:/api/relay//on POST http://:/api/relay//off GET http://:/api/relay//status Response: {"state": true} ``` #### LED Control ``` POST http://:/api/led//on POST http://:/api/led//off ``` ### Development Tools - **ESP-IDF**: Espressif's official IoT Development Framework - **Arduino IDE**: With ESP32 board support - **PlatformIO**: Advanced IDE for embedded development ### Example Arduino Sketch Structure ```cpp #include #include WebServer server(80); void handleStatus() { String json = "{\"temperature\": 25.5, \"wifi_rssi\": " + String(WiFi.RSSI()) + "}"; server.send(200, "application/json", json); } void setup() { WiFi.begin("SSID", "PASSWORD"); server.on("/api/status", handleStatus); server.begin(); } void loop() { server.handleClient(); } ``` ## Features - Temperature monitoring - WiFi signal strength - Relay control - LED control - Extensible for GPIO, ADC, and other peripherals ## TODO - [ ] Implement actual ESP32 firmware with REST API - [ ] Add support for more sensors - [ ] Add button entities for GPIO inputs - [ ] Implement OTA updates - [ ] Add MQTT support as alternative to HTTP - [ ] Add ESPHome configuration option ## Resources - [Olimex ESP32-C6-EVB Documentation](https://www.olimex.com/Products/IoT/ESP32-C6/ESP32-C6-EVB/) - [ESP32-C6 Technical Reference](https://www.espressif.com/en/products/socs/esp32-c6) - [Home Assistant Custom Integration Documentation](https://developers.home-assistant.io/)