を載せるターンテーブルの回転をトラッキングするデバイスを作りました
M5Stack + PoE W5500 tracks a turntable-mounted car’s rotation via a rotary encoder and streams counts over UDP for real-time XR alignment.
Real-time Turntable Angle Tracking for XR: M5Stack + PoE(W5500) + Rotary Encoder + UDP
(From a Japanese note article by Takeru Kobayashi / PARTY)

Source: https://note.com/kobafeb26/n/n9c5b7a260a33
Introduction
This Japanese note article documents a very practical “field device” built for a live event: tracking a vehicle’s rotation angle in real time while the car sits on a turntable—so an XR system can correctly align visuals to the car’s actual orientation.
The project was created for the CES 2024 Honda “0” XR Experience. The author explains that PARTY’s glasses-free XR system (“Holo Window”) needed accurate, low-latency heading data from a turntable-mounted vehicle, and that the environment imposed harsh constraints: no markers, no pre-test access, and no post-install access.
The problem constraints (why this wasn’t “just add a sensor”)
The article is valuable because it captures the real constraints that often break “lab-perfect” designs:
- You cannot attach markers to the vehicle or the stage surface.
- The turntable itself was only accessible on site (Las Vegas)—no full rehearsal with the actual hardware.
- The stage was finished with a specialized black coating, and once completed it was effectively sealed (hard to open or modify later).
- After installation, the device might be impossible to reach—so recovery and reset strategies must be designed in.
- The turntable and the operations booth were physically separated, so reliable long-distance data transport was required.
What this project is

Source: https://note.com/kobafeb26/n/n9c5b7a260a33
At a high level, this is an “angle telemetry node”:
- A rotary encoder measures the motion of a rotating surface (the turntable’s movement).
- An M5Stack reads the encoder count using interrupts.
- The device sends counts over wired Ethernet using PoE + W5500, using UDP packets to a PC in the operations area.
- The PC converts counts into real-time absolute angle for XR alignment.
This split (simple edge node + smarter PC-side math) is intentional: the author wanted firmware to remain simple and robust because field updates weren’t feasible.
Hardware design (deployment-driven choices)
1) Mechanical design to reduce slip and tolerate real-world variability
The author emphasizes that angle tracking depends on mechanical stability:
- The encoder is mounted on a spring bracket to absorb small height differences, load shifts, and turntable irregularities.
- The contact roller uses a resin/plastic material to reduce slipping.
- Installation uses a lift/jack approach so that any installer can set the correct height and contact pressure consistently.
2) Controller: M5Stack Basic + PoE-capable W5500 LAN module
The electronics selection is clearly driven by operations needs:
- One Ethernet cable provides both power and data via PoE.
- Wired networking is stable for long runs between the turntable area and the operations booth.
- If the device freezes, the ops team can do a hard reset by unplugging the PoE cable (without physically accessing the device).
- The M5Stack display can show status during installation and troubleshooting.
This is exactly the sort of environment where PoE + wired Ethernet becomes a reliability feature, not just connectivity.
How it works (W5500 role & data flow)

