Arduino CNC Foam Cutter

posted in: CNC, Hot Wire | 1
Can you use Arduino to control a Hot Wire CNC  foam cutter, is a question I get more frequently now. Yes, you can. In this article l will show 2 options depending on the hardware you are using or intend to buy.
  1. For machines using NEMA 17 stepper motors
  2. For machines using NEMA 23 or bigger stepper motors 
It’s a little bit more involved than using LinuxCNC or Mach3 with the parallel port controller card.  So this article will show how I will convert my parallel port foam cutter to use an Arduino microcontroller. Here’s a link to my DIY hot wire foam cutter if you like to build your own
arduino mega uno
Arduino Mega and Uno

Why use an Arduino Micro Controller

You may have noticed that a lot of the CNC solutions are based upon the old parallel port which has been obsolete for some time and USB options tend to be a bit expensive.  Usually requiring licensed software and some extra hardware.  The Arduino option is relatively inexpensive and uses open source software.  Most of it based on 3d printing.  This then enables you run off modern PC’s or laptops.

What is an Arduino Micro Controller

Arduino is an open-source electronics platform based on easy-to-use hardware and software. In simple terms, it takes inputs, does something with them and sends them to the output.  In our case, it would take some g-code in and turn this into steps and direction pulses to our stepper motors.  We can also take inputs back in, for example, limit to homing switches. It’s very popular and used in many applications, 3d printers being one.  The Arduino can be loaded with different firmware, called sketches.  These can be very simple to say blink an LED or much more complex to drive stepper motors.  That’s what makes the Arduino so versatile. There are several version of the Arduino with the most popular being the Arduino Uno and Mega for CNC applications, which we can use for our foam cutter.  You will see the term Shield used a lot in relation to Arduino

What is an Arduino Shield

Shields are boards that can be plugged on top of the Arduino PCB extending its capabilities.  One of the most popular is the GRBL board that can control  3 axes.  Another is a RAMPS board, this can accept 4 stepper drivers and you then plug your stepper motors on to the board

Option 1 – Using NEMA 17 Stepper Motors

These are the stepper motors usually used in 3d printers and so are fairly cheap and the current draw is less than the NEMA 23.  This makes a difference in our hardware selection because we can use a RAMPS board with driver modules installed on the board.  Using the DRV8255 drivers 2 amps is about the most we want to use.  The only issue is that your foam cutter build needs to be relatively light and the axis needs to move without too much drag.  Check they make a very nice kit that uses NEMA 17 motors


Having researched the options and reading many forum posts I’ve concluded the best option is to use the following hardware.
Arduino Mega 2650
RAMPS 1.4 Shield
The higher current DRV8255 drivers.

Option 2 – Using NEMA 23 or bigger stepper Motors

With the supplied drivers in the RAMPS kit you are limited to NEMA 17 motors, they are limited to around 2 Amps with cooling.  If you want to use NEMA 23 motors with higher current draw, then you’ll need to swap out drivers for Dan Royer’s adapters . You then just attach your driver wires to the board. The stepper drivers either a TB6560 or TB6600 need to be powered by a separate power supply. I would recommend at least a 350W 24 volts. mega ramps tb650 drivers

Arduino Software for Foam Cutters

G-code is the language of CNC machines.  It’s commands like G0 X20Y20U20V20 which via the software running on the Arduino will send pulses to the stepper motors to move then 20mm in the example above. So firstly we need to load the Arduino with 4 axis code that will make this happen.  So after much research, I’ve decided to follow this post on RC groups.  The only difference is that I will use separate drivers powered by the 24-volt power supply. My hotwire machine uses NEMA 23 motors so I purchased  4 TB6560 driver modules and an Arduino Mega with a RAMPS 1.4 board together with a 350W 24-volt power supply. Keep checking back for updates, hope to have the hot wire foam cutter running on Arduino soon.  A lot of re-wiring to do and I need to finish cutting the wings and fuselage for my BAE Hawk/T45 Goshawk

  1. Neil Hussey

    Looking forward to seeing how this progresses Keith. I was going to use a 4 Axis TB6560 Nema23 Stepper Motor Driver Board USB CNC from eBay but might just try the Arduino route, and why not!! Just got to ‘un-engineer’ my mechanics as they’re a bit too solid for Nema 17 motors!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.