T-Mobile Sponsored  ·  TECHIN 515, University of Washington  ·  2025 to 2026

Wizarding
Chess

A Harry Potter-inspired autonomous chessboard that physically moves pieces by itself, designed for players with hand and motor disabilities.

GitHub

3

Microcontrollers

52

Unit Tests

64

Custom PCB Sensors

$350

Total Budget

41cm

Gantry Travel

5s

Avg Move Time

My Role

Technical PM
who ships
the product.

I wore two hats on this project. As PM I defined the product vision, managed the T-Mobile sponsor relationship, coordinated the team, and owned the budget. As an engineer I built the web interface from scratch and co-built the CoreXY motion system hands-on.

01

Product & Vision

Defined the product vision, led accessibility research, and set the roadmap for an industry-sponsored project from concept to working prototype.

02

Engineering

Built the full Next.js web interface and co-engineered the CoreXY motion system: firmware, kinematics, and physical assembly.

03

Sponsor Relations

Served as T-Mobile liaison, presenting progress, gathering feedback from their accessibility team, and translating industry requirements back into engineering decisions.

04

Operations

Managed the full project budget ($350 cap), vendor sourcing from Shenzhen fabrication to local materials, and team delivery across hardware and software workstreams.

Project Timeline

As technical PM I owned delivery from March through summer: sprint planning, cross-functional coordination, sponsor checkpoints, and post-demo hardening. This board reflects how work moved from kickoff to shipped milestones across hardware, firmware, and software.

Delivery Board

Wizard Chess program timeline

Mar 2026AprMayJunSummer

Backlog (2)

WC-014

Product

Remote play over web for two locations

SummerYL

WC-015

Research

User testing with motor accessibility participants

Jul to AugYL

Planned (2)

WC-011

Firmware

Firmware validation across all 64 Hall sensors

Jun W2KT

WC-012

PM

Summer sprint plan with T-Mobile accessibility team

Jun W4YL

In Progress (3)

WC-009

Firmware

Limit switch homing and recalibration sequence

Jun W1 to W3KT

WC-010

Hardware

Final wooden enclosure and CNC top layers

Jun W2 to Jul W1SJ

WC-013

Software

Attack animations and game mode UI polish

Jun to JulYL

Review (2)

WC-008

Sponsor

T-Mobile sponsor demo and feedback synthesis

May W4YL

WC-007

Hardware

Enclosure thickness budget (11 mm magnet constraint)

May W3YL

Done (6)

WC-001

PM

Project kickoff, charter, and role assignment

Mar W1YL

WC-002

Sponsor

T-Mobile sponsor alignment and accessibility brief

Mar W2YL

WC-003

Hardware

CoreXY gantry prototype and motion firmware

Apr W1 to W3KT

WC-004

Hardware

Electromagnet polarity switching and plywood test

Apr W3KT

WC-005

Hardware

Custom PCB design (64 sensors, 4 boards)

Apr W4 to May W2KT

WC-006

Software

Next.js web UI, WebSocket sync, Stockfish AI

May W1 to W3YL

PM: YL

Engineering: KT

Design: SJ

Sponsor: T-Mobile

The Problem

HOW MIGHT WE

Make physical chess truly playable for people with hand and motor disabilities without sacrificing the tactile experience of the game?

Chess is one of the most universal strategy games in the world. But for people living with hand disabilities or motor impairments, physically moving pieces across a board is a frustrating barrier. Existing solutions like digital chess apps and screen-based interfaces strip away the tactile, physical experience of the game entirely.

Wizarding Chess removes that barrier. Players speak their move, and the board moves the piece for them.

2M+

Adults in the US experience paralysis affecting upper limb function (CDC)

1 in 4

American adults live with some form of disability

0

Existing physical chess products designed for motor accessibility

What We Built

A fully autonomous, voice-controlled physical chessboard that moves pieces on its own using an electromagnet on a CoreXY gantry. Players interact via voice command or a web interface. The board physically executes the move in real space.

01

Voice & Web

Player speaks "e2 to e4" or clicks in the browser. Stockfish AI available for either side.

02

ESP32-S3 Brain

Transcribes voice via OpenAI Whisper, bridges to motor controller wirelessly via ESP-NOW.

03

Pico Controller

Validates moves, runs Dijkstra pathfinding around pieces, drives CoreXY stepper motors.

04

Physical Board

Electromagnet slides pieces to target square. Hall sensors verify position. LEDs confirm placement.

Live Demo Available. Connect to the web interface and control the physical board from any browser on the same network.

Open Demo →
Build Journey

PHASE 01

XY Motion
System

