I had built a Marlin based CNC with the TFT35 display and I loved the setup. I moved and the place no longer had the space for the 24x48 router, so I just bought a 3018 cnc. It has an offline controller, but it is almost useless for me. I tought why not make a pendant the way I want it, do what I think is useful for me, without any propietary firmware b.s.
So here it is the result: Should connect and comunicate with (my guess) any GRBL CNC thru the serial port.
General top view
Side view with micro SD card
Touch pen
Bottom
Main menu
SD card menu
Running screen
Live override
Instant feed hold
JOG menu
Probe menu
MDI menu
Firmware developed in Arduino IDE.
See below my project requirements
================================================================================
Wired CNC Pendant for grbl 1.1.f connected to serial port
Hardware used:
Hosyond 3.5’’ 320x480 Resistive Touch Screen Display ESP32-WROOM-32E with WiFi+BT, ST7796U Driver LCD TFT Screen Module (CYD):
https://www.amazon.com/dp/B0D93MBWC2?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
100PPR Manual Pulse Generator 60mm CNC Encoder with 6 Terminals
https://www.amazon.com/dp/B07G9FVHM8?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
momentary push buttons: Red for feed hold/ Green for run
https://www.amazon.com/dp/B01E38OS7K?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_2
General requirements:-the display in portrait mode-
1)run code offline from sd card,file names “.nc”;“.NC”;“.gcode”;“.GCODE”;“.txt”;“.TXT”;
display the files, scroll to select, display the file name and confirm the selection,then press “RUN”. After program completed return to main menu
a) Red momentary button = feed hold - when button is pushed first time; when pushed a second time “stop”;
b) Green momentary button: When on feed hold “resume”; when program running toggles between feed and spindle speed override
c) rotary encoder: when program running override the selected by 1% per click. The display has reset to 100% touch button for each the feed and speed
After stop return to main menu
2)Jog:-encoder enabled, momentary push buttons disabled-
a)display top horizontally: “G54”;“G55”;“G56”;“G57”;“G58”; touch selection, highlight selected - will set the work coordinate
b)display left vertically: “X” “0”; “Y” “0” ; “Z” “0” ; touch selection,separate on letters (axes) and zeros; highlight selected axis
When X is highlighted the axis will move on X. When “0” is touched next to “X” zeroes x axis, sets the offset of the highlighted work offset on top of screen;
Similar the other axes
c)display right vertically: “.01”;“.1”;“1”;“10”; touch selection, highlight selected
d)display middle upper of the screen: current work coordinate DRO position X; Y; Z vertically
e)display middle lower the screen: current machine coordinate DRO position X; Y; Z vertically
f)bottom center: “MAIN MENU” -touch, return to main screen
3)Probing: -encoder disabled,momentary push button disabled-
Display Left center: “X+” “0”; -highlight individually, when X+ selected will do the X+ touch macro, when “0” selected after touch, will set X zero of the active work offset
Display Right center: “X-” “0”;
Display Bottom center: “Y+” “0”;
Display Top center: “Y-” “0”;
Display Middle of screen: “Z-” “0”;
bottom center: “MAIN MENU” -touch, return to main screen
4)MDI (manual data input):- encoder disabled,momentary push button disabled-
display one row blank, keyboard with only the GRBL specific caracters and nombers, enter to execute
bottom center: “MAIN MENU” -touch, return to main screen
5)HOME- sends “$H” then returns to the main menu - encoder disabled,momentary push button disabled-
6)UNLOCK- sends “$X”-
MAIN MENU display:
Top left vertically: current work coordinate system, current position x, y, z
Top right vertically: machine coordinate system, current position x, y, z
vertically centered “SD-CARD”; “JOG”; “PROBE”; “MDI”; “HOME”+ “UNLOCK”; - only these are selectable by touch
Rotary encoder,2 Momentary push buttons (Red and Green) and CNC machine connection to any suitable IO pin.
WiFi and Bluetooth should be disabled
================================================================================
If anybody is interested I can post the .ino file for further customization, or the necessary .bin files.
Also I can provide the pendant 3D model in native Solidworks, or exported to STEP, parasolid, etc, for 3d printing STL models.












