Software comparison - winder/Universal-G-Code-Sender GitHub Wiki
To be able to build your own CNC machine you need three softwares for your tool chain. On this page we have attempted to create a comparison table with different options:
- CAD/CAM - A software for drawing or designing the model and generate GCode files with machine code.
- Gcode sender - A software that will connect to your hardware controller and send Gcode files or commands to it.
- CNC controller - A firmware and hardware that will control the motion of the stepper motors based on Gcode commands
Gcode is a CNC machine programming language. To generate such instructions you could write the code yourself (code reference) or use a CAD/CAM-software which generates it from a 3D or 2D model. Here is a list with different softwares and their support for different file formats.
Name | OS | License | DWG | DXF | STL | Gcode | SVG | Bitmap trace |
---|---|---|---|---|---|---|---|---|
UGS Platform | M,W,L | GPLv3 | ✔️ | ✔️ | ✔️ | ✔️ | ||
Fusion 360 | M,W | Commercial | ✔️ | ✔️ | ✔️ | |||
FreeCad | M,W,L | LGPLv2+ | ✔️ | ✔️ | ✔️ | |||
Inventables Easel | Web | Free to use | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Kiri:Moto | Web | MIT | ✔️ | ✔️ | ✔️ | |||
Carbide Create | ||||||||
MakerCAM | ||||||||
F-Engrave | W | ? | ||||||
EstlCAM | ||||||||
CamBAM | ||||||||
Templatemaker | Web | Free to use | :heavy_check_mark: | ✔️ |
* OS: L=Linux, M=MacOSX, W=Windows
A Gcode sender is a software that connects with your controller (GRBL, TinyG, G2core, Smoothieware, Marlin or FluidNC) and is able to stream a gcode file to it. There are many different awesome senders out there, here we've tried to create a comparison table. Please feel free to correct any errors.
Name | OS | Controllers | Language | License | CLI | WebUI | Gamepad | Overrides | Editor |
---|---|---|---|---|---|---|---|---|---|
UGS Platform | L,M,W | G,T,G2,S | Java | GPLv3 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
UGS Classic | L,M,W | G,T,G2,S | Java | GPLv3 | ✔️ | ✔️ | ❌ | ❌ | ❌ |
gSender | L,M,W | G | Javascript | GPLv3 | ✔️ | ✔️ | ✔️ | ||
bCNC | L,M,W | G,S | Python | GPLv2 | ✔️ | ✔️ | ✔️ | ||
Chilipeppr | L,M,W | G,T | Javascript | GPLv2 | ✔️ | ✔️ | ❌ | ||
cnc.js | L,M,W | G,T,G2,S,M | Javascript | MIT | ✔️ | ❌ | ✔️ | ❌ | |
Goko | L,M,W | G,T,G2 | Java | GPLv3 | |||||
CNC-GCode-Controller | W? | M | Java | MIT | |||||
SourceRabbit | L,M,W | G | Java | GPLv2 | ❌ | ❌ | ❌ | ❌ | ❌ |
Candle | L,W | G | C++ | GPLv3 | |||||
GRBLWeb | L,M,W | G | Javascript | AGPL | ✔️ | ||||
Pronterface | L,M,W | M | Python | GPLv3 | |||||
UCCNC | W | ? | ? | ? | |||||
g2coregui | L,M? | G2 | Python | ? | |||||
GrblGru | W | G,T,G2 | ? | ? | |||||
Grbl Panel | W | G | VB.Net | MIT | |||||
Planet CNC | W,M,L | ? | ? | ||||||
Grbl-GCode-Sender | W | G | C# | BSD-3-Clause License | |||||
FabMo | W,M,L | G2 | Javascript | Apache-2.0 | |||||
GridBot | L,M | M | Javascript | MIT | ✔️ | ✔️ | |||
GRBL-Plotter | W | G | C# | GPLv3 | ✔️ | ✔️ |
* OS: L=Linux, M=MacOSX, W=Windows
* Controllers: G=GRBL, T=TinyG, G2=g2core, S=Smoothieware, M=Marlin
* CLI: Command Line Interface for interacting with the software without a GUI
Name | License | Axises | Overrides |
---|---|---|---|
GRBL | GPLv3 | 3 | ✔️ |
grblHAL | GPLv3 | 6 | ✔️ |
Grbl_Esp32 | GPLv3 | 6 | ✔️ |
FluidNC | GPLv3 | 6 | ✔️ |
TinyG | GPLv2 | 4 | ❌ |
g2core | GPLv2 | 6 | ✔️ |
Smoothieware | GPLv3 | 4 | |
Marlin | GPLv3 | 3 |
* Overrides Ability to adjust feed rate, spindle speed in runtime