We explored multiple approaches including robotic arms before settling on a CoreXY belt-drive system inspired by 3D printer mechanics. We designed all custom brackets in Fusion 360, 3D printed them, sourced linear rods, belts, and NEMA 17 stepper motors within budget, and assembled the full gantry by hand. We wrote the firmware from scratch, implementing CoreXY inverse kinematics and Bresenham's line algorithm for smooth coordinated motion across 41cm × 41cm of travel.

Early gantry assemblyDrag to explore · Click to expand
Components laid outDrag to explore · Click to expand
Full gantry assembledDrag to explore · Click to expand

Early assembly, components laid out, then first full gantry with breadboard wiring

Fusion 360 carriage CADDrag to explore · Click to expand
Fusion 360 corner bracket CADDrag to explore · Click to expand

Fusion 360: carriage piece (top) and corner mount (bottom)

First Movement Test
Piece Routing with Blocker Displacement

PHASE 02

Electromagnet
& Polarity

We selected an H-bridge-driven electromagnet and engineered a key insight: by switching the direction of current through the H-bridge, we could attract white pieces on one polarity and black pieces on the other, allowing the board to selectively pick up pieces by color. We physically tested magnetic penetration through different plywood thicknesses to find the right balance between structural stability and magnetic force.

Testing electromagnet through plywoodDrag to explore · Click to expand

Testing magnetic penetration through different plywood thicknesses

Polarity Switching Test

PHASE 03

Voice
Recognition

We integrated an ICS-43432 I2S MEMS microphone with the ESP32-S3 to capture voice commands, sending audio to OpenAI Whisper for transcription. The system parses the transcript for a chess move and sends it wirelessly to the Pico via ESP-NOW. Voice and web UI inputs are completely interchangeable. The physical board cannot tell the difference between a spoken command and a browser click.

First Successful Voice Command

PHASE 04

Custom
PCB

We designed custom 2-layer PCBs in KiCad integrating 64 A1302xUA Hall effect sensors and 64 WS2812B addressable RGB LEDs across four boards, one of each per chess square. The board was fabricated in Shenzhen, received, and hand-soldered using SMD reflow techniques. The Hall sensors detect and verify piece presence; the LEDs provide accessibility feedback highlighting valid moves and confirming correct placement.

KiCad schematicDrag to explore · Click to expand
KiCad PCB layoutDrag to explore · Click to expand

KiCad schematic (Hall sensors + WS2812B LEDs) and PCB layout

PCB 3D renderDrag to explore · Click to expand
Fully soldered PCBDrag to explore · Click to expand

KiCad 3D render to fully soldered PCB from Shenzhen

SMD soldering sessionDrag to explore · Click to expand
PCB fitted into laser-cut frameDrag to explore · Click to expand

Hand-soldering SMD components, then PCB fitted perfectly into laser-cut wood frame

Hall Sensor Test Custom PCB

PHASE 05

SLA Chess
Pieces

We 3D-printed a full Harry Potter-themed chess set using SLA resin printing on an ELEGOO printer, UV-cured them on a Mercury Plus curing station, post-processed and assembled by hand with super glue, then spray-painted one full set white and one set black, matching the electromagnet's polarity color coding so the board can distinguish pieces by color.

HP chess pieces in UltiMaker CuraDrag to explore · Click to expand
UV curing stationDrag to explore · Click to expand

Sliced in UltiMaker Cura, then UV curing on the ELEGOO Mercury Plus station

Late night post-processingDrag to explore · Click to expand
Finished white and black piecesDrag to explore · Click to expand

Late-night post-processing, then finished white vs black pieces

PHASE 06

Web
Interface

Built entirely by me from scratch. A cinematic landing page with a 3D animated knight video, and a full game interface with an interactive chessboard, real-time WebSocket sync to the physical board, legal move highlighting (blue for moves, red for captures), captured pieces tracking, per-player timers, game status detection, and Stockfish 18 AI running entirely in the browser as a Web Worker. Two browsers on the same LAN stay in sync in real time. A voice move at the board reflects on every connected screen instantly.

Try it live. The web interface is deployed and working.

Open →

PHASE 07

T-Mobile
Demo Day

We presented our full integrated system to the T-Mobile accessibility team, demonstrating end-to-end piece movement, voice control, and the web interface live. The board worked, but the demo surfaced three real engineering problems we needed to solve before final delivery.

01

Chess pieces too heavy.

The SLA resin pieces were solid and dense. Under the electromagnet's pull they dragged correctly, but the extra mass caused some pieces to get stuck mid-move on the gantry rail.

02

Top layer sagged in the middle.

With the PCB sandwiched between enclosure layers, the bottom of the top layer was too thin and flexed downward at the center, increasing the gap between electromagnet and board surface right where accuracy mattered most.