Source: https://note.com/kobafeb26/n/n9c5b7a260a33
1) Edge node stays simple: “count only”
Angle is computed on the PC side using a straightforward relationship:
- Angle = (totalSteps % stepsPerRevolution) × (360 / stepsPerRevolution)
The M5Stack doesn’t try to do full kinematics or smoothing—its job is to reliably count and transmit.
2) Encoder reading: interrupt-driven direction counting
Encoder A is wired to GPIO16 (interrupt), and Encoder B to GPIO17.
- Direction is determined by comparing the channel states and incrementing/decrementing a counter accordingly.
3) Networking: W5500 Ethernet + UDP
The firmware uses W5500 Ethernet libraries (M5_Ethernet.h, EthernetUDP) and configures a static IP with Ethernet.begin(mac, ip).
It sends UDP packets at ~33 ms intervals and uses a simple framing format like:BEGIN,seq,count,END
4) Field recovery strategy: multiple reset layers
Because physical access isn’t guaranteed, the design includes redundant reset options:
- M5Stack buttons (A/B/C) can reset the counter.
- A UDP command (
rest) can reset the count to zero. - Serial input (
r) can reset the count. - Final fallback: hard reset by unplugging PoE in the ops booth.
This “multi-layer recovery” is one of the strongest real-world engineering lessons in the article.
Author & production context
- Author: Takeru Kobayashi (コバヤシタケル)
- note profile: Technical Director / Engineer @ PARTY (PY)
- PARTY’s tech-focused team “PY” is publicly described with Kobayashi listed as a tech lead, confirming this is part of professional production work rather than a hobby demo.
Source: https://www.instagram.com/kobafeb26/
Source: https://x.com/TAKERUKOBAYASHI
Why it matters (what other engineers can reuse)
- A blueprint for “no marker, no rehearsal, no access” environments
The article demonstrates how to design for a scenario where you can’t rely on ideal conditions or iterative tuning. - W5500 + PoE as an operations-first networking choice
A single cable for power and networking, long-distance stability, and the ability to hard-reset from a control booth are all practical advantages that matter in events and installations. - Keep the edge device minimal; do the math elsewhere
When you can’t patch firmware on site, “count and transmit” is safer than implementing complex logic on the device.
Quick reproduce checklist (high-level)
- Mechanical: anti-slip contact, spring bracket, consistent height adjustment (jack).
- Electronics: M5Stack Basic + PoE-capable W5500 LAN module.
- Firmware: interrupt-based encoder counting + UDP telemetry at ~33 ms.
- Ops resilience: button/UDP/serial resets + PoE hard reset fallback.
Frequently Asked Questions (FAQ)
Q: Why was W5500 with PoE chosen over Wi-Fi for this XR project?
A: The project required extreme reliability in a signal-congested event environment (CES). The W5500 with PoE allowed for a single cable to carry both power and data over long distances. Crucially, it enabled the operations team to perform a hard reset from the control booth simply by unplugging the cable, which was necessary since the device was sealed under the stage and physically inaccessible.
Q: How does the system handle angle calculation?
A: To minimize firmware complexity and potential bugs, the M5Stack edge device does not calculate the angle. It simply counts rotary encoder steps via interrupts and transmits raw data via UDP. The actual conversion from "steps" to "degrees" is handled by the external PC, ensuring the edge firmware remains lightweight and robust.
Q: What mechanical solutions were used to prevent tracking errors?
A: Since the turntable surface was uneven, the system used a spring-loaded bracket to absorb height variances and maintain constant pressure. A resin contact roller was also selected to minimize slippage against the turntable's specialized black coating.
Q: Why is UDP used for data transmission in this setup?
A: UDP is used to minimize latency, which is critical for real-time XR visual alignment. The system broadcasts encoder counts every 33ms (approx. 30fps). In live motion tracking, processing the most recent data packet immediately is more important than guaranteeing the delivery of old packets (as TCP would do).
[UCC 큐레이션 | JP] 턴테이블 위 차량의 “회전 각도”를 실시간 추적하는 장치 만들기
CES 2024 Honda ‘0’ XR Experience 현장 요구를 해결한 M5Stack + PoE(W5500) + 로터리 엔코더 + UDP 사례
Introduction
이 일본어(note) 글은 CES 2024에서 혼다가 공개한 컨셉 EV 부스의 XR 경험 제작 과정에서, 턴테이블 위에 올려진 차량이 회전할 때 차량의 방향(각도)을 실시간으로 알아내야 했던 문제를 해결한 “현장형 디바이스” 제작기입니다. 작성자는 PARTY가 자체 개발한 **맨눈 XR 시스템 ‘Holo Window’**를 운영하는 데 차량의 방향 정보가 필요했고, 그래서 턴테이블 회전을 추적하는 장치를 만들어 현장에 투입했다고 설명합니다. (note(ノート))
문제 정의: “센서가 없고, 붙일 수도 없고, 테스트도 못 한다”
글의 설계 난이도는 단순히 ‘엔코더 달면 되지’ 수준이 아니었습니다. 작성자는 다음 조건을 명확히 적습니다.
턴테이블/무대/차량에 마커를 붙이거나 무언가를 올려놓는 것이 불가 (note(ノート))
실제 턴테이블을 사전 테스트로 만져볼 수 없고, 현장(라스베가스)에서만 실물을 만날 수 있음 (note(ノート))
무대는 특수한 검정 도장으로 마감되어 완성 후에는 열거나 손댈 수 없음 (note(ノート))
장치를 설치한 뒤에는 다시 만질 수 없으니, 프리징 시 리셋 방법이 필요 (note(ノート))
턴테이블과 백야드 오퍼레이션 부스 사이 거리가 있어 장거리 전송이 필요 (note(ノート))
이런 상황에서 “위에서 카메라로 보자(PTZ) / 아래에서 물리적으로 재자” 같은 여러 안을 검토했지만, 결국 턴테이블 아래에 후부착 가능한 회전 추적 디바이스를 준비해 보내는 방식으로 진행합니다. (note(ノート))
What this project is
이 디바이스는 한 문장으로 요약하면:
“턴테이블 회전으로 인해 움직이는 부분의 이동량을 로터리 엔코더로 읽고, 그 값을 **유선 네트워크( PoE + W5500 )**로 오퍼레이션 PC에 보내 XR 시스템이 차량 방향을 보정할 수 있게 만든 장치” (note(ノート))
Hardware: 실제 구성(현장 요구에 맞춘 선택)
작성자가 선택한 핵심 구성은 다음과 같습니다.
1) 스리핑(미끄러짐)과 레벨 오차를 줄이는 기구 설계
로터리 엔코더를 스프링 브라켓에 고정해 턴테이블의 미세 레벨 차/차량 하중으로 인한 처짐을 흡수 (note(ノート))
접촉 롤러는 수지(플라스틱) 계열로 해 미끄러짐을 줄이려는 선택 (note(ノート))
설치/높이 조정은 **리프트(랩 잭)**를 써서 “누가 설치하더라도 쉽게” 맞출 수 있게 구성 (note(ノート))
2) 제어부: M5Stack + PoE 지원 W5500 LAN 모듈
작성자는 제어부로 M5Stack Basic과 PoE 지원 W5500 LAN 모듈을 결합합니다. 그리고 이 선택 이유를 아주 명확히 씁니다.
LAN 케이블 1가닥으로 전원 + 데이터 통신을 해결 (note(ノート))
턴테이블에서 백야드 오퍼 부스까지 유선으로 안정적으로 연결 (note(ノート))
문제가 생기면 오퍼 부스의 PoE 스위치에서 케이블을 뽑아 하드 리셋 가능 (note(ノート))
설치 시 M5 디스플레이로 상태를 보여 현장 작업자가 동작 확인 가능 (note(ノート))
How it works: 데이터 흐름과 소프트웨어 구조
이 글의 설계 철학은 “현장에서 펌웨어 수정이 불가하니, M5는 최대한 단순하게”입니다. (note(ノート))
1) 각도 계산은 PC가, M5는 ‘카운트만’
각도는 다음 식으로 계산합니다. (note(ノート))
각도 = (총 스텝 수 % 1회전 스텝 수) × (360 / 1회전 스텝 수) (note(ノート))
M5는 엔코더 변화값을 인터럽트로 카운트하고, 그 값을 UDP로 PC에 계속 송신합니다. (note(ノート))
2) M5 펌웨어 핵심: W5500(EthernetUDP) + 엔코더 인터럽트
코드에서 확인되는 구성 포인트:
W5500 사용: M5_Ethernet.h + EthernetUDP (note(ノート))
SPI 핀/CS 설정 후 Ethernet.begin(mac, ip)로 고정 IP 구성 (note(ノート))
엔코더는 A=GPIO16(인터럽트), B=GPIO17을 사용하고, XOR로 방향에 따라 count를 증감 (note(ノート))
약 33ms 간격으로 UDP 패킷을 송신하며, "BEGIN,seq,count,END" 형태로 전달 (note(ノート))
3) 리셋 전략(현장 운영을 위한 디테일)
“설치 후 만질 수 없다”는 조건 때문에 리셋/복구가 여러 레이어로 준비됩니다.
M5 버튼(A/B/C)로 카운터 리셋 (note(ノート))
UDP 수신으로 "rest"(리셋 명령) 들어오면 count=0 (note(ノート))
시리얼 입력으로 r을 받으면 count=0 (note(ノート))
최후 수단: PoE 스위치에서 케이블을 뽑아 하드 리셋 (note(ノート))
Author & Team / Community
작성자: 코바야시 타케루(コバヤシタケル)
note 프로필에 **“Technical Director, Engineer @PARTY (PY)”**로 소개되어 있고, PARTY 멤버 페이지로 연결됩니다. (note(ノート))
PARTY의 기술 특화 팀 PY 관련 보도자료에서도 “테크 리드: 코바야시 타케루”가 명시되어, 조직 내 역할이 확인됩니다. (プレスリリース・ニュースリリース配信シェアNo.1|PR TIMES)
PARTY 멤버 소개(요약)에서는 그가 소프트/하드웨어를 모두 다루는 제너럴리스트이며, 여러 기술 자격(전기/무선 등)을 보유했다고 설명합니다. (PARTY)
즉, 이 글은 “개인 취미”라기보다 대형 전시/브랜드 프로젝트 현장에서 필요한 장치를 직접 설계·운용한 기술 기록이라는 점에서 신뢰도가 높습니다. (note(ノート))
Why it matters (제3자가 얻는 것)
XR/전시 현장 문제 해결 방식의 교과서
“사전 테스트 불가/부착 금지/설치 후 접근 불가/장거리” 같은 최악의 조건에서, 요구사항을 체크리스트로 만들고(슬립, 리셋, 배선 단순화 등) 설계를 수렴합니다. (note(ノート))
W5500 + PoE가 ‘현장 운영’에서 왜 강한지 보여주는 사례
LAN 한 가닥으로 전원+데이터, 장거리 유선 연결, 오퍼 부스에서 케이블로 하드 리셋—이 세 가지는 “설치형/현장형 IoT”에서 큰 차이를 만듭니다. (note(ノート))
디바이스는 단순하게, 계산은 PC로
현장 펌웨어 수정이 어려울수록, 엣지는 “센서 수집+전송”에 집중하고 계산은 PC에서 수행하는 구조가 실전적입니다. (note(ノート))
Quick reproduce (재현 체크리스트)
기구: 미끄럼 최소화 롤러 + 스프링 브라켓 + 높이 조절(랩 잭) (note(ノート))
컨트롤러: M5Stack Basic + PoE 지원 W5500 LAN 모듈 (note(ノート))
펌웨어 전략:
엔코더 카운트는 인터럽트로 처리
UDP로 주기 송신, 계산은 PC에서 처리 (note(ノート))
운영 안전장치: 버튼/UDP/시리얼/PoE 하드리셋 다층 리셋 (note(ノート))
