PiBot CNC Pendant – FluidDial Fork
PiBot doesn’t provide the source code for the modified FluidDial firmware they provide on their CNC Pendant. They do provide the precompiled .bin file and the ESP32 firmware utility. I created a fork of the original FluidDial GitHub repo and added to my repo here.
I 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.
Details:
- Added a new environment in platformio.ini named “pibot”. It’s used throughout the codebase to avoid modifying the standard FluidDial code. Build with: -e pibot
- Reduced jog wheel tick rate to prevent overrunning the FluidNC buffer. See Discord discussion here.
- Updated UART, LCD, GPIO, and related settings to match the PiBot Pendant hardware.
- The four-position side “band” switch (unused in the factory firmware) is now active on the jog screen as a lock and jog multiplier. Switch positions: LOCK, x1, x10, x100. The active position is shown in the top-right corner.
- The top-mounted potentiometer (previously unused) now controls variable jog button speed (not the encoder wheel). Changes take effect only after releasing and pressing the button again. The LOCK position also locks the jog buttons.
- I removed the on screen buttons at first since the PiBot Pendant has physical buttons but later put them back since it just left an empty spot on the screen and it helps to see the on-screen button colors and help text. The pendant phy buttons are all the same color.
- There’s a pibot folder in the repo with some relevant information such as device schematic and pinout.
