Worktable CNC Controller, ESP32 Based, Free, and Open-Source
A CNC Router needs a controller. I designed one. It is simple, free, and open-source. A download of the KiCAD project files and the PCB Gerber files are below.
The Worktable CNC Controller features:
- The Espressif ESP32
- (4) Axes control (XYZA)
- (2) PWM outputs
- PWM to 4-20V output
- (4) Opto-isolated limit/probe inputs
- Enable/Disable digital input
- (3) Available digital input/outputs
- All I/O boosted and protected by buffer gates
- Input power from 7 to 35 V
The XYZA outputs provide step and direction for a typical motor controller input. The PWM and 4-20V outputs are used to control the speed of a VFD driven spindle, or the power output of a cutting laser. It is basically all you need without a bunch of other stuff. Simple.
I personally like to use FluidNC as the firmware. You can find that here: FluidNC CNC Firmware Wiki
To make things easier, I leverage off of the already built ESP32-WROOM-32E Development Board. These can easily be found online. The details are here: ESP32-DevKitC Development Board
And, the 4-20V output uses an already built PWM to Voltage Module. These too can easily be found online. Just go to Amazon or EBay and search PWM to Voltage Module. Use the one that matches the one in the images below.
In the image below you can see the ESP32 and the PWM-Voltage modules installed:
Click on the following schematic to download it as a PDF file:
This is a Do It Yourself project. If you would like to Do It Yourself, then here you go...
The KiCAD project files, in KiCAD Archive format, are all here:
Worktable CNC Controller KiCAD files
The PCB files, in traditional Gerber format, are all here:
Worktable CNC Controller PCB files
I hope you find this useful!