---
title: "Connecting a Camper Van Control System to Home Assistant Using ESP32-S3 and W5500"
url: "https://maker.wiznet.io/Aimee0/projects/esphome-onecontrol/"
markdown_url: "https://maker.wiznet.io/Aimee0/projects/esphome-onecontrol/md"
type: "UCC: User Created Content"
author: "andrewcfitz"
author_url: "https://github.com/andrewcfitz/esphome-onecontrol"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "andrewcfitz"
original_url: "https://github.com/andrewcfitz/esphome-onecontrol"
published: "2026-08-12"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 104
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Connecting a Camper Van Control System to Home Assistant Using ESP32-S3 and W5500

> Connecting a Camper Van Control System to Home Assistant Using ESP32-S3 and W5500

Original author: andrewcfitz (source: https://github.com/andrewcfitz/esphome-onecontrol)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## Overview

![](https://maker.wiznet.io/upload/ckeditor5/1061706020%5F1787918395%2Epng)

`esphome-onecontrol`은 **캠핑카 내부의 조명, 물탱크 수위, 워터펌프, 탱크 히터, 배터리 상태 등을 Home Assistant에서 확인하고 제어할 수 있도록 만든 ESPHome 기반 오픈소스 프로젝트​**입니다. 캠핑카 내부 장치들은 기존의 `OneControl`이라는 제어 시스템을 통해 서로 통신하며, 이 프로젝트는 해당 통신 데이터를 ESP32-S3에서 처리한 뒤 W5500 Ethernet을 통해 Home Assistant와 연결합니다.

![](https://maker.wiznet.io/upload/ckeditor5/629382049%5F1788174804%2Epng)

*https://www.lippert.com/brands/onecontrol/rv?srsltid=AfmBOooXjB2nxOllNoTb44pSKcrGBy0zApDzH6G2EiMLwN56MuVlVd4w*

여기서 **OneControl**은 캠핑카(RV) 내부에서 조명, 펌프, 탱크 등의 장치를 하나의 네트워크로 연결해 제어하는 시스템입니다. 이 시스템은 여러 장치를 `CAN`이라는 차량·산업용 통신 버스로 연결하며, `esphome-onecontrol`은 이 CAN 통신과 Home Assistant 사이에서 gateway 역할을 합니다.

지원 하드웨어 중 하나는 **Waveshare ESP32-S3-ETH-8DI-8RO-C**입니다. 이 보드는 ESP32-S3, CAN interface, W5500 Ethernet을 하나의 보드에 포함하고 있어 별도의 Wi-Fi 없이 유선 Ethernet으로 Home Assistant network에 연결할 수 있습니다.

## Technical Architecture

캠핑카 내부에서는 조명이나 워터펌프 같은 여러 장치가 CAN bus를 통해 서로 통신합니다.

`esphome-onecontrol`은 이 CAN 메시지를 ESP32-S3에서 받아 어떤 장치의 상태인지 해석하고, 이를 ESPHome의 light, switch, sensor 같은 entity로 변환합니다. 이렇게 변환된 데이터는 W5500 Ethernet을 통해 Home Assistant로 전달됩니다.

| Item | Confirmed Details |
| --- | --- |
| Project | `esphome-onecontrol` |
| Main MCU | ESP32-S3 |
| WIZnet Chip | W5500 |
| Supported Board | Waveshare ESP32-S3-ETH-8DI-8RO-C |
| Device-side Interface | CAN |
| W5500 Interface | SPI |
| CAN Protocol | Lippert IDS-CAN, 250 kbit/s |
| Platform | ESPHome / Home Assistant |
| Main Files | `core.yaml`, `discover.yaml`, `devices/*.yaml`, `battery.yaml` |
| Main Data Flow | CAN device → ESP32-S3 → W5500 → Ethernet → Home Assistant |

프로젝트의 핵심 설정은 `core.yaml`에 있습니다. 이 파일에서는 CAN bus와 장치 제어에 필요한 기본 통신 구조를 정의합니다.

`discover.yaml`은 캠핑카 내부 CAN network에서 어떤 장치가 연결되어 있는지 확인하기 위해 사용됩니다. 이후 장치 종류에 따라 `devices/dimmable_light.yaml`, `devices/relay_light.yaml`, `devices/relay_switch.yaml`, `devices/tank.yaml` 등의 설정을 사용할 수 있습니다.

프로젝트는 단순히 상태를 읽는 것에 그치지 않습니다. Home Assistant에서 조명을 켜거나 끄고, 워터펌프나 탱크 히터를 제어할 수 있으며, 기존 캠핑카의 wall switch나 OneControl app에서 장치 상태를 변경하면 그 상태도 다시 Home Assistant에 반영됩니다.

## WIZnet Role in This Project

이 프로젝트에서 **W5500은 캠핑카의 CAN 통신을 직접 처리하지 않습니다.** CAN message를 읽고 장치 상태를 해석하는 것은 ESP32-S3가 담당하며, W5500은 ESP32-S3와 SPI로 연결되어 ESPHome device를 ​**유선 Ethernet network에 연결하는 역할**을 합니다.

지원 보드인 Waveshare ESP32-S3-ETH-8DI-8RO-C에는 ESP32-S3와 함께 W5500 Ethernet controller가 탑재되어 있습니다. 따라서 전체 network path는 `CAN Device → ESP32-S3 → W5500 → Ethernet → Home Assistant`로 구성됩니다.

W5500은 Hardwired TCP/IP Ethernet controller이지만, 이 프로젝트에서는 throughput이나 TCP/IP offload 성능을 별도로 측정하지 않습니다. 따라서 이 사례의 핵심은 성능 수치보다는 **ESP32-S3 + CAN + W5500 조합으로 기존 CAN network를 Home Assistant에 연결한 실제 gateway 구조**에 있습니다.

## Developer Takeaways

- **CAN-to-Home Assistant gateway architecture**
  기존 장치는 CAN을 그대로 사용하고, ESP32-S3에서 CAN message를 ESPHome entity로 변환합니다. 기존 차량 장치나 산업용 CAN 장치를 Home Assistant 또는 IP network에 연결하려는 개발자에게 유용한 구조입니다.

- **Discovery와 device configuration의 분리**
  `discover.yaml`을 이용해 CAN bus에 어떤 장치가 연결되어 있는지 먼저 확인한 뒤, 확인된 address를 실제 device configuration에 적용합니다. 차량마다 CAN address가 다를 수 있기 때문에 다른 환경의 값을 그대로 복사하지 않는 방식입니다.

- **기능별 ESPHome package 구성**
  공통 통신은 `core.yaml`, 장치 검색은 `discover.yaml`, 실제 장치 기능은 `devices/*.yaml`로 나누어져 있습니다. 기능이 추가되어도 전체 configuration을 하나의 YAML에 몰아넣지 않고 재사용 가능한 package 형태로 확장할 수 있습니다.

- **ESP32-S3 + W5500 기반 wired gateway**
  이 구조는 캠핑카에만 한정되지 않습니다. CAN 또는 RS485를 사용하는 산업 장비, building controller, sensor network를 ESP32-S3에서 처리하고 W5500 Ethernet을 통해 서버나 Home Assistant에 연결하는 형태로 응용할 수 있습니다.

## Related Maker Content and Application Value

## 1. esphome-haierac-ethernet

**esphome-haierac-ethernet**은 Haier 에어컨의 기존 Wi-Fi module을 **ESP32-C3 + W5500 기반 유선 Ethernet 제어 보드로 교체하고 Home Assistant와 연동하는 프로젝트**입니다. 에어컨과 ESP32-C3는 UART 기반 SmartAir2 protocol로 통신하고, W5500은 ESPHome 장치를 Home Assistant network에 연결하는 wired Ethernet interface를 담당합니다. (Maker Site: <https://maker.wiznet.io/mason/projects/esphome-haierac-ethernet/>)

**Similarity**

- ESPHome과 Home Assistant를 이용한 device monitoring 및 control

- 기존 장치의 전용 통신 protocol을 ESP MCU에서 처리

- W5500을 Home Assistant 연결을 위한 wired Ethernet interface로 사용

- `Device → ESP MCU → W5500 → Ethernet → Home Assistant` 형태의 network architecture

**Difference**

- `esphome-haierac-ethernet`은 하나의 Haier 에어컨과 ESP32-C3를 **UART**로 연결하고 SmartAir2 protocol을 처리합니다.

- `esphome-onecontrol`은 캠핑카 내부의 조명, 물탱크, 워터펌프 등 여러 장치가 연결된 **CAN network**를 ESP32-S3에서 처리합니다.

- 따라서 전자는 단일 가전제품을 Ethernet으로 연결하는 device controller에 가깝고, `esphome-onecontrol`은 여러 CAN 장치를 Home Assistant와 연결하는 gateway에 가깝습니다.

**Expansion Value**

두 프로젝트는 장치 종류와 통신 방식은 다르지만, **기존 장치의 통신 protocol을 ESPHome에서 처리하고 W5500을 통해 Home Assistant와 연결한다는 공통 구조**를 보여줍니다. 이를 통해 UART뿐 아니라 CAN이나 RS-485를 사용하는 기존 장비도 `Device Interface → ESP MCU → W5500 → Ethernet → Home Assistant` 구조로 확장할 수 있으며, W5500 기반 wired smart home gateway를 설계할 때 참고할 수 있습니다.

## 2. ESPHome Triple Water Meter (ESP32-S3-POE-ETH)

**ESPHome Triple Water Meter**는 **ESP32-S3와 W5500이 적용된 ESP32-S3-POE-ETH 보드**를 이용해 세 개의 water meter를 ESPHome에서 모니터링하고 Home Assistant와 연결하는 프로젝트입니다. W5500 기반 Ethernet과 PoE를 이용해 sensor data와 Home Assistant 사이에 유선 network path를 구성한다는 점에서 `esphome-onecontrol`과 유사한 hardware/software architecture를 갖습니다. (Maker Site: <https://maker.wiznet.io/Benjamin/projects/esphome-triple-water-meter-esp32-s3-poe-eth/>)

**Similarity**

- ESP32-S3 + W5500 기반 architecture

- ESPHome firmware 사용

- Home Assistant integration

- Wi-Fi 대신 wired Ethernet을 network path로 사용

- 실제 sensor/device data를 Home Assistant entity로 제공

**Difference**

- ESPHome Triple Water Meter는 pulse input을 이용해 세 개의 water meter 사용량을 측정하는 **Ethernet sensor node**입니다.

- `esphome-onecontrol`은 기존 CAN network에 연결된 조명, 물탱크, 워터펌프 등의 상태를 읽고 제어하는 **CAN-to-Ethernet gateway** 구조입니다.

- 따라서 Water Meter 프로젝트는 sensor monitoring에 초점을 두는 반면, `esphome-onecontrol`은 여러 기존 장치와의 양방향 communication 및 control까지 포함합니다.

**Expansion Value**

두 프로젝트는 **ESP32-S3 + W5500 + ESPHome + Home Assistant 조합을 서로 다른 형태로 활용하는 사례**를 비교할 수 있습니다. ESPHome Triple Water Meter가 `Sensor → ESP32-S3 → W5500 → Ethernet → Home Assistant` 형태의 sensor node를 보여준다면, `esphome-onecontrol`은 이를 `CAN Device → ESP32-S3 → W5500 → Ethernet → Home Assistant` 형태의 gateway로 확장합니다. 이를 통해 ESP32-S3와 W5500 조합을 단순 sensor node뿐 아니라 CAN이나 RS-485 기반 기존 장비를 Home Assistant에 연결하는 wired gateway에도 적용할 수 있습니다.

## FAQ

**Q1. OneControl은 무엇인가요?**

OneControl은 캠핑카 내부의 조명, 워터펌프, 물탱크 등 여러 장치를 연결하고 제어하기 위한 시스템입니다. `esphome-onecontrol`은 이 시스템의 CAN 통신을 ESP32-S3에서 처리해 Home Assistant에서 장치를 사용할 수 있도록 합니다.

**Q2. W5500이 CAN 데이터를 직접 변환하나요?**

아닙니다. CAN 데이터를 읽고 해석하는 것은 ESP32-S3입니다. W5500은 ESP32-S3와 SPI로 연결되어 변환된 데이터를 Ethernet network를 통해 Home Assistant로 전달합니다.

**Q3. 캠핑카가 아닌 다른 장치에도 이 구조를 사용할 수 있나요?**

프로젝트의 IDS-CAN 코드는 OneControl 시스템에 맞춰져 있기 때문에 그대로 사용할 수는 없습니다. 하지만 `CAN 또는 RS485 장치 → ESP32-S3 → W5500 → Ethernet → Home Assistant`라는 gateway 구조는 산업 장비, building automation, wired smart-home 장치 등에 응용할 수 있습니다.

## Verified Scope and Sources

| Source | Link | Checked Date | Notes |
| --- | --- | --- | --- |
| Original GitHub Repository | <https://github.com/andrewcfitz/esphome-onecontrol> | 2026-08-28 | Project structure, supported devices, CAN configuration |
| Waveshare Wiki | <https://www.waveshare.com/wiki/ESP32-S3-ETH-8DI-8RO-C> | 2026-08-28 | ESP32-S3, W5500, CAN hardware |
| WIZnet Maker Site | <https://maker.wiznet.io/mason/projects/esphome-haierac-ethernet/> | 2026-08-28 | ESPHome + W5500 + Home Assistant 사례 |
| WIZnet Maker Site | <https://maker.wiznet.io/Benjamin/projects/esphome-triple-water-meter-esp32-s3-poe-eth/> | 2026-08-28 | ESP32-S3 + W5500 + ESPHome 사례 |

현재 공개 자료에서 확인되는 핵심은 **캠핑카 내부 CAN 장치 → ESP32-S3 → W5500 → Ethernet → Home Assistant**라는 데이터 흐름입니다. 반면 Ethernet latency, throughput, 장기간 동작 안정성과 같은 성능 측정 결과는 공개 자료에서 확인되지 않습니다. (GitHub: <https://github.com/andrewcfitz/esphome-onecontrol>)

`esphome-onecontrol`은 W5500을 이용해 단순히 센서 하나를 Ethernet에 연결하는 프로젝트가 아니라, **이미 존재하는 CAN 기반 장치 네트워크를 ESPHome과 Home Assistant에 연결하는 gateway 사례**라는 점에서 의미가 있습니다. 같은 구조를 활용하면 향후 CAN이나 RS485 기반 장비를 ESP32-S3와 W5500으로 연결하는 wired gateway 프로젝트에도 확장할 수 있습니다.

---

Source: https://maker.wiznet.io/Aimee0/projects/esphome-onecontrol/
