Wiznet makers

mason

Published May 07, 2026 © GNU General Public License, version 3 or later (GPL3+)

168 UCC

21 WCC

33 VAR

0 Contests

0 Followers

0 Following

Original Link

ANCS-BASE

ANCS-BASE

COMPONENTS Hardware components

Espressif - ESP32

x 1


WIZnet - W5500

x 1


PROJECT DESCRIPTION

프로젝트가 하는 일

라이브 방송이나 현장 중계에서는 여러 대의 카메라를 동시에 사용합니다. 이때 모든 카메라의 밝기, 색감, 셔터 속도, 화이트 밸런스가 서로 맞아야 화면 전환이 자연스럽습니다.

Blackmagic ATEM은 여러 카메라 영상을 받아 하나의 프로그램 화면으로 전환해 주는 장비입니다. 쉽게 말해, 방송이나 행사 현장에서 “지금은 1번 카메라, 다음은 2번 카메라”처럼 화면을 바꾸는 중심 장치입니다.

Blackmagic 카메라는 ATEM과 연결되면 카메라 앞에 사람이 직접 가지 않아도 노출, 색상, 셔터, 화이트 밸런스 같은 설정을 원격으로 조정할 수 있습니다. 하지만 무선 카메라를 사용하거나 SDI 리턴 케이블이 없는 구성에서는 ATEM에서 카메라로 돌아가는 제어 경로가 끊길 수 있습니다.

ANCS는 이 문제를 해결하기 위해 만들어진 보조 제어 시스템으로, Blackmagic ATEM 스위치와 Blackmagic 카메라 사이의 제어 신호를 이어주는 ESP32-S3 기반 카메라 제어 브리지입니다. 즉 영상 자체를 전송하는 장치가 아니라, 카메라 제어 명령을 별도의 네트워크 경로로 전달하는 장치입니다.

동작 흐름은 다음과 같습니다.

  1. 운영자가 ATEM에서 카메라 값을 조정합니다.
  2. ANCS 베이스 유닛이 Ethernet으로 ATEM과 연결되어 제어 데이터를 받습니다.
  3. 베이스 유닛은 ESP-NOW로 각 카메라 옆의 리시버에 데이터를 보냅니다.
  4. 카메라 리시버는 받은 명령을 Blackmagic 카메라에 전달합니다.

즉, ANCS는 “ATEM에서 나온 카메라 제어 명령을 무선 카메라 운용 환경에서도 카메라까지 전달해 주는 중간 장치”입니다.

이미지 출처 : AI 생성

WIZnet이 사용되는 위치

이 프로젝트에서 사용되는 WIZnet 제품은 W5500입니다. W5500은 Waveshare ESP32-S3 ETH PoE 보드에 포함되어 있으며, ANCS 베이스 유닛이 ATEM 네트워크에 접속하는 유선 Ethernet 인터페이스로 사용됩니다.

ESP32-S3 ETH development board, front view

이미지 출처 : https://www.waveshare.com

W5500은 카메라 쪽 무선 통신을 담당하지 않습니다. 역할은 더 명확합니다.

  • 베이스 유닛이 ATEM 스위처와 유선 Ethernet으로 연결되도록 합니다.
  • ATEM 제어 네트워크에 안정적인 물리 링크를 제공합니다.
  • Wi-Fi 대신 케이블 기반 연결을 사용해 제어 경로의 불안정성을 줄입니다.
  • PoE 기반 설치 환경에서 전원과 네트워크를 한 케이블로 구성할 수 있게 합니다.

이 구성이 중요한 이유는 ATEM 연결이 전체 제어 흐름의 시작점이기 때문입니다. 베이스 유닛과 ATEM 사이가 불안정하면 이후 카메라 리시버와 카메라 제어도 함께 영향을 받습니다.

