- Having fun while working on the project
- Using low-cost hardware resources
- Having a versatile board that can easily be adapted to the various types of self-built CNCs
- Implementing basic adaptations to the logical levels and filtering the I/O signals
- Providing direct connection to high-power servo controllers through various connectors
- Providing good compatibility with the various already-existing servo controller boards of amateur CNCs that are still using MACH3 LPT-like ports
- Embedding direct small stepper drivers like those normally used in 3D printers
- Generating a square wave signal for the “charge-pump ENABLE” signal used by those driver boards (typically MACH3) that need it
- Supporting dual-mode spindle speed control, both via PWM and via an analog signal for those spindles whose speed regulation is done by a reference voltage (0-5V or 0-10V)
- Providing wiring diagrams and documentation that can be accessible to other people who want to make new software/hardware variations on the board.
In addition to the basic features of Bart Dring’s project, Lorenzo added two functions that find very important for safer use of CNCs:
- A potentiometer for real-time MASTER override of the cutting feed speed (basic, but essential)
- A potentiometer for real-time MASTER override of the spindle feed speed (very useful, but not essential)
The first one in particular is essential to safely verify that, when starting a new job, there are no catastrophic errors, which can range from simple damage and tool crashes to serious injuries to the user caused by stray parts that can hit like bullets. CNCs are dangerous machines, and errors ALWAYS have consequences; in the most unfortunate cases, the consequence may be the price of one’s LIFE!
Having a controller with hardware overrides was essential to me. Given the availability of analog inputs on the ESP32 chipset, Lorenzo set up the hardware and modified the source code to implement this function.
The latest change he made to the original project, in anticipation of future developments, was adding an expansion with 14 I/O digital lines and providing access to the I2C bus, in order to implement other future features such as adding MPGs, adding the vacuum pumps on/off function, etc.).
Follow this project on https://www.cnc4fun.com/en/