User Tools

Site Tools


pibot_cnc_laser_series:v47b:pinout_reference:start

PiBot V4.7B — Pin Definition Overview

FluidNC / grblHAL · Plug-in classic ESP32 module · Six external-driver signal groups

FluidNC ports are assigned by the YAML file, so the software functions are configurable rather than permanently fixed.

The definitions on this page match the supplied V4.7B I/O-test YAML. Check your active YAML and board revision before wiring a machine.

PiBot V4.7B pinmap diagram with numbered connector groups
The numbered groups on the diagram correspond to the sections below. Click the diagram to view it at full size.

Quick Reference — UART Channels

ChannelPhysical PortPins in Test YAMLTypical Use
UART0Main USB 12On plug-in ESP32 moduleFirmware, console and G-code sender
UART1RS485 3TX GPIO.15 · RX GPIO.16 · RTS GPIO.14Modbus VFD, 9600 8N1 in test YAML
UART2RJ12 9TX GPIO.25 · RX GPIO.27 when enabledCompatible PiBot pendant / I/O expander

Key to the Numbered Groups

💡 Tip: use the pinmap for connector location, the quick-reference tables for signal names, and the full YAML at the bottom of this page for the active test assignment.
Inputs Outputs Power Drivers Interface

1 Eight Input Channels Inputs

Eight signal inputs are available along the board edge. The supplied test YAML assigns them as follows.

GPIOTest functionGPIOTest function
GPIO.2Probe, pull-up, active lowGPIO.26Tool setter, pull-up, active low
GPIO.33X limit −GPIO.32X limit +
GPIO.35Y motor 0 limitGPIO.34Y motor 1 limit
GPIO.39Z limitGPIO.36A limit

2 5 V Signal Outputs Outputs

  • Header signals: GPIO.12, GPIO.4, GPIO.13 and GPIO.14, with GND.
  • Test YAML: GPIO.4 = PWM tool 0, GPIO.12 = laser tool 1, GPIO.13 = 0–10 V generator.
  • GPIO.4 and GPIO.12 also drive the matching MOSFET channels in ; they are shared signals, not independent outputs.

3 RS485 Interface

  • On-board MAX3485 transceiver with A/B terminal for Modbus RTU devices.
  • Test YAML UART1: TX GPIO.15, RX GPIO.16, direction GPIO.14, 9600 baud, 8N1.
  • If communication fails, first confirm baud, slave address and A/B polarity.

4 0–10 V Interface Outputs

  • Analog output: GPIO.13; use the 0–10 V and GND terminals for the VFD analog input.
  • Forward uses GPIO.15 and Reverse uses GPIO.14 with the contact common terminal.
  • GPIO.14/15 are shared with RS485. The supplied test YAML leaves Forward/Reverse unassigned while UART1 is enabled.

5 10 V Adjustment Outputs

  • Issue the maximum spindle command used by the YAML, then measure the analog output.
  • Turn the trimmer slowly until full-scale output reaches the required voltage.
  • Do not adjust by guesswork; keep the multimeter connected while calibrating.

6 MOSFET Outputs Outputs

  • Two low-side channels: io.12-MOS-GND follows GPIO.12 and io.4-MOS-GND follows GPIO.4.
  • Connect the load between Vmot-main (+) and the corresponding switched MOS-GND terminal.
  • Maximum current: 1.5 A per channel. These outputs are for light loads only.
⚠ Do not connect a heavy load directly. Use the MOSFET output to control an external relay or suitable power driver; overloading the channel can burn the MOSFET.

7 Main Power 12–24 V DC Power

  • Main carrier-board input: 12–24 V DC.
  • Confirm VIN and GND polarity with a multimeter before power-on.
  • USB alone powers the ESP32-side connection but is not enough for complete carrier-board testing.

8 OLED Interface Interface

  • GND, 3.3 V, SCL GPIO.25, SDA GPIO.27.
  • The test YAML enables a 128×64 OLED at I2C address 0x3C.
  • The OLED shares both signal pins with RJ12 ; enable only one interface at a time.

9 RJ12 Pendant / Expander Interface

  • Provides GND, Vmot-main, +5 V and UART2 signals on GPIO.25/GPIO.27 for a compatible PiBot pendant or I/O expander.
  • The supplied YAML keeps UART2 commented while the OLED is active.
  • Power off before connecting an accessory. Do not assume a telephone cable or third-party pinout is compatible.
⚠ RJ12 and OLED share GPIO.25/GPIO.27 and cannot be enabled at the same time.

10 Six External-Driver Signal Groups Drivers

Each connector provides EN / STP / DIR / GND. All six groups are intended for compatible external stepper drivers; V4.7B has no on-board StepStick sockets.

ConnectorEnableStepDirectionTest YAML use
XI2SO.0I2SO.2I2SO.1X motor
YI2SO.7I2SO.5I2SO.4Y motor 0
Z connectorI2SO.8I2SO.10I2SO.9Y motor 1
A connectorI2SO.15I2SO.13I2SO.12Z motor
B connectorI2SO.16I2SO.18I2SO.17A motor
C connectorI2SO.23I2SO.21I2SO.20M7 / M8 / M64 P0 signal test

