Experimental!. Official inclusion means that the source and Web Builder target exist; it does not mean every V5.88 connector, plugin, spindle mode, or axis combination has been verified on real hardware. Build a minimal configuration first and validate it on the bench before connecting a machine.pibot_5_88_ultra_map.h was merged on 2026-07-07.ESP32 and PiBot V5.88 Ultra, 8MB+ flash.The initial upstream pull request reported compilation validation with the ESP-IDF environment used by Web Builder. The grblHAL Controllers list and Web Builder both ask board owners to report real-hardware results. A later 2026-07-26 commit fixed direction output for the second PWM spindle, so use a newly generated build instead of an older cached firmware file.
config.yaml to grblHAL.
config.yaml, WebUI file, and machine settings first.The official ESP32 driver.json currently advertises the following capabilities for this target:
| Item | Current official Web Builder declaration | Practical meaning |
|---|---|---|
| Processor / flash profile | ESP32-S3, 8MB+ flash | Use the exact PiBot V5.88 Ultra board entry, not a generic ESP32 or older PiBot entry. |
| Axes | Maximum 4 | The V5.88 hardware is 6+1 axis, but the current official Web Builder target is capped at four axes. Do not claim or assume a six-axis Web Builder build yet. |
| Connection | Native USB available | Native ESP32-S3 USB serial can be selected in the build. |
| Serial ports | 2 | The board map assigns UART1 to Modbus and UART2 to pendant/FNC-expander use. |
| Storage / network | SD card and Wi-Fi available | Enable only what the machine needs, then test each selected plugin. |
| Bluetooth | Not advertised | Do not enable or promise native Bluetooth support for this ESP32-S3 target. |
| I2C | Not advertised by Web Builder | The map contains OLED I2C pin definitions, but the current builder capability is i2c: 0; treat OLED/I2C as unverified in generated builds. |
| EEPROM / FRAM | Not advertised | Settings use the storage method supplied by the ESP32 build. |
| Motor | Step / Direction / Enable | Limit input | Notes |
|---|---|---|---|
| X | I2SO.2 / I2SO.1 / I2SO.0 | GPIO.42 min, GPIO.41 max | Driver CS: I2SO.3 |
| Y | I2SO.5 / I2SO.4 / I2SO.7 | GPIO.40 min, GPIO.39 max | Driver CS: I2SO.6 |
| Z | I2SO.10 / I2SO.9 / I2SO.8 | GPIO.38 | Driver CS: I2SO.11 |
| 4th motor (M3) | I2SO.13 / I2SO.12 / I2SO.15 | GPIO.37 when enabled | Driver CS: I2SO.14 |
| Function in current map | Pin(s) | Important note |
|---|---|---|
| Probe | GPIO.47 | Enable the Probe input option only when it is wired and tested. |
| Tool setter | GPIO.3 | Requires the V5.88 board jumper selection described in the Pinout Reference. |
| Safety door | GPIO.48 | Available only when that pin is not used as the M5 limit input. |
| Coolant flood / mist | GPIO.10 / GPIO.15 | These are compile-time assignments in the grblHAL map. |
| Aux outputs | GPIO.4 / GPIO.5 | Mapped as auxiliary signals; verify the selected plugin and electrical terminal before use. |
| Primary PWM spindle | PWM GPIO.45 | The current map uses a dummy enable and does not assign primary spindle direction. |
| Second PWM spindle / 0-10 V path | PWM GPIO.6, enable GPIO.7, direction GPIO.8 | Direction handling was fixed upstream on 2026-07-26. Measure the outputs before connecting a VFD. |
| Laser header signal | GPIO.46 | Declared as AUXOUTPUT5; the current map does not assign it as the primary or second spindle PWM output. Verify a laser-specific build before connecting a laser. |
| Modbus UART1 | TX GPIO.12, RX GPIO.11 | For the isolated RS485 circuit; enable Modbus RTU only when required. |
| Pendant / FNC expander UART2 | TX GPIO.0, RX GPIO.35 | Used by MPG or FNC Expander when the relevant plugin is enabled. |
| SD card | CS GPIO.9; shared SPI bus | SPI MISO GPIO.2, MOSI GPIO.1, clock GPIO.21. |
| OLED I2C definitions | SDA GPIO.14, SCL GPIO.13 | Definitions exist in the map, but I2C is not currently advertised in this Web Builder target. |
Driver: ESP32 and Boards: PiBot V5.88 Ultra, 8MB+ flash. The Notes field should show Experimental!.$I report and confirm that the firmware identifies the expected ESP32 driver and PiBot V5.88 board.| Test | Pass condition |
|---|---|
| Boot identity | $I identifies the expected build; selected plugins are present and no unexpected reset loop occurs. |
| USB / sender | The chosen serial connection remains stable through reset, unlock, status polling, and a short dry-run. |
| Motion | One axis at a time: enable, step and direction LEDs/signals match commands before motors are connected. |
| Limits and probe | Each input changes only its intended state. Check idle and triggered states before enabling homing. |
| Coolant / auxiliary outputs | GPIO.10, GPIO.15, GPIO.4 and GPIO.5 assignments match the selected build and physical terminals. |
| Spindle / laser / 0-10 V | Measure voltage and direction contacts with a multimeter before connecting a VFD or laser. Pay special attention to the current map's GPIO.45, GPIO.46 and GPIO.6/7/8 roles. |
| RS485 | Modbus is tested with the isolated VFD simulator or a safely disconnected VFD setup before spindle operation. |
| SD / Wi-Fi | Only if enabled: storage mounts, network starts, and the selected WebUI/streaming functions remain stable. |
When reporting a result upstream, include the Web Builder build date, the saved option selection, the downloaded firmware date, $I output, exact board revision, and which physical tests passed or failed.