Skip to the content
4 layers88.2 × 38.5 mmMotion play main, the printed circuit board in 3D

Motion play main

moclei/motion-play

Motion sensing project for fast moving objects moving through a plane. With directionality.

Size
88.2 × 38.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
93
Nets
102
Pads
362
Tracks, vias
855, 224
Pours
8
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
13 Dec 2024
Updated
4 Nov 2026

Overview

Motion play main is an open-source printed circuit board by moclei, from the moclei/motion-play repository on GitHub. It is a 4-layer board of 88.2 × 38.5 mm with 93 parts on 102 nets, routed with 855 tracks and 224 vias.

It is built around the ESP32-S3-WROOM-1-N16R8, SN74AHCT125PWRE4 and TPS61088RHLR, with the AMS1117-3.3, USBLC6-2SC6 and TYPE-C-31-M-12 among its other parts. Its parts include 34 capacitors, 25 resistors, 8 ICs, 5 connectors and 3 switches. It belongs with the ESP32 boards of this library.

Main components

7

README

README.md

Motion Play

ESP32-based sensor system for detecting and tracking fast-moving objects through a detection plane. Designed for games and sports performance training.

Project Status

Phase 4 - Integration & Polish (77% complete)

  • ✅ Custom PCBs with dual-MUX sensor architecture
  • ✅ 1000 Hz data collection with PSRAM buffering
  • ✅ AWS IoT Core + Lambda + DynamoDB backend
  • ✅ React web interface with visualization and device control
  • 🔄 Testing, optimization, documentation

Repository Structure

text
motion-play/
├── .context/           # AI context documentation (start here)
│   ├── PROJECT.md      # Comprehensive project context
│   ├── manifest.yaml   # Structured metadata
│   └── IDEAS.md        # Feature backlog
├── firmware/           # ESP32-S3 firmware (PlatformIO/Arduino)
├── frontend/           # React web interface
├── lambda/             # AWS Lambda functions
├── infrastructure/     # AWS setup and deployment
├── hardware/           # KiCad PCB designs
│   ├── pcb-main/       # Main controller board
│   ├── sensor-rigid/   # Sensor rigid base (mux, connectors)
│   └── sensor-flex/    # Sensor flex strip (VCNL4040s)
└── docs/references/    # Hardware datasheets

Quick Start

bash
# Firmware
cd firmware && pio run -t upload

# Frontend
cd frontend/motion-play-ui && npm install && npm run dev

Documentation

For AI assistants and detailed context: See .context/PROJECT.md

Hardware reference materials: See docs/references/

Hardware

  • MCU: LilyGO T-Display-S3 (ESP32-S3)
  • Sensors: 6× VCNL4040 proximity sensors (3 assemblies × 2 sensors)
  • Sensor Design: Rigid+Flex hybrid PCBs (sensors on flex strip angle outward for better direction detection)
  • Architecture: TCA9548A → PCA9546A → VCNL4040 (dual I2C multiplexing)

License

[TBD]

Parts

