ESP-CNC aims to bring modern features to open source CNC to power the next generation of digital fabricators.
* Open source hardware and software under the GPLv3
* WebGL and WebAssembly powered interface with 3D CAM and simulation from common STL files
* REST API for custom applications
* SD card support for storage of G-code and macro's for standalone operation
* Up to 16 step/dir interfaces or spindle outputs at 315kHz
* 2x Analog ±10v outputs at 32bit resolution @ 96kHz mappable to X, Y, Z or spindle outputs
* 16x GPIO for endstops, PWM outputs and general GPIO
Long term features -
* G76 lathe threading support
* 5 Axis kinematics with tool center point control
* 4th axis and 3+2 axis CAM in the browser
Designed with flexibility in mind, ESP-CNC a range of machines including mills, lathes, laser cutters and 3d printers. The highly accurate analog outputs open the doors for galvanometer control in DIY SLA, SLS and laser plotters.
I've had a CNC and rapid prototyping obsession for many years now and can't help but dream of building a beastly 5 axis machine that can hold it's own with the commercial offerings worth more than the average house.
2 years ago I started playing with WebAssembly and decided to have a crack at building a 3 axis CAM system, something that can turn a common STL into G-Code suitable for your average GRBL powered CNC.
To my surprise it actually (mostly) worked and now lives in the Machinist project on Github. Whilst Machinist is far from complete, the working prototype gave me the confidence to tackle a the larger idea to hopefully provide a better ecosystem for CNC in general that would serve as a great tool for my personal rapid prototyping ambitions and hopefully those of others.
What we're trying to do
Existing open source CNC controllers do a fantastic job for motion control but fall short when it comes to connectivity and more advanced features found in commercial machines like peck drilling, lathe threading and tool center point control just to name a few. What we'd like to do is build a motion controller with all the standard features as well as plenty of room for expansion to support more advanced machines and part geometries.
Connectivity is a major component of improving open source CNC, instead of requiring an additional computer (like Octoprint or CNC.js) we're bundling a fully featured web server directly into the controller allowing it to serve and integrate with Machinist so you can go from STL to machined part from the WebAssembly powered interface using any phone, tablet or PC. The Bluetooth capability of the ESP32 open's up even more opportunity to support interesting peripherals like wireless touch probes and gamepad/keypad control.
By keeping everything open, documented and flexible we want to support every use case we can think of. Even the ones we can't think of just yet.