# l-p-h/homeassistant-esp32-arduino_matter architecture

> Architecture diagram of the GitHub repository l-p-h/homeassistant-esp32-arduino_matter, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/l-p-h/homeassistant-esp32-arduino_matter
- Repository: https://github.com/l-p-h/homeassistant-esp32-arduino_matter

## Overview

This is an archived collection of independent ESP32 and Arduino Matter experiments, not one integrated application. Its main user-facing workflows are standalone sensor/display or Wi-Fi web projects, and Matter device examples controlled through a smart-home controller. The graph preserves those branches and other documented-by-tree project families without implying they share runtime flows. Sampled source confirms the e-ink rendering, web-response generation, and Matter LED/identify behavior; unsampled sketches are represented only at their exact project-directory paths, with uncertain wiring omitted.

Main entry points: [`ESP32/Dimmbare_LED_Home_Kit/DEV_LED.h`](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_LED.h) (Dimmable Matter LED), [`ESP32/Dimmbare_LED_Home_Kit/DEV_Identify.h`](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_Identify.h) (Identify service), [`ESP32/Inventarsystem/HTML.h`](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Inventarsystem/HTML.h) (Inventory form), [`Arduino_Matter`](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/Arduino_Matter) (Matter sensors)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_matter["Matter devices"]
  node_matter_sensor["Matter sensors"]
  node_matter_ink["Matter e-ink display"]
  node_matter_led["Dimmable Matter LED<br/>[DEV_LED.h]"]
  node_identify["Identify service<br/>[DEV_Identify.h]"]
end

subgraph group_sensing["Sensors and displays"]
  node_sensor_projects["ESP32 sensor sketches"]
  node_matter_display["E-ink renderer<br/>[E_Ink_Display.h]"]
  node_weather_dashboard["Sensor dashboard<br/>[html_answer.h]"]
end

subgraph group_connectivity["Connectivity and apps"]
  node_inventory_app["Inventory web app"]
  node_inventory_page["Inventory form<br/>[HTML.h]"]
  node_wifi_projects["Wi-Fi experiments"]
  node_homeassistant_ap["Home Assistant AP"]
  node_ntp_projects["NTP clock projects"]
  node_ir_projects["IR transmit and receive"]
end

subgraph group_outputs["LED and motion"]
  node_rgb_projects["Addressable RGB"]
  node_rgb_effects["LED effects"]
  node_pixel_ring["Pixel ring<br/>[Pixel_Ring.h]"]
  node_robot_arm["Joystick robot arm"]
end

node_controller(("Matter controller"))
node_wifi_client(("Web client"))

node_controller -->|"sets characteristics"| node_matter_led
node_matter_led -->|"drives PWM"| node_matter_led
node_controller -->|"requests identify"| node_identify
node_identify -->|"blinks status LED"| node_identify
node_matter_sensor -.->|"Matter integration"| node_controller
node_matter_ink -->|"renders readings"| node_matter_display
node_weather_dashboard -->|"sends HTML response"| node_wifi_client
node_inventory_app -.->|"uses form renderer"| node_inventory_page
node_inventory_page -->|"serves form"| node_wifi_client
node_rgb_projects -.->|"uses effects"| node_rgb_effects