03

No way to verify chess piece location.

The Hall effect sensors were designed into the PCB but hadn't yet been integrated into the live board. Without confirmation that pieces were actually sitting on the right squares, the system was running blind.

Team at T-Mobile demo dayDrag to explore · Click to expand

 

Team presenting the boardDrag to explore · Click to expand
Presenting to T-Mobile mentorDrag to explore · Click to expand

T-Mobile sponsor demo, board working, three engineering issues identified

PHASE 08

Limit Switches
& Homing

After the T-Mobile demo we added mechanical limit switches to the CoreXY gantry. The board moved pieces reliably during the presentation, but we had no reliable way to know where the magnet carriage actually was, especially on startup or after a long session of moves.

The main reason is homing. When the chessboard first turns on, the system does not automatically know where the magnet carriage is. The limit switch lets the carriage move to a known edge position, usually the home corner, so the firmware can set that point as X = 0, Y = 0 before any move is sent.

It is also important for accuracy. XY systems like ours use stepper motors, and stepper motors do not know their true position. They only count steps. If a motor skips steps, slips, or gets blocked by friction, the software position can drift from reality. Limit switches give the firmware a physical reference to recalibrate against, driving slowly to each edge, backing off, and re-measuring travel so the board can recover without manual intervention.

HOW HOMING WORKS

Six switches across both axes

One switch per X end, plus two per Y end to cover the dual-rail gantry. Each switch is wired active-low with a pull-up resistor.

Startup calibration sequence

On boot the carriage homes to -X, then +X, then -Y, then +Y, backing off slightly after each hit so the switch releases before the next move.

Runtime safety stop

During normal moves the firmware checks switches in the direction of travel and stops immediately if a limit is hit unexpectedly, then triggers a full recalibration.

X-axis limit switch mounted at the home edgeDrag to explore · Click to expand
Y-axis limit switches mounted on the gantry railsDrag to explore · Click to expand

X-axis limit switch at home edge and Y-axis limit switches on the dual-rail gantry

PHASE 09

Enclosure
Engineering

After the T-Mobile demo we addressed all three enclosure issues and added limit switch homing before building the final enclosure. The electromagnet imposes a hard constraint: the total top-layer thickness must stay at or under 11 mm for the magnetic field to reliably move pieces through the surface. Every design decision flowed from that number.

HOW WE FIXED EACH ISSUE

Lighter pieces

Hollowed out the interior of each chess piece to dramatically cut weight while keeping the base magnet in place. The electromagnet now slides pieces cleanly without sticking or stalling.

Sagging solved with a torsion layer

Rather than using a thick 1/4" bottom layer (which would eat into our 11 mm budget), I investigated and found we could use a thinner 1/8" bottom layer plus a 1.5 mm torsion sheet on top. The torsion layer distributes load across the PCB sandwich and prevents center sag even when only screwed down at the four corners.

Eliminated a full top layer

Instead of laying a separate top sheet and applying chess square decals on top of it, we cut the chess board squares directly out of the PCB layer itself. This removed an entire layer of material and brought our total stack to 9.25 mm, comfortably within the 11 mm limit.

Hall effect sensor integration

We wired up the A1302xUA Hall sensors already on the PCBs, tested all 64 sensors individually, confirmed detection, and merged the firmware so piece position is now verified after every move in real time.

Total top-layer thickness achieved9.25 mm✓ within 11 mm limit
Engineer testing final hardwareDrag to explore · Click to expand
Four PCB boards mounted on bottom top layerDrag to explore · Click to expand

Final hardware validation before enclosure, then four PCB boards mounted on the bottom top layer

Team integrating hardware and enclosureDrag to explore · Click to expand

Full team integrating hardware subsystems and enclosure layers

PHASE 10

Final
Enclosure

With the engineering constraints solved, we designed and built the final enclosure from scratch. We went with a wooden theme. The goal was for the board to feel like an antique chess set, not a prototype. We used a CNC machine to precision-cut the top layers, a table saw for the structural wood stock, hand-applied wood stain and wax finish, and a laser cutter for the decorative emblems. Everything was designed in Fusion 360 first.

CNC

Precision cuts for top layers

Table saw

Structural wood stock

Wood stain + wax

Hand-applied finish

Laser cutter

Decorative emblems

Fusion 360 enclosure designDrag to explore · Click to expand
CNC machine cutting top layerDrag to explore · Click to expand
CNC machine cutting the enclosure panelsDrag to explore · Click to expand

Fusion 360 enclosure design, then CNC cutting the top layer

Finished wooden enclosureDrag to explore · Click to expand
Team with T-Mobile mentor at final demoDrag to explore · Click to expand

