Complete pin assignment reference for the PiBot v4.9 Plus B and AireDale STM32 I/O Expander used in the Genmitsu 4040 Pro Max controller upgrade.
PiBot v4.9 Plus B Controller
GPIO Input Pins
| GPIO Pin | FluidNC Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|---|
| gpio.2 | gpio.2 | Probe input | CN-R12-P1 | 1 | Tool probe |
| gpio.32 | gpio.32 | X-Axis limit(-) | CN-R06-P1 | 1 | Factory mechanical switch |
| gpio.33 | gpio.33 | YL-Axis limit(-) | CN-R10-P1 | 1 | Factory mechanical switch |
| gpio.34 | gpio.34 | E-Stop input | CN-F03-P3 | 1 | Software stop signal |
| gpio.35 | gpio.35 | Z-Axis limit(-) | CN-R08-P1 | 1 | Factory mechanical switch |
| gpio.36 | gpio.36 | Available | – | – | Reserved for expansion |
| gpio.39 | gpio.39 | Available | – | – | Reserved for expansion |
| I2SO.23 | I2SO.23 | IoT PDU control | CN-R16-P1 | 1 | Smart outlet control |
GPIO Output Pins
| GPIO Pin | FluidNC Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|---|
| gpio.4 | gpio.4 | Air solenoid MOSFET | CN-R17-P1 | 1 | Misting system control |
| gpio.12 | gpio.12 | AUX MOSFET | CN-R18-P1 | 2 | General purpose MOSFET |
| gpio.13 | Laser PWM | Laser PWM control | CN-R14-P1 | 4 | Laser power modulation |
| gpio.26 | gpio.26 | Vacuum relay | Internal relay | 1 | Dust collection control |
Communication Pins
RS485 (VFD Communication)
| GPIO Pin | FluidNC Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|---|
| gpio.14 | RS485 RTS | Request to send | CN-R13 | 1 | RS485 flow control |
| gpio.15 | RS485 TX | Transmit | CN-R13-P1 | 1 | RS485-A to VFD |
| gpio.16 | RS485 RX | Receive | CN-R13-P2 | 1 | RS485-B from VFD |
UART1 (Pendant/AireDale)
| GPIO Pin | FluidNC Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|---|
| gpio.25 | UART1 TX | Transmit to expander | CN-F02 | 1 | CNC pendant or AireDale |
| gpio.27 | UART1 RX | Receive from expander | CN-F02 | 1 | Reconfigured in Phase 2 |
Motor Control Pins (I2SO Expander)
X-Axis Motor
| Signal | Pin | TB6600 Connection | Connector | Phase |
|---|---|---|---|---|
| Enable | I2SO.0 | ENA+ | TB6600(X) | 1 |
| Step | I2SO.2 | PUL+ | TB6600(X) | 1 |
| Direction | I2SO.1 | DIR+ | TB6600(X) | 1 |
Y-Left Motor
| Signal | Pin | TB6600 Connection | Connector | Phase |
|---|---|---|---|---|
| Enable | I2SO.7 | ENA+ | TB6600(YL) | 1 |
| Step | I2SO.5 | PUL+ | TB6600(YL) | 1 |
| Direction | I2SO.4 | DIR+ | TB6600(YL) | 1 |
Y-Right Motor
| Signal | Pin | TB6600 Connection | Connector | Phase |
|---|---|---|---|---|
| Enable | I2SO.8 | ENA+ | TB6600(YR) | 1 |
| Step | I2SO.10 | PUL+ | TB6600(YR) | 1 |
| Direction | I2SO.9 | DIR+ | TB6600(YR) | 1 |
Z-Axis Motor
| Signal | Pin | TB6600 Connection | Connector | Phase |
|---|---|---|---|---|
| Enable | I2SO.15 | ENA+ | TB6600(Z) | 1 |
| Step | I2SO.13 | PUL+ | TB6600(Z) | 1 |
| Direction | I2SO.12 | DIR+ | TB6600(Z) | 1 |
A-Axis (Rotary Table)
| Signal | Pin | Connection | Connector | Phase |
|---|---|---|---|---|
| Enable | I2SO.16 | EnA | CN-R21-P3 | 1 |
| Step | I2SO.18 | Stp | CN-R21-P4 | 1 |
| Direction | I2SO.17 | Dir | CN-R21-P5 | 1 |
AireDale STM32 I/O Expander (Phase 2+)
The AireDale expander connects to PiBot J3 via RJ12 cable and provides an RJ12 passthrough for the CNC pendant.
UART Channel Configuration
PiBot Configuration:
- UART1 reconfigured from direct pendant connection to AireDale communication
- Baud rate: 115200
- Protocol: uart_channel1 in FluidNC
Input Pins
| Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|
| uart_channel1.0 | X-Axis limit(+) | CN-R05-P1 | 2 | Inductive proximity sensor |
| uart_channel1.1 | Y-Left limit(+) | CN-R09-P1 | 2 | Inductive proximity sensor |
| uart_channel1.2 | Y-Right limit(-) | CN-R11-P1 | 2 | Inductive proximity sensor |
| uart_channel1.3 | Z-Axis limit(+) | CN-R07-P1 | 2 | Inductive proximity sensor |
| uart_channel1.4 | Tool setter | CN-R15-P1 | 2 | Automated tool measurement |
| uart_channel1.5 | AUX input 1 | CN-R24-P1 | 2 | General purpose input |
| uart_channel1.6 | AUX input 2 | CN-R24-P2 | 2 | General purpose input |
| uart_channel1.7 | AUX input 3 | CN-R24-P3 | 2 | General purpose input |
Output Pins (PWM Capable)
| Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|
| uart_channel1.8 | Laser enable | CN-R14-P2 | 4 | Laser safety interlock |
| uart_channel1.9 | AUX PWM 1 | CN-R22-P1 | 2 | General purpose PWM |
| uart_channel1.10 | AUX PWM 2 | CN-R22-P2 | 2 | General purpose PWM |
| uart_channel1.11 | AUX PWM 3 | CN-R22-P3 | 2 | General purpose PWM |
| uart_channel1.12 | AUX PWM 4 | CN-R23-P1 | 2 | General purpose PWM |
| uart_channel1.13 | AUX PWM 5 | CN-R23-P2 | 2 | General purpose PWM |
| uart_channel1.14 | AUX PWM 6 | CN-R23-P3 | 2 | General purpose PWM |
| uart_channel1.15 | Reserved PWM | – | 2 | Available for expansion |
MOSFET Output Pins
| Pin | Function | Connector | Phase | Notes |
|---|---|---|---|---|
| uart_channel1.16 | AUX MOSFET 1 | CN-R19-P1 | 2 | Switched output, STM32 V_MOSFET |
| uart_channel1.17 | AUX MOSFET 2 | CN-R20-P1 | 2 | Switched output, STM32 V_MOSFET |
Status LED Pins (Not Used)
| Pin | Function | Notes |
|---|---|---|
| uart_channel1.18 | Red LED | Active low, unused in project |
| uart_channel1.19 | Green LED | Active low, unused in project |
| uart_channel1.20 | Blue LED | Active low, unused in project |
Connector Pinouts
Rear Panel Connectors (Detailed)
CN-R01 – X-MOT (GX12/4P)
Motor connection to TB6600(X) driver:
- P1: A+ (Red)
- P2: A- (Green)
- P3: B+ (Black)
- P4: B- (White)
CN-R02 – YL-MOT (GX12/4P)
Motor connection to TB6600(YL) driver:
- P1: A+ (Red)
- P2: A- (Green)
- P3: B+ (Black)
- P4: B- (White)
CN-R03 – YR-MOT (GX12/4P)
Motor connection to TB6600(YR) driver:
- P1: A+ (Red)
- P2: A- (Green)
- P3: B+ (Black)
- P4: B- (White)
CN-R04 – Z-MOT (GX12/4P)
Motor connection to TB6600(Z) driver:
- P1: A+ (Red)
- P2: A- (Green)
- P3: B+ (Black)
- P4: B- (White)
CN-R05 – X-LIM(+) (GX12/4P) [Phase 2]
- P1: uart_channel1.0 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R06 – X-LIM(-) (GX12/4P) [Phase 1]
- P1: gpio.32 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R07 – Z-LIM(+) (GX12/4P) [Phase 2]
- P1: uart_channel1.3 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R08 – Z-LIM(-) (GX12/4P) [Phase 1]
- P1: gpio.35 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R09 – YL-LIM(+) (GX12/4P) [Phase 2]
- P1: uart_channel1.1 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R10 – YL-LIM(-) (GX12/4P) [Phase 1]
- P1: gpio.33 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R11 – YR-LIM(-) (GX12/4P) [Phase 2]
- P1: uart_channel1.2 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R12 – PROBE (GX12/4P) [Phase 1]
- P1: gpio.2 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R13 – VFD (GX12/4P) [Phase 1]
RS485 communication to VFD:
- P1: RS485-A (gpio.15 TX)
- P2: RS485-B (gpio.16 RX)
- P3: Ground
- P4: Cable shield/Ground
CN-R14 – LASER (GX12/4P) [Phase 4]
- P1: gpio.13 (PWM output)
- P2: uart_channel1.8 (Enable output)
- P3: 24VDC
- P4: Ground
CN-R15 – TOOL-SET (GX12/4P) [Phase 2]
- P1: uart_channel1.4 (Signal)
- P2: 24VDC
- P3: Ground
- P4: Not connected
CN-R16 – IOT-PDU (GX12/4P) [Phase 1]
- P1: I2SO.23 (Control signal)
- P2: Ground
- P3: Not connected
- P4: Not connected
CN-R17 – AIR-SOL (GX12/4P) [Phase 1]
MOSFET-switched output:
- P1: gpio.4 (MOSFET gate)
- P2: VMot (24VDC switched)
- P3: Ground
- P4: Ground
CN-R18 – AuxFET-1 (GX12/4P) [Phase 2]
MOSFET-switched output (PiBot):
- P1: gpio.12 (MOSFET gate)
- P2: VMot (24VDC switched)
- P3: Ground
- P4: Ground
CN-R19 – AuxFET-2 (GX12/4P) [Phase 2]
MOSFET-switched output (STM32):
- P1: uart_channel1.16 (MOSFET gate)
- P2: V_MOSFET from STM32 TB1-P3
- P3: Ground
- P4: Ground
CN-R20 – AuxFET-3 (GX12/4P) [Phase 2]
MOSFET-switched output (STM32):
- P1: uart_channel1.17 (MOSFET gate)
- P2: V_MOSFET from STM32 TB1-P5
- P3: Ground
- P4: Ground
CN-R21 – A-AXIS (GX16/6P) [Phase 1]
Rotary table connection:
- P1: 24VDC
- P2: Ground
- P3: I2SO.16 (Enable)
- P4: I2SO.18 (Step)
- P5: I2SO.17 (Direction)
- P6: Ground
CN-R22 – AuxOut-1 (GX16/6P) [Phase 2]
Three PWM outputs:
- P1: uart_channel1.9 (PWM 1)
- P2: uart_channel1.10 (PWM 2)
- P3: uart_channel1.11 (PWM 3)
- P4: Ground
- P5: Ground
- P6: Ground
CN-R23 – AuxOut-2 (GX16/6P) [Phase 2]
Three PWM outputs:
- P1: uart_channel1.12 (PWM 4)
- P2: uart_channel1.13 (PWM 5)
- P3: uart_channel1.14 (PWM 6)
- P4: Ground
- P5: Ground
- P6: Ground
CN-R24 – AuxIn (GX16/6P) [Phase 2]
Three general purpose inputs:
- P1: uart_channel1.5 (Input 1)
- P2: uart_channel1.6 (Input 2)
- P3: uart_channel1.7 (Input 3)
- P4: Ground
- P5: Ground
- P6: Ground
Front Panel Connectors (Detailed)
CN-F02 – PENDANT (RJ12)
Connects to PiBot J3 connector:
- Phase 1: Direct connection to CNC pendant
- Phase 2+: Connection to AireDale with pendant passthrough
RJ12 pinout (standard 6P6C):
- P1: Ground
- P2: 5V (if needed by pendant)
- P3: UART TX (gpio.25)
- P4: UART RX (gpio.27)
- P5: Ground
- P6: Not connected
CN-F03 – E-STOP (GX12/4P) [Phase 1]
Dual-function emergency stop:
- P1: 24VDC input from power supply
- P2: 24VDC output to TB6600 drivers (NC contact)
- P3: gpio.34 software stop signal (NO contact)
- P4: Ground
Operation:
- NC contact (P1-P2) interrupts motor power immediately
- NO contact (P3-P4) signals FluidNC to enter alarm state
CN-F04 – SD-CARD (SD Extension)
Standard SD card extension:
- Provides external access to PiBot SD card
- Allows configuration file updates without opening enclosure
CN-F05 – USB (USB-C Extension)
Programming and diagnostic port:
- Direct connection to PiBot USB-C port
- Used for firmware updates and serial communication
TB6600 Stepper Driver Connections
Each TB6600 driver has the following connections:
Power Connections
- VCC: 24VDC from E-Stop relay (CN-F03-P2)
- GND: Power supply ground
Motor Connections (to rear panel motor connectors)
- A+: Motor coil A positive
- A-: Motor coil A negative
- B+: Motor coil B positive
- B-: Motor coil B negative
Control Connections (from PiBot I2SO pins)
- ENA+: Enable signal (active high)
- ENA-: Ground
- PUL+: Step pulses (active high)
- PUL-: Ground
- DIR+: Direction signal (high/low)
- DIR-: Ground
DIP Switch Settings
Recommended settings for NEMA17 motors (Phase 1):
- SW1-SW3 (Current): 2.0A setting
- SW4-SW6 (Microstep): 1/8 microstep
- SW7-SW8 (Decay): FAST decay mode
Power Supply Connections
24V 350W Power Supply
Input:
- L: 110VAC Line (from CB-01)
- N: 110VAC Neutral
- Ground: Chassis ground
Output:
- V+: 24VDC positive (to VMot distribution)
- V-: 24VDC negative (to ground bus)
- COM: Common/Ground
Distribution:
- TB6600 drivers (through E-Stop relay)
- Limit switches and sensors
- MOSFET outputs
- PiBot logic power
Wiring Color Codes
Standard Wire Colors
Power:
- Red: 24VDC positive
- Black: Ground/Common
- Yellow: 5VDC (if used)
Signals:
- White: Control signals, inputs
- Blue: Communication (RS485-A, TX)
- Green: Communication (RS485-B, RX)
- Orange: PWM outputs
Motors:
- Red: A+ coil
- Green: A- coil
- Black: B+ coil
- White: B- coil
Related Documents
- CNC Controller Upgrade Project Plan – Complete project overview and implementation guide
