Skip to content

3D Board Model

Rotate, pan, and zoom the board to explore the component layout. Drag to orbit, scroll to zoom, right-click/two-finger drag to pan.

This 3D model is generated parametrically from the Waveshare dimensions drawing using measured board coordinates. All 24 labeled components are positioned to match the physical board layout:

  • PCB body — 85.0 × 56.5 mm with 4 M2.5 mounting holes
  • Connectors — RJ45 Ethernet, USB-A, 2× USB-C, 3.5mm audio, FPC display/camera, I2C, I3C, speaker header
  • ICs — ESP32-P4NRW32 (with metal shield), ESP32-C6, NOR flash, ES8311 codec, CH343 UART bridge
  • 40-pin GPIO header — 2×20 at 2.54mm pitch with individual pins
  • Mechanical — CR1220 battery holder, BOOT/RST buttons, TF card slot (bottom side), PoE header, HOST/DEVICE jumper

The STL file for CAD tools and 3D printing is available in the project repository under 3d-model/.

The model is built with a Python script using trimesh. To regenerate:

Terminal window
cd 3d-model/
python build_model.py

This outputs both esp32-p4-wifi6-dev-kit.stl (for FreeCAD, Fusion 360, etc.) and esp32-p4-wifi6-dev-kit.glb (for web viewers). The OpenSCAD source file (esp32-p4-wifi6-dev-kit.scad) is also included as a reference implementation.