따라서 ANCS는 ATEM 쪽 연결은 유선 Ethernet으로 고정하고, 카메라 근처 리시버와의 연결은 ESP-NOW로 처리합니다. 상용 제품 관점에서는 안정성이 필요한 구간과 배치 유연성이 필요한 구간을 분리한 구조라고 볼 수 있습니다.

W5500은 SPI로 MCU와 연결되는 하드웨어 TCP/IP Ethernet 컨트롤러입니다. 10/100 Ethernet MAC/PHY, 32KB 내부 버퍼, 8개 독립 소켓을 제공하므로, ESP32-S3 같은 MCU가 설정 UI, 무선 메시징, 카메라 제어 로직을 함께 처리하는 구조에 적합합니다.

ANCS에서 W5500의 핵심 가치는 속도보다 안정성입니다. 카메라 제어 데이터는 영상처럼 큰 데이터가 아니기 때문에 대역폭보다 링크 유지, 설치 편의성, 네트워크 구성의 예측 가능성이 더 중요합니다.

구현 참고 사항

저장소에서 확인 가능한 내용은 README, 하드웨어 구성, Arduino IDE 설정, 업로드 방법, 시스템 구조 설명입니다. 베이스 코드와 카메라 코드는 릴리스 탭에서 받도록 안내되어 있지만, 저장소 본문에서는 W5500 초기화 코드 조각을 직접 확인할 수 없습니다.

따라서 이 글에는 프로젝트 고유의 W5500 코드 예시를 넣지 않습니다. 확인 가능한 구조를 기준으로 설명하면 다음과 같습니다.

베이스 유닛

  • Waveshare ESP32-S3 ETH PoE 보드 사용
  • 보드에 포함된 WIZnet W5500 Ethernet 사용
  • ATEM 스위처와 Ethernet으로 연결
  • 웹 설정 화면에서 ATEM IP, 베이스 IP, 카메라 슬롯, 리시버 MAC 주소 관리
  • ESP-NOW로 카메라 리시버에 제어 데이터 전송

카메라 리시버

  • 각 카메라 근처에 배치되는 ESP32-S3 장치
  • 베이스 유닛에서 ESP-NOW 메시지 수신
  • 자기 MAC 주소에 해당하는 메시지만 처리
  • Blackmagic 카메라에 실제 제어 명령 전달
  • 필요 시 자체 설정용 Wi-Fi 또는 captive portal 제공

상용 제품으로 발전시키려면 단순히 통신이 되는 수준에서 끝나면 안 됩니다. W5500 링크 상태 표시, ATEM 재연결 처리, IP 충돌 방지, 설정값 저장, 네트워크 오류 표시, watchdog 복구 로직이 필요합니다.

실무 팁과 주의점

  • ATEM과 베이스 유닛은 가능하면 고정 IP 또는 DHCP reservation으로 관리하는 것이 좋습니다.
  • W5500 Ethernet 링크가 끊겼을 때 OLED, LED, 웹 UI 중 하나로 상태를 보여줘야 현장 대응이 쉽습니다.
  • PoE를 사용할 경우 스위치 호환성, 케이블 길이, 전원 여유를 실제 설치 환경에서 확인해야 합니다.
  • ESP-NOW는 일반 Wi-Fi 접속과 다르므로 2.4GHz 채널 혼잡도와 리시버 위치를 함께 테스트해야 합니다.
  • 카메라 쪽 USB-C Ethernet 어댑터는 모델별 호환성 차이가 있을 수 있으므로 실제 Blackmagic 카메라로 검증해야 합니다.
  • 상용 배포를 고려한다면 GPL-3.0 라이선스와 사용 라이브러리의 배포 조건을 먼저 확인해야 합니다.

FAQ

Q: ATEM을 모르는 사람에게 이 프로젝트를 어떻게 설명할 수 있나요?
A: ATEM은 여러 카메라 화면을 받아서 어떤 화면을 방송으로 내보낼지 선택하는 비디오 스위처입니다. ANCS는 그 ATEM에서 나온 카메라 제어 명령을 무선 카메라 운용 환경에서도 카메라까지 전달해 주는 중간 장치입니다.

