// the find
nickshl/SmartPendant
SmartPendant - a way to control grblHAL based CNC machine without PC
Firmware for a standalone CNC pendant that talks to grblHAL over UART, replacing the PC entirely for jogging, probing, and running G-code programs. Targets the WeAct BlackPill F411 with a 3.5" ILI9488 touchscreen and a 100 PPR handwheel. Useful for anyone building or buying a shop-floor controller for a grblHAL machine.
The probing screens are genuinely well thought out — center finder, edge finder, and tool offset measurement are all there with configurable clearance and direction, which covers 80% of what you actually need at the machine. The USB debug mirror (SEND_DATA_TO_USB) is a practical choice: you get a serial sniffer without adding hardware. The STM32 DFU bootloader workaround for the RC oscillator/crystal timing issue is documented honestly and fixed properly in software starting at 0.027.0 rather than just told to the user as their problem. CMake build added alongside the STM32CubeIDE project means you can build without ST's IDE.
It's locked to one specific hardware combination — BlackPill F411, ILI9488 display, FT6236 touch — with no abstraction layer, so porting to anything else means rewiring half the application. The included G-code scripts (Face.ls, Threading.ls, etc.) are undocumented flat files with no explanation of parameters or conventions, which makes them opaque to anyone who didn't write them. The grblHAL dependency is a git submodule pointing at an external repo with no pinned commit or version, so a breaking upstream change can silently break your build. There's also no mention of what happens when UART communication drops mid-operation — whether the pendant fails safe or leaves the machine in an indeterminate state.