Introduction: Converting CNC Electronics to Arduino

This instructables will guide you through the process of changing your old CNC electronics taht still use the parallel port. This can come in handy if you don't have a computer with parallel port or do not have a converter, but even more important this conversion will allow you to control your CNC without the need for a computer or an embedded computer. Fro this we will use the Arduino Mega 2560 micro-controller and Repetier firmware with active CNC mode on.

Step 1: The Original Electronics

This CNC that we will convert has 3 NEMA 23 Stepper motors with 1.8 degree 2A current and 4 wire connections. The CNC is also equiped with 3 mechanical endstops and a 12V fan.

The original electronics board can be seen on the photos above, it has a parallel port for connecting to a computer.

In order to convert the CNC electronics to Arduino, you will need to do is to remove all electronics inside the electronics controller box (As shown on the photos).

Step 2: Arduino + RAMPS 1.4 + RepRapDiscount Smart Controller

The advantage of having an Arduino + Ramps + LCD + SD reader is that you will no longer need to hook up the CNC to a computer in order to run it, you can just save the gcode to an SD card and print from the SD card without the need for a computer.

You will need an Arduino Mega 2560, a RAMPS 1.4 beard, 3 stepper drivers with enough current to supply your stepper motors, a RepRapDiscount Smart Controller and a 12V power supply.

This is only possible because we are going to install repetier firmware with CNC activated on the Arduino (more of that on the next steps).

Step 3: Soldering the 4 Pin Stepper Motor Wires

In order to connect the motors to the RAMPS board you will need 4pin connectors connected to each motor. Make sure that the adjacent wires are from the same coil. After this step you need to wire the endstops with a single pin connector for each wire.

Step 4: Wiring the Electronics

Now that you have the female pins solders, you can go ahead and connect them tho the RAMPS board. Connect the XY and Z motors accordingly.

Make sure you have enough current from your power supply to power all your motors, also make sure your micro-stepping drivers have enough power to power your stepper motors.

The 12V power supply is connected to the RAMPS and also the 12V fan for cooling the drivers. For more information on the ramps board, please visit this source:

Step 5: Uploading the Repetier Firmware to the Arduino Board

Download and Install arduino IDE 1.0.5 rc2 , instructions here:

Open Arduino IDE and select Arduino Mega 2560 and select the usb port.

Open the repetier firmware (attached to this step) and upload it to the Arduino Mega board.

For configuring you CNC's properties open configuration.h and change whatever necessary:

#define MOTHERBOARD 33 // Arduino Mega + ramps board

#define X_MAX_LENGTH 400

#define Y_MAX_LENGTH 600

#define Z_MAX_LENGTH 120

Remember to adjust the steps per mm for your stepper drive system, i have 1066 steps per mm for all axis.

remember also to adjust federates and accelerations, this can all be done in configuration.h, the endstops can also be configures there.

Step 6: The Final Result

The final result is a CNC controlled by Arduino and gcode from an SD card. This is a very simple procedure and a very cheap alternative to CNC electronics.

Now you need a CAM software to generate the GCODE, than you just need to save the GCODE to the SD card and insert it in the LCD SD card slot. Have a look at he manual from the LCD display menu options.

CNC Contest 2016

Participated in the
CNC Contest 2016

Arduino Contest 2016

Participated in the
Arduino Contest 2016

Epilog Contest 8

Participated in the
Epilog Contest 8