click node_matter_sensor "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/Arduino_Matter"
click node_matter_ink "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/Matter_E-Ink_Display.ino"
click node_matter_led "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_LED.h"
click node_identify "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_Identify.h"
click node_sensor_projects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32"
click node_matter_display "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/E_Ink_Display.h"
click node_weather_dashboard "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Main_mit_E-Ink_3/html_answer.h"
click node_inventory_app "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Inventarsystem"
click node_inventory_page "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Inventarsystem/HTML.h"
click node_wifi_projects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/WIFI%20%C3%9Cbertragung"
click node_homeassistant_ap "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/HomeAssistant_WIFI_AP/HomeAssistant_WIFI_AP.ino"
click node_ntp_projects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB"
click node_rgb_projects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB"
click node_rgb_effects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB/ws2811_strip"
click node_pixel_ring "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/Pixel_Ring.h"
click node_ir_projects "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/IR%20%C3%9Cbertragung"
click node_robot_arm "https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Roboter%20Arm/Roboter_Arm_mit_Joistick_und_Rotary_encoder/Roboter_Arm_mit_Joistick_und_Rotary_encoder.ino"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_matter_sensor,node_matter_ink,node_matter_led,node_identify,node_wifi_client toneBlue
class node_sensor_projects,node_matter_display,node_weather_dashboard toneAmber
class node_inventory_app,node_inventory_page,node_wifi_projects,node_homeassistant_ap,node_ntp_projects,node_ir_projects toneMint
class node_rgb_projects,node_rgb_effects,node_pixel_ring,node_robot_arm toneRose
class node_controller toneIndigo
```

## Components

### Matter devices

- [Matter sensors](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/Arduino_Matter): `Arduino_Matter`
- [Matter e-ink display](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/Matter_E-Ink_Display.ino): `Arduino_Matter/Matter_E-Ink_Display/Matter_E-Ink_Display.ino`
- [Dimmable Matter LED](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_LED.h): `ESP32/Dimmbare_LED_Home_Kit/DEV_LED.h`
- [Identify service](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Dimmbare_LED_Home_Kit/DEV_Identify.h): `ESP32/Dimmbare_LED_Home_Kit/DEV_Identify.h`

### Sensors and displays

- [ESP32 sensor sketches](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32): `ESP32`
- [E-ink renderer](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/E_Ink_Display.h): `Arduino_Matter/Matter_E-Ink_Display/E_Ink_Display.h`
- [Sensor dashboard](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Main_mit_E-Ink_3/html_answer.h): `ESP32/Main_mit_E-Ink_3/html_answer.h`

### Connectivity and apps

- [Inventory web app](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Inventarsystem): `ESP32/Inventarsystem`
- [Inventory form](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Inventarsystem/HTML.h): `ESP32/Inventarsystem/HTML.h`
- [Wi-Fi experiments](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/WIFI%20%C3%9Cbertragung): `ESP32/WIFI Übertragung`
- [Home Assistant AP](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/HomeAssistant_WIFI_AP/HomeAssistant_WIFI_AP.ino): `ESP32/HomeAssistant_WIFI_AP/HomeAssistant_WIFI_AP.ino`
- [NTP clock projects](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB): `ESP32/Adresseble_RGB`
- [IR transmit and receive](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/IR%20%C3%9Cbertragung): `ESP32/IR Übertragung`

### LED and motion

- [Addressable RGB](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB): `ESP32/Adresseble_RGB`
- [LED effects](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/tree/main/ESP32/Adresseble_RGB/ws2811_strip): `ESP32/Adresseble_RGB/ws2811_strip`
- [Pixel ring](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/Arduino_Matter/Matter_E-Ink_Display/Pixel_Ring.h): `Arduino_Matter/Matter_E-Ink_Display/Pixel_Ring.h`
- [Joystick robot arm](https://github.com/l-p-h/homeassistant-esp32-arduino_matter/blob/main/ESP32/Roboter%20Arm/Roboter_Arm_mit_Joistick_und_Rotary_encoder/Roboter_Arm_mit_Joistick_und_Rotary_encoder.ino): `ESP32/Roboter Arm/Roboter_Arm_mit_Joistick_und_Rotary_encoder/Roboter_Arm_mit_Joistick_und_Rotary_encoder.ino`

### Other components

- **Matter controller**
- **Web client**

## Connections

- Matter controller → Dimmable Matter LED: sets characteristics
- Dimmable Matter LED → Dimmable Matter LED: drives PWM
- Matter controller → Identify service: requests identify
- Identify service → Identify service: blinks status LED
- Matter sensors → Matter controller: Matter integration
- Matter e-ink display → E-ink renderer: renders readings
- Sensor dashboard → Web client: sends HTML response
- Inventory web app → Inventory form: uses form renderer
- Inventory form → Web client: serves form
- Addressable RGB → LED effects: uses effects
