User Tools

Site Tools


pibot_cnc_laser_series:v496_pro:connect_pendant:start

PiBot CNC Pendant V4.0

We have tried other touch screens and encoders, but they did not meet our expectations. Therefore, we designed and produced this product ourselves, adding multiple features to achieve the desired performance. The electronics were developed by PiBot, the firmware was created by Luc (author of esp-3d), and the casing was designed by Liz.W from the United States. During development, we optimized the encoder's tactile response and enhanced the capacitive touch screen, pairing it with a compact enclosure for an exceptional user experience. It not only supports our custom firmware but is also compatible with fluiddial.

Package Contents

  1. Pendant V4 Main unit × 1 (SKU:PIPDT400B01)
  2. Bluetooth TX RX module × 2 (SKU:PIPBT002B02)
  3. Bluetooth-to-mainboard adapter module × 1 (SKU:PIBTB001B01)
  4. RJ12 module × 1 (SKU:PIRJM012B01)
  5. RJ12 communication cable (1m) × 1 (SKU:PIRJC012B01)
  6. USB-C to TTL Moudle × 1 (SKU:PIUTU001B01) (Gift)

Battery: Flat-top 18650 , we use the SONY VCT5 or VCT6 for test, please make clear the + - (not included in the package)

Hardware Features

  • Compatible with V4.7, V4.9 mainboards, and other FluidNC-based mainboards on the market
  • Capacitive touch screen
  • Industrial-grade encoder, specially optimized in our firmware
  • RJ12 wired connection support
  • Independent Bluetooth Module Connection
  • Supports 18650 flat-top batteries with power level display and charging (highly energy-efficient with extended standby time, depending on battery capacity)
  • Built-in speaker
  • Potentiometer knob
  • Band switch
  • Three independent switches
  • Dual independent PCB design, allowing IO expansion
  • Ergonomically casing designed

Firmware Features

  1. Adapted for FluidDial's cyd button version, using ESP32 Flash for easy burning in one key.
  2. PiBot UI Firmware co-developed with Luc, author of Esp3D

Software Compatibility

  1. Compatible with FluidNC
  2. Compatible with GRBL HAL (coming soon)

(Note: Due to GPIO25.27 port usage, it cannot be used simultaneously with OLED0.96.)

Diagram Overview

Hardware Connection Methods

  • Concise version: Suitable for V4.7B / 4.9PB / 4.96Pro.

Option A. Connect to the motherboard via RJ12 wired connection.

When connecting RJ12, never insert the battery as it may cause voltage imbalance and easily burn out the chip.

Option B. Connect to the motherboard wirelessly via a Bluetooth module.

Before use the Bluetooth, your need pair first.

Please refer to the Bluetooth pairing tutorial by clicking here: https://www.pibot.com/bluetooth-transceiver-modules-pair

Option C. Connect Pendant via expander.



This chapter will be covered independently in a dedicated section.


Firmware Upload Methods

Firmware Versions
ESP-3D PiBot UI Version
Custom firmware developed by ESP-3D and PiBot for advanced applications.
FluidDial Version
Specialized firmware for FluidDial devices with enhanced interface features.
Upload Methods
Online Mode
Browser-based upload via online interface.
ESP Flash Tool
Offline upload using ESP Flash Tool software.

Option A. Upload via Online Mode

Online Installation Steps

  1. Install the USB driver
  2. Remove the battery and Bluetooth module
  3. Switch to the “ON” position
  4. Plug USB Cable and Locate the corresponding COM port
  5. Visit https://webinstaller.esp3d.io/ (ESP3D Firmware) or Visit https://pibot-electronics.github.io/ (FluidDial Firmware)
  6. Follow the webpage prompts to complete the download and installation


Option B. Upload via ESP Flash Tool

Step 0:Download the relevant files all in one

  • 0. Esp32 Upload Tools
  • 1. Factory test firmware: For testing buttons, knobs, touch screen, and speaker functionality
  • 2. FluidNdial firmware (115200 baud): Supports both wired and Bluetooth modes (Bluetooth only supports 115200 baud)
  • 3. Fluiddial firmware (1,000,000 baud): For higher-speed wired communication (I/O expander adopts this Baud Rate)

Step 1: Unplug the Bluetooth module

Step 2: Push the power switch to the "ON" position

Step 3: then Insert the USB cable

Step 4: Open the ESP32 Flash Tool, select ESP32 as the target, and choose "esp32" and "Development" mode

Step 5: Select one of the firmware to download, and set the offset address to 0x0, then press start

Step 6: After "......" appears, press and hold the BOOT button for 3-5 seconds, then release

Step 7: Wait for the process to complete

FluidNC Yaml Configuration

Compatible with FluidNC v3.9.7 and above

Baudrate 115200 example code

Suitable for Bluetooth and wireless communication. (SKU:PIPBT002B02)

# Begin Pendant
uart2:
  txd_pin: gpio.27
  rxd_pin: gpio.25
  rts_pin: NO_PIN
  cts_pin: NO_PIN
  baud: 115200
  mode: 8N1
 
uart_channel2:
  report_interval_ms: 75
  uart_num: 2

Baudrate 1000000 example code

Suitable for RJ12 wired communication and connecting expander modules. (SKU:PISTM040B01)