93
QtyValueFootprintReferences
5100kΩResistor_SMD:R_0603_1608MetricR2, R33, R34, R41, R42
5100nFCapacitor_SMD:C_0603_1608MetricC7, C9, C52, C53, C54
510kΩResistor_SMD:R_0603_1608MetricR6, R35, R38, R50, R51
510µFCapacitor_SMD:C_0603_1608MetricC25, C26, C27, C28, C51
5TestPointTestPoint:TestPoint_Pad_D2.0mmTPIO10, TPIO16, TPIO21, TPIO43, TPIO44
30.1µFCapacitor_SMD:C_0603_1608MetricC31, C32, C40
31µFCapacitor_SMD:C_0603_1608MetricC20, C50, C55
322µFCapacitor_SMD:C_0805_2012MetricC34, C35, C36
3Conn_01x04Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ4, J5, J6
210uFCapacitor_SMD:C_0603_1608MetricC8, C10
22.2kΩResistor_SMD:R_0603_1608MetricR28, R29
222ΩResistor_SMD:R_0603_1608MetricR52, R53
23AFuse:Fuse_1206_3216MetricF1, F2
24.7µFCapacitor_SMD:C_0603_1608MetricC21, C24
247nFCapacitor_SMD:C_0603_1608MetricC23, C37
25.1kΩResistor_SMD:R_0603_1608MetricR30, R31
10.1RResistor_SMD:R_2512_6332MetricR27
1100pFCapacitor_SMD:C_0603_1608MetricC39
110kΩ NTCResistor_SMD:R_0603_1608MetricTH1
110mΩResistor_SMD:R_2512_6332MetricR44
110µFCapacitor_SMD:C_0805_2012MetricC41
1180kΩResistor_SMD:R_0603_1608MetricR39
11kΩResistor_SMD:R_0603_1608MetricR1
12.2µFCapacitor_SMD:C_0603_1608MetricC33
12.2µHInductor_SMD:L_Changjiang_FNR6028SL1
12.2µH 10AFXL0630-2R2-M:IND-SMD_L7.0-W6.6L2
1220µF 10VCapacitor_SMD:CP_Elec_6.3x7.7C29
122kΩResistor_SMD:R_0603_1608MetricR43
122uFJLC-MCP:C0805C42
122uF 6.3V TantJLC-MCP:CASE-A_3216C43
130kΩResistor_SMD:R_0603_1608MetricR37
1330ΩResistor_SMD:R_0603_1608MetricR32
14.7nFCapacitor_SMD:C_0603_1608MetricC38
147µF 10VCapacitor_SMD:C_Elec_6.3x5.4C30
147µF 16VCapacitor_SMD:C_Elec_6.3x5.4C22
15.6kΩResistor_SMD:R_0603_1608MetricR36
156kΩResistor_SMD:R_0603_1608MetricR40
1AMS1117-3.3JLC-MCP:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BRU8
1BOOTJLC-MCP:KEY-SMD_L4.0-W3.0-LS4.9-1SW3
1BQ24195RGERBQ24195RGET:VQFN-24_L4.0-W4.0-P0.50-TL-EP2.8U5
1Battery_CellBattery:BatteryHolder_Keystone_1042_1x18650BT1
1ESP32-S3-WROOM-1-N16R8JLC-MCP:WIRELM-SMD_ESP32-S3-WROOM-1U3
1INA219AIDCNRINA219AIDCNR:SOT-23-8_L3.0-W1.7-P0.65-LS2.8-BRU7
1LEDLED_SMD:LED_0603_1608MetricD1
1LED_StripConnector_JST:JST_PH_S3B-PH-SM4-TB_1x03-1MP_P2.00mm_HorizontalJ3
1PGNDTestPoint:TestPoint_Pad_D1.5mmTP4
1PMOSPackage_TO_SOT_SMD:SOT-23Q2
1PVBUSTestPoint:TestPoint_Pad_D1.5mmTP3
1RESETJLC-MCP:KEY-SMD_L4.0-W3.0-LS4.9-1SW2
1SN74AHCT125PWRmotion-play-footprints:SOP65P640X120-14NIC1
1SW_SPDTJLC-MCP:MK-12C02-G020_GSWSW1
1TCA9548APWRmotion-play-footprints:SOP65P640X120-24NU4
1TPS61088RHLRTPS61088RHLR:VQFN-20_L4.6-W3.6-P0.50-BLU6
1TYPE-C-31-M-12TYPE-C-31-M-12:USB-C_SMD-TYPE-C-31-M-12_1J7
1USBLC6-2SC6JLC-MCP:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BLU9
1VBATTestPoint:TestPoint_Pad_D1.5mmTP2
1VSYSTestPoint:TestPoint_Pad_D1.5mmTP1
1WS2812B-MINIJLC-MCP:LED-SMD_4P-L3.5-W3.5-TL_WS2812B-1D5

More from moclei/motion-play

