← Back to All Articles
Reverse Engineering the Weihong PCIMC-3D Motion Card: PCI Bus Architecture & J1 Pinouts
Category: Hardware Engineering • Published: 2026-08-14 • By Muhammad Ali
The Weihong PCIMC-3D PCI card remains the workhorse motion controller driving hundreds of thousands of CNC routers throughout Asia, Europe, and Latin America. Despite its ubiquity, official documentation for hardware-level integration is notoriously sparse.
### PCI Bus Interface & CH365 Controller
The PCIMC-3D board interfaces with the host PC using a WinChipHead (WCH) CH365 PCI bus bridge chip. The CH365 maps 8-bit / 16-bit I/O ports directly into the operating system's PCI address space.
In Windows 7, 10, and 11, the native kernel driver `whnc3d.sys` communicates with the card over memory-mapped I/O:
1. **Pulse Generator:** Digital hardware pulse generator synthesizing differential Step/Direction pulses up to 47 kHz per axis.
2. **Optocoupled Input Isolators:** High-speed optocouplers isolating limit switches, emergency stop (E-stop), and tool calibration touch-plate signals from inductive spindle motor interference.
### The J1 DB15 Connector Pinout Specification
The external DB15 female connector (designated J1) interfaces with the breakout board inside the machine's electrical cabinet:
- **Pin 1:** X-Axis Step Pulse (XPUL+)
- **Pin 2:** X-Axis Direction (XDIR+)
- **Pin 3:** Y-Axis Step Pulse (YPUL+)
- **Pin 4:** Y-Axis Direction (YDIR+)
- **Pin 5:** Z-Axis Step Pulse (ZPUL+)
- **Pin 6:** Z-Axis Direction (ZDIR+)
- **Pin 7:** Spindle Run / Inverter Start Relay (RUN)
- **Pin 8:** Ground (GND)
- **Pin 9:** X-Axis Limit Switch Input (XLIM)
- **Pin 10:** Y-Axis Limit Switch Input (YLIM)
- **Pin 11:** Z-Axis Limit Switch / Tool Touch Plate (ZLIM / CAL)
- **Pin 12:** Emergency Stop Input (ESTOP)
- **Pin 13:** +5V DC Regulated Logic Power Output
- **Pin 14:** Multi-Speed Spindle Control Output 1 (SW1)
- **Pin 15:** Multi-Speed Spindle Control Output 2 (SW2)
Understanding this hardware mapping allowed us to build the ESP32 wireless Bluetooth pendant and direct Win32 message interception hooks without modifying the machine wiring.