Q: 왜 W5500을 사용하나요?
A: ATEM과 연결되는 베이스 유닛은 안정적인 유선 네트워크가 필요합니다. W5500은 ESP32-S3 보드에 Ethernet 연결을 제공해 ATEM 제어 네트워크에 안정적으로 접속할 수 있게 합니다.

Q: W5500은 카메라와 직접 통신하나요?
A: 이 구조에서는 아닙니다. W5500은 베이스 유닛이 ATEM과 통신하는 데 사용됩니다. 카메라 리시버와의 데이터 전달은 ESP-NOW가 담당하고, 리시버가 카메라에 실제 명령을 보냅니다.

Q: 초보자도 이해할 수 있는 구조인가요?
A: 개념은 어렵지 않습니다. “ATEM → 베이스 유닛 → 카메라 리시버 → 카메라” 순서로 제어 명령이 이동한다고 보면 됩니다. 다만 실제 제작에는 Arduino IDE, ESP32, IP 주소 설정, MAC 주소 등록, Blackmagic 카메라 네트워크 설정에 대한 기본 지식이 필요합니다.

Q: ATEM 연결을 Wi-Fi로 하면 안 되나요?
A: 가능성은 있지만 상용 제품 관점에서는 권장하기 어렵습니다. ATEM과 베이스 유닛 사이의 연결은 제어 흐름의 시작점이므로, RF 간섭이나 액세스 포인트 상태에 영향을 받는 Wi-Fi보다 유선 Ethernet이 더 안정적인 선택입니다.

 

What the Project Does

Live broadcasts and on-site productions often use multiple cameras at the same time. For smooth switching between camera feeds, all cameras need to maintain consistent brightness, color tone, shutter speed, and white balance.

Blackmagic ATEM is a video switcher that receives multiple camera feeds and switches them into a single program output. In simple terms, it is the central device used in broadcasts or live events to choose which camera feed goes live, such as “Camera 1 now, Camera 2 next.”

When Blackmagic cameras are connected to an ATEM system, operators can remotely adjust settings such as exposure, color, shutter, and white balance without physically touching each camera. However, when wireless cameras are used, or when there is no SDI return cable, the control path from the ATEM back to the camera can be lost.

ANCS was created to solve this problem. It is an ESP32-S3-based camera control bridge that carries control signals between a Blackmagic ATEM switcher and Blackmagic cameras. It does not transmit video. Instead, it sends camera control commands through a separate network path.

The operating flow is as follows:

  1. The operator adjusts camera values from the ATEM system.
  2. The ANCS base unit connects to the ATEM over Ethernet and receives the control data.
  3. The base unit sends the data to receivers placed near each camera using ESP-NOW.
  4. Each camera receiver forwards the received command to the Blackmagic camera.

In short, ANCS is an intermediate device that delivers camera control commands from an ATEM system to cameras, even in wireless camera operation environments.

Image source: AI-generated

Where WIZnet Fits

The WIZnet product used in this project is W5500. The W5500 is included on the Waveshare ESP32-S3 ETH PoE board and is used as the wired Ethernet interface that allows the ANCS base unit to connect to the ATEM network.

ESP32-S3 ETH development board, front view

ESP32-S3 ETH development board, front view

Image source: Waveshare

The W5500 does not handle wireless communication on the camera side. Its role is more specific:

  • It allows the base unit to connect to the ATEM switcher over wired Ethernet.
  • It provides a stable physical link to the ATEM control network.
  • It reduces instability in the control path by using a cable-based connection instead of Wi-Fi.
  • It enables PoE-based installation, where power and network connectivity can be carried through a single cable.

This configuration matters because the ATEM connection is the starting point of the entire control flow. If the link between the base unit and the ATEM is unstable, the camera receivers and the camera control process will also be affected.