11 microSD Interface

  • SPI MISO GPIO.19, MOSI GPIO.23, SCK GPIO.18.
  • Card select: GPIO.5.
  • Insert or remove the card only when it is safe to do so and confirm it appears in FluidNC WebUI.

12 Main USB Interface

  • The micro-USB connector is on the plug-in classic ESP32 module.
  • Use a data-capable cable for FluidNC installation, serial console, boot logs and a USB G-code sender.
  • If no serial port appears, try another data cable before troubleshooting the board.

Complete V4.7B Test YAML

📄 The complete test file is displayed below. Click the filename in the code block header to download it. This is an I/O-test profile, not a ready-to-run machine configuration.

v47b-xyyza-standard-config.yaml
##############################################################################
## THIS EXAMPLE IS ONLY FOR I/O TESTING. MODIFY IT BEFORE USING IT ON A MACHINE. ####
#############################################################################

board: PiBot V47B
name:  PiBot V47B IO Test YAML

stepping:
  engine: I2S_STATIC
  idle_ms: 255
  pulse_us: 4
  dir_delay_us: 4
  disable_delay_us: 0
  segments: 6
 
###################################START TEST UART###################################
## uart0 main usb port
## uart1 RS485 tx rx
## uart2 RJ12 TX rx
#####################################################################################
 
## Begin expansion port uart and channel setup (test the rj12 port)
##uart2:
##  txd_pin: gpio.25
##  rxd_pin: gpio.27
##  baud: 1000000
##  mode: 8N1
 
##uart_channel2:
##  report_interval_ms: 75
##  uart_num: 2
 
###################################END TEST UART####################################

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  card_detect_pin: NO_PIN
  cs_pin: gpio.5

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17
 
## Begin OLED
i2c0:
   sda_pin: gpio.27
   scl_pin: gpio.25

oled:
   i2c_num: 0
   i2c_address: 60
   width: 128
   height: 64
   radio_delay_ms: 1000
## END OLED

probe:
  pin: gpio.2:pu:low
  toolsetter_pin: gpio.26:pu:low
  check_mode_start: true
  hard_stop: false

coolant:
  mist_pin: I2SO.23
  flood_pin: I2SO.21
 
## m7 m8

user_outputs:
  digital0_pin: I2SO.20
 
##M64 P0 / on --  M65 P0 / off // M64 P1 on --  M65 P1 off

start:
  must_home: false

axes:
  shared_stepper_disable_pin: NO_PIN
  x:
    steps_per_mm: 800.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 100.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 150.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.33:low
      limit_pos_pin: gpio.32:low
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0
 
######disable_pin:This is used if your controller uses individual disable pins for each driver.
######Most basic controllers use a common disable pin for all drivers and that is set elsewhere in the config file.
######You can invert the direction by changing the active state attribute (:high or :low)

  y:
    steps_per_mm: 800.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 100.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 150.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.35:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

    motor1:
      limit_neg_pin: gpio.34:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

  z:
    steps_per_mm: 800.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 100.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 150.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.39:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: I2SO.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15

  a:
    steps_per_mm: 800.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 100.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 150.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.36:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 3.000
      standard_stepper:
        step_pin: I2SO.18
        direction_pin: I2SO.17
        disable_pin: I2SO.16
 
# Begin PWM
pwm:
  pwm_hz: 5000
#   direction_pin: NO_PIN
  output_pin: gpio.4
  enable_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
#   spinup_ms: 0
#   spindown_ms: 0
  tool_num: 0
  speed_map: 0=0.000% 10000=100.000%
  off_on_alarm: false
 
# Begin Laser
Laser:
  pwm_hz: 5000
  output_pin: gpio.12
  enable_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 1
  speed_map: 0=0.000% 255=100.000%
  off_on_alarm: true
 
## Start 0-10V
10V:
  forward_pin: NO_PIN
  reverse_pin: NO_PIN
  pwm_hz: 5000
  output_pin: gpio.13
  enable_pin: NO_PIN
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 2
  speed_map: 0=0.000% 1000=0.000% 24000=100.000%
  off_on_alarm: false
 
## Start only for test the RS485chip communication
uart1:
  txd_pin: gpio.15
  rxd_pin: gpio.16
  rts_pin: gpio.14
  baud: 9600
  mode: 8N1

ModbusVFD:
  uart_num: 1
  modbus_id: 1
  debug: 0
  poll_ms: 250
  retries: 5
  spinup_ms: 6000
  spindown_ms: 6000
  tool_num: 3
  speed_map: 0=0.00% 24000=100.00%
  off_on_alarm: false
  atc:
  m6_macro:
  s0_with_disable: false
  disable_with_s0: false
  model: Huanyang
  min_RPM: 6000
  max_RPM: 24000
  cw_cmd: 03 01 01 > echo
  ccw_cmd: 03 01 11 > echo
  off_cmd: 03 01 08 > echo
  set_rpm_cmd: 05 02 rpm*100/60 > echo
  get_min_rpm_cmd: 01 03 0b 00 00 > 01 03 0B minRPM*60/100
  get_max_rpm_cmd: 01 03 05 00 00 > 01 03 05 maxRPM*60/100
  get_rpm_cmd: 04 03 01 00 00 > 04 03 01 rpm*60/100
pibot_cnc_laser_series/v47b/pinout_reference/start.txt · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki