Files
..

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://<IP>:<PORT>/api/status
Response: {
  "temperature": 25.5,
  "wifi_rssi": -45
}

Relay Control

POST http://<IP>:<PORT>/api/relay/<relay_id>/on
POST http://<IP>:<PORT>/api/relay/<relay_id>/off
GET http://<IP>:<PORT>/api/relay/<relay_id>/status
Response: {"state": true}

LED Control

POST http://<IP>:<PORT>/api/led/<led_id>/on
POST http://<IP>:<PORT>/api/led/<led_id>/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

#include <WiFi.h>
#include <WebServer.h>

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