For that reason, ANCS keeps the ATEM-side connection fixed on wired Ethernet and uses ESP-NOW only for the connection between the base unit and the receivers near the cameras. From a commercial product perspective, this separates the part that requires stability from the part that requires flexible placement.

The W5500 is a hardware TCP/IP Ethernet controller that connects to an MCU through SPI. It provides a 10/100 Ethernet MAC/PHY, 32 KB internal buffer, and 8 independent sockets. This makes it suitable for a system where an MCU such as the ESP32-S3 needs to handle a setup UI, wireless messaging, and camera control logic at the same time.

In ANCS, the key value of the W5500 is stability rather than speed. Camera control data is not large like video data, so link reliability, installation convenience, and predictable network behavior are more important than raw bandwidth.

Implementation Notes

The repository provides README documentation, hardware configuration, Arduino IDE setup, upload instructions, and system architecture information. The base code and camera code are provided through the release tab, but the repository body does not expose a directly verifiable W5500 initialization code snippet.

For that reason, this article does not include project-specific W5500 code examples. Based on the confirmed structure, the implementation can be understood as follows.

Base Unit

  • Uses the Waveshare ESP32-S3 ETH PoE board.
  • Uses the WIZnet W5500 Ethernet interface included on the board.
  • Connects to the ATEM switcher over Ethernet.
  • Manages ATEM IP, base IP, camera slots, and receiver MAC addresses through the web setup page.
  • Sends control data to camera receivers using ESP-NOW.

Camera Receiver

  • Placed near each camera.
  • Receives ESP-NOW messages from the base unit.
  • Processes only messages that match its own MAC address.
  • Sends the actual control command to the Blackmagic camera.
  • Can provide its own setup Wi-Fi or captive portal when needed.

To develop this into a commercial product, communication alone is not enough. The system should also include W5500 link-state display, ATEM reconnection handling, IP conflict prevention, stored configuration management, network error reporting, and watchdog-based recovery logic.

Practical Tips and Pitfalls

  • The ATEM and base unit should preferably be managed using a static IP address or DHCP reservation.
  • If the W5500 Ethernet link goes down, the system should show the status through an OLED, LED, or web UI so that field troubleshooting is easier.
  • When using PoE, switch compatibility, cable length, and available power margin should be tested in the actual installation environment.
  • ESP-NOW is different from a normal Wi-Fi connection, so 2.4 GHz channel congestion and receiver placement should be tested together.
  • USB-C Ethernet adapter compatibility on the camera side can vary by Blackmagic camera model, so it should be verified with the actual camera.
  • If commercial distribution is planned, the GPL-3.0 license and the distribution terms of the libraries used in the project should be reviewed first.

FAQ

Q: How would you explain this project to someone who does not know ATEM?
A: ATEM is a video switcher that receives multiple camera feeds and selects which feed should be sent to the broadcast output. ANCS is an intermediate device that delivers camera control commands from the ATEM to cameras, even in wireless camera operation environments.

Q: Why is the W5500 used?
A: The base unit connected to the ATEM needs a stable wired network connection. The W5500 provides Ethernet connectivity to the ESP32-S3 board, allowing it to connect reliably to the ATEM control network.

Q: Does the W5500 communicate directly with the camera?
A: Not in this architecture. The W5500 is used for communication between the base unit and the ATEM. Data transfer to the camera receiver is handled by ESP-NOW, and the receiver sends the actual command to the camera.

Q: Is the architecture easy for beginners to understand?
A: The concept is straightforward. Control commands move in the order of “ATEM → base unit → camera receiver → camera.” However, building it requires basic knowledge of the Arduino IDE, ESP32, IP address configuration, MAC address registration, and Blackmagic camera network setup.

Q: Why not connect the ATEM side over Wi-Fi?
A: It may be possible, but it is not ideal from a commercial product perspective. The connection between the ATEM and the base unit is the starting point of the control flow, so wired Ethernet is a more stable choice than Wi-Fi, which can be affected by RF interference or access point conditions.

Documents
  • Github Code

Comments Write