7
  • 4 layers88 × 40 mmMotion play v6, the printed circuit board in 3D

    Motion play v6

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    83 parts
  • 4 layers56.3 × 30.5 mmMotion play power, the printed circuit board in 3D

    Motion play power

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    47 parts
  • 4 layers27.3 × 19.1 mmMotion play sensor strip, the printed circuit board in 3D

    Motion play sensor strip

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    34 parts
  • 4 layers32.5 × 20.3 mmMotion play sensor strip bkp, the printed circuit board in 3D

    Motion play sensor strip bkp

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    29 parts
  • 4 layers28.5 × 22.7 mmSensor rigid, the printed circuit board in 3D

    Sensor rigid

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    22 parts
  • 2 layers462.7 × 26.7 mmSensor alt pt, the printed circuit board in 3D

    Sensor alt pt

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    13 parts
  • 2 layers54.6 × 10.2 mmSensor flex, the printed circuit board in 3D

    Sensor flex

    moclei/motion-play

    Motion sensing project for fast moving objects moving through a plane. With directionality.

    9 parts

Similar boards

  • 4 layers144 × 127 mmFrothfet, the printed circuit board in 3D

    Frothfet

    hoeken/frothfet

    Yarrboard load controller board with current sense, volt sense, fuses, and sender support.

    394 parts14GPL-3.0
  • 4 layers160.7 × 51.7 mmSendit, the printed circuit board in 3D

    Sendit

    hoeken/sendit

    ESP32 based ADC Input Multitool

    228 parts2GPL-3.0
  • 2 layers80 × 54 mmPl60c dmx, the printed circuit board in 3D

    Pl60c dmx

    tsmiltonAgents/pl60c-dmx-wakeup

    A small ESP32-S3 board that drives the wired DMX512 input of a Neewer PL60C panel light so the light can be ramped up slowly in the morning (sunrise alarm). Rev A, 2026-09-02.

    40 parts
  • 4 layers100 × 80 mmAuraForge-50X, the printed circuit board in 3D

    AuraForge-50X

    RaviKachhwaha/AuraForge-50X

    A 4-layer programmable PCB board audio platform featuring an ESP32 DSP core, 50Hz Wi-Fi CSI radar, 2x50W TPA3116D2 Class-D amp, hybrid dual-rail power (10A TPS61088 3.7V-to-12V boost & 12–21V DC jack), 3A USB-C fast…

    83 parts
  • 2 layers40 × 30 mmNOVA S3, the printed circuit board in 3D

    NOVA S3

    fubiniricci/NOVA-S3

    A 40 × 30 mm, two-layer ESP32-S3 development board, designed and generated programmatically from the official KiCad libraries with a custom grid-based auto-router.

    26 partsMIT
  • 4 layers66 × 142 mmHandset, the printed circuit board in 3D

    Handset

    JeremyLakeyJr/mesh-phone

    OWASSO-1 DIY ESP32-S3 phone KiCad revF PCB project

    146 partsMIT
  • 4 layers138 × 125 mmLeds, the printed circuit board in 3D

    Leds

    marmbrus/circuits

    159 parts
  • 2 layers93.4 × 42.6 mmEsp32-led controller v2, the printed circuit board in 3D

    Esp32-led controller v2

    arkandas/esp32-led-controller

    Controller for ws2812b/sk6812 LEDs

    66 parts5MIT

Questions

How big is the Motion play main PCB?

It measures 88.2 × 38.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Motion play main use?

93 parts, built around the ESP32-S3-WROOM-1-N16R8, SN74AHCT125PWRE4, TPS61088RHLR and AMS1117-3.3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Motion play main KiCad files?

From the moclei/motion-play repository on GitHub, at the commit this page was made from: the board is hardware/pcb-main/kicad/motion-play-main.kicad_pcb and its schematic hardware/archive/pcb-sensor/kicad/motion-play-sensor-strip.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Motion play main design in my own project?

Its repository states no licence, so its author keeps all rights: ask moclei before reusing the design.