Finished enclosure with wood stain and wax, then final demo with T-Mobile mentor

Challenges & How We Addressed Them
01

Piece Location Verification

“How do we know the board is in the right state?”

This was our biggest and most fundamental challenge. Chess pieces are physical objects. They can drift, stick to each other due to residual magnetism, get dragged slightly off-center, or fail to land exactly on target. Once the board state drifts even slightly from what the software expects, every subsequent move compounds the error. Within a few moves the whole board could be in complete disarray.

We researched several approaches: computer vision (too complex, lighting-dependent), pressure sensors (not sensitive enough for light resin pieces), and capacitive sensing (too much interference from wood). We landed on Hall effect sensors: one A1302xUA sensor per square, embedded in a custom PCB beneath the board. Since every piece has a magnet in its base, each sensor detects whether a piece is sitting on its square and reports back to the firmware, closing the loop between what the system thinks is on the board and what is actually there.

Hall effect sensor PCB for piece location verificationDrag to explore · Click to expand
Chessboard with Hall sensors verifying piece placementDrag to explore · Click to expand
02

Accessibility

“What does truly accessible chess actually look like?”

This was the core of the entire project and the most layered challenge we faced. Our T-Mobile mentor pushed us early to think beyond “the board moves pieces.” The question was what a truly accessible chess experience looks like for someone with limited hand mobility, limited vision, or both. We identified three problems: players needed a way to input moves without touching the board, they needed feedback confirming the move happened correctly, and they needed to understand the board state at a glance.

We addressed each with a different layer: voice recognition via OpenAI Whisper for input (no physical contact required), WS2812B LEDs per square for in-board confirmation feedback, and the real-time web interface for complete board awareness from any device. Together these three layers mean a player with limited hand mobility can play a full game of physical chess speaking their moves, watching the board respond, and following the game on screen without assistance from another person.

Accessibility Demo
Technical Highlights

52

Unit Tests

Written for embedded C++ firmware using the Unity framework chess engine and move planner fully tested independently of hardware.

Dijkstra Pathfinding

Runs on the Pico to route the magnet carriage around blocking pieces, with recursive blocker parking up to 3 levels deep.

ESP-NOW Wireless

Peer-to-peer between two microcontrollers with automatic channel scanning and hopping. No router required.

No Optimistic UI

The web interface only updates when the physical move is confirmed complete. The digital board always reflects physical reality.

Custom PCB

Designed in KiCad, fabricated in Shenzhen, hand-soldered by the team. 64 Hall sensors + 64 RGB LEDs across four 2-layer boards.

Stockfish 18 AI

Runs as a WebAssembly Web Worker entirely in the browser. No server required. Either player can be toggled to AI mid-game.

Tech Stack

Web Interface

Next.js 16React 19TypeScriptTailwind CSS v4Stockfish 18WebSocket

Firmware

C++PlatformIORaspberry Pi PicoESP32-S3ESP-NOWOpenAI Whisper

Hardware & Fabrication

KiCadFusion 360SLA Resin PrintingLaser CuttingShenzhen PCB FabSMD Reflow

Testing & Protocol

Unity Test FrameworkBresenham AlgorithmDijkstra PathfindingCoreXY Kinematics
Team
TMO

T-Mobile Accessibility Team

Industry Sponsor & Accessibility Mentor

T-Mobile Sponsored
YL

Youngpyung Lee

Technical PM · Web Interface · XY Motion System · T-Mobile Liaison · Budget

SJ

Su Hyun Jung

Product Designer

KT

Keochonodom Taing

Software & Hardware Engineer (SDE)

Learnings & Impact

Hardware and software are inseparable.

Every software decision had physical consequences, and every hardware constraint shaped the code. Writing a chess engine that runs on a microcontroller while also routing a physical magnet around real pieces taught me to think in both worlds simultaneously.

Accessibility is a design constraint, not a feature.

Working with T-Mobile's accessibility team reframed how I think about inclusive design. The best accessibility decisions weren't add-ons. They were fundamental architecture choices that made the whole system better for everyone.

PMs who build earn more trust.

Being hands-on in the codebase and on the workbench gave me credibility with my teammates that purely managerial coordination never would have. I could make better product decisions because I understood the technical tradeoffs from the inside.

What's Next

The course project is complete and our T-Mobile mentor invited the team to continue development over the summer in partnership with the T-Mobile accessibility team, moving the board from a working prototype toward a product real users can test.

Formal user testing sessions with players who have hand and motor disabilities

Expand accessibility features based on T-Mobile accessibility team input

Remote play mode: two players in different locations via web interface

Improve firmware reliability for real-time validation across all 64 sensor squares