# Begin Pendant
uart2:
  txd_pin: gpio.27
  rxd_pin: gpio.25
  rts_pin: NO_PIN
  cts_pin: NO_PIN
  baud: 1000000
  mode: 8N1
 
uart_channel2:
  report_interval_ms: 75
  uart_num: 2

Parameters & Dimensions

  • Weight: 365 grams
  • Size: 165 × 60 mm
  • Screen Size: 76 × 55 mm
  • Battery: Flat-top 18650 (not included in the package)

Only for Developments

Schematic diagram (partial)

Pins Defined

ILI9341 LCD Pin Definitions

#define TFT_CS    15  // Chip select pin
#define TFT_DC    2   // Data/command selection pin
#define TFT_MOSI  13  // MOSI (SDI) pin
#define TFT_CLK   14  // SCK pin
#define TFT_MISO  12  // MISO (SDO) pin
#define TFT_RST   -1  // Reset pin (using ESP32 EN pin)
#define TFT_LED   21  // Backlight control pin

FT6336U Touch Driver Pin Definitions

#define TOUCH_SDA  32  // SDA pin
#define TOUCH_SCL  25  // SCL pin
#define TOUCH_IRQ  36  // Interrupt pin
#define TOUCH_CS   33  // Chip select pin (not used)

Other Peripheral Connections

* Potentiometer: IO26 connected to center tap of 10k potentiometer (top: 3.3V, bottom: GND)

* TF Card Circuit:

  • MISO → IO19
  • CS → IO5
  • MOSI → IO23
  • CLK → IO18

* Buttons: IO4, IO16, IO17 connected to three buttons (active low, no pull-up resistors)

* Encoder: IO22 connected to Phase A, IO27 connected to Phase B (no pull-up resistors)

* 3-Position Switch: IO34, IO35, IO39 connected to 3-position switch (with 10k pull-up resistors)

Fluiddial Version Github Code

About the Fluiddial Version Code:

We did not modify the basic code of FluidDial; we only adapted it for screen compatibility. Below is the version and description modified by the user and uploaded to GitHub.

Modfiy version for PiBot Pendant V4:


PiBot WebInstaller: https://pibot-electronics.github.io/

Issues with webinstaller: https://github.com/PiBot-Electronics/pibot-webinstaller/issues

Sources to update the webinstaller: https://github.com/PiBot-Electronics/pibot-electronics.github.io

Thanks for Luc


https://github.com/Lumen-Works-Engineering/FluidDial

Lumen-Works-Engineering created a new build environment in platformio.ini named “pibot”. It’s dependent on the existing “CYD” environment and codebase since that’s what PiBot is based off of. The original FluidDial codebase was not modified. The pibot build environment method just adds sections of code modified specifically for the PiBot hardware that will only be used if you build the code using the “-e pibot” command.

Thanks for John


https://github.com/bdring/FluidDial/commit/15e0aa1ce494786bf05dc9429510efba3c3908c3

Thanks for ajmirsky


Casing STL Files

STL File including:

  • 1 x top case is required
  • 2 x bottom case is required
  • 3 x buttons are required
  • 4 x spaceers are required
  • 1 x potentiometer knob is required
  • 1 x band switch knob is required

Thanks Liz. from USA

Power Chips Indicator button

Power Chips Indicator button OVEWVIEW PICTURE(B)can recognize long press and short press operations. When the button is not needed, leave PIN5 floating.

  • 1. A button press lasting longer than 50ms but shorter than 2s is considered a short press, which will turn on the power level indicator and boost output.
  • 2. A button press lasting longer than 2s is considered a long press, which will turn the LED light on or off.
  • 3. Button presses shorter than 50ms will not trigger any response.
  • 4. Two consecutive short presses within 1s will turn off the boost output, power level indicator, and LED light.

Connect Pendant to I/O Expander

Wire the Pendant to the Expander

The expander features a dedicated RJ12 port for connecting the pendant. Additionally, a 5-pin header is reserved for this purpose. Simply plug in the pendant to begin use.

Important Note: The baud rates must match. Since the expander defaults to 1,000,000, ensure you use a pendant version that also supports 1,000,000.

This features allows you to add another UART channel device like a pendant or display.

The expander filters out expander specific communication and sends the rest out the pass through port.

All data received on the pass through is sent through the other UART to the FluidNC controller.

Trouble Shoot

RX TX Communicate Trouble

When you encounter the following situation.

  • If the Pendant Independent connection to the main board and works,
  • If STM32 expander Independent connection to the main board and works,

But the pendant has no signal when pendant V4 connect controller Board via I/O expander

simply swapping these two RX and TX wires will resolve the issue.

These PH2.0 connector cables are inherently designed for flexible configuration—simply pry the latch with a pin to release them.

The newly shipped version of Expander has now resolved this issue. Using PiBot's complete kit will not cause this problem. However, if you use PiBot's Pendant V4 with Expanders from other manufacturers (such as Airedale - FluidNC I/O Expander), issues may still occur.

Battery Choose

Battery: Flat-top 18650 , we use the SONY VCT5 or VCT6 for test, please make clear the + - (not included in the package)

pibot_cnc_laser_series/v496_pro/connect_pendant/start.txt · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki