0% found this document useful (0 votes)
43 views77 pages

Bookforcnc

Uploaded by

darlami939
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views77 pages

Bookforcnc

Uploaded by

darlami939
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

CNC Hot Wire Foam Cutter

This Hot Wire CNC Foam Cutter can run from most modern computers and laptops using
Windows 10 or 11 with a USB port.
It's based on my original design with several modifications and this one works even better. If
you want to build your own then all the details are here with links to parts and resources you
need.
© 2024 Published by Keith Howlette https://rckeith.co.uk
All rights reserved. No part of this book may be reproduced or modified in any form,
including photocopying, recording, or by any information storage and retrieval system,
without permission in writing from the publisher.
November 2024 Version 6.2
Keith Howlette
Table of Contents
Introduction...........................................................................................................5
What’s in this eBook 6.2...................................................................................6
What’s NOT in this eBook................................................................................ 6
Foam Cutter Accuracy.......................................................................................6
How much will it cost?......................................................................................7
Cutting Range....................................................................................................8
Is it difficult to build?........................................................................................ 8
Can I buy a kit?................................................................................................. 9
What tools do I need?........................................................................................ 9
Build Videos......................................................................................................9
Where to start.................................................................................................. 10
Main Parts List................................................................................................ 11
CNC Controller Boards......................................................................................11
Firmware............................................................................................................. 11
Software.............................................................................................................. 12
Grbl Hotwire....................................................................................................12
DevCNC Foam................................................................................................ 12
Electronics Hardware..........................................................................................13
RAMPS and MKS DRV8255/A4988 drivers.................................................13
Connect Stepper Motors.................................................................................. 15
Cooling Fan and Case......................................................................................15
SKR Pico TMC2209 Drivers..........................................................................15
Power Supply.................................................................................................. 16
MKS Board External Drivers..........................................................................16
Mechanical Build................................................................................................ 20
Plans................................................................................................................ 20
Metric to Inches...............................................................................................20
Axis Definition................................................................................................ 21
Horizontal Carriages X and A Axis................................................................21
Vertical Carriages for Y and Z-Axis...............................................................25
Electrical Wiring.................................................................................................35
Connecting Stepper Motors.............................................................................35
Connecting NEMA23 Stepper Motors to the MKS Board..............................36
Installing the Grbl Hot Wire Software................................................................39
Configuration...................................................................................................39
Checking Axis direction.................................................................................. 39
Steps/MM........................................................................................................ 40
Calibration....................................................................................................... 41
Homing/Limit Switches/End-Stop Configuration...........................................42
First Test Run......................................................................................................49
Running the sample G-Code...........................................................................49
Hot Wire Tension............................................................................................49
Types of foam.....................................................................................................51
Foam placement..............................................................................................53
The Hot Wire...................................................................................................53
How to get a good Kerf value......................................................................... 54
Software to generate g-code...............................................................................57
Fusion 360 for foam cutting – Parallel cuts only............................................58
Videos................................................................................................................. 61
Hot Wire CNC FAQ...........................................................................................62
How do I design a wing?................................................................................. 62
What’s the biggest size wing I can cut?..........................................................62
What type of foam do I use?...........................................................................63
What type of hot wire do I use?...................................................................... 63
How do I cover foam wings or fuselages........................................................63
Using Marlin 3d Printer Firmware......................................................................64
Hardware requirements...................................................................................64
Software required to compile and upload the firmware..................................64
Compiling the firmware..................................................................................65
Drivers and Connections................................................................................. 67
Configuration...................................................................................................68
Testing the Hot Wire.......................................................................................72
Dry Run........................................................................................................... 73
First Cut........................................................................................................... 73
Introduction
This eBook contains all the information you’ll need to build your own 4-axis USB Hot Wire
CNC foam cutter for approximately $200(US).
The eBook is updated quite often with new information and user feedback so do check on
the website for updates.
I’ve built many flying wings and a few scale models with foam fuselages using a Hot Wire
CNC foam cutter.
Here’s a few I’ve made.

Why would you want to use a hot wire CNC machine to make wings or fuselages? Surely
it’s cheaper to buy foam models than building with a CNC machine.
Yes, it can be to start with but some of the big EDF jets made from foam can be quite
expensive. I’ve seen a few crashes beyond repair at my flying club. The first flying wing I
built with the machine flew fantastic until I crashed it, well I crashed it a few times but the
last one was its final. So power up the machine and cut some new wing cores and I was
back in the air in a few days. The pictures above show that new wing. I made a video
playlist showing the full process here
Another reason is to build models that you can’t buy or if you could they would be very
expensive. I enjoy researching and designing my own and there's some very good
software you can use now. Learning how to use a CNC machine has been great fun and
I’ve made many friends all over the world helping them out.
Warning you may get the CNC disease, I did. Once I had my foam cutter working and
made a few models I wanted a CNC Router, then a 3d Printer and a Vinyl Cutter. I have
them all now. I can justify this because I don’t buy RC model aeroplanes anymore. Nothing
against them I just prefer to make my own.

What’s in this eBook 6.2


● This e-book is accompanies the new software and firmware I released in Nov 2023.
The Windows software is now called Grbl Hotwire using XYZA axes letters
● Full instructions showing how to build the machine

● An updated mechanical design from my original. I’ve made several modifications to


make the build simpler. The new design is lighter and intended to be run with stepper
motors and controllers used in 3d printers. You can still use other stepper motors and
controllers if you wish.
● Links to the plans for the mechanical build. Full-size templates for all but 2 parts of the
build. There is a small charge for the plans.
● Links to Electronic Build Guides for each supported microcontroller board.

● How to use the Arduino Mega 2560 with a RAMP 1.4 board including the MKS Gen L
V1.0 and V2.1 (Combined Arduino Mega 2560 and RAMPS is one board) – same
firmware for all 8-bit boards
● How to use newer 32-bit boards running grblHAL
● Using Marlin 3d Printer Firmware instead of a PC.

● Part list required to build the machine. If you’re unsure then just drop me an email with
the parts you are considering and I’ll take a look for you.
● Foams and Hot Wires used. Calculating the Kerf Value.

● G-code Generation update with several software options

● I’ve removed the section for using the old parallel port interface in this eBook. Details
can still be found on the website.
● Tips for builders in the USA where some metric parts are not economically available
and with inch equivalents that can be used.

What’s NOT in this eBook


I’ve removed the sections that are not very relevant in 2024 as follows
1. Using Mach3 and LinuxCNC with a parallel port computer.
2. Compiling the Arduino Mega 2560 firmware. The firmware can be uploaded to the
board pre-compiled. Any setting changes are through grbl $ settings.

Foam Cutter Accuracy


Sometimes guys ask about the accuracy of a CNC foam cutter using threaded rods for the
lead screws and drawer slides for the linear motion. Which I can understand. Well, the
accuracy required for CNC foam cutting isn’t the same as needed for a CNC router. But I
still get very good results when I compare the cut parts with the scale drawings. I’ve
overlaid cut parts on top of drawings and it's always been a perfect fit to the naked eye.
See my video here where I show how accurate it can be.

How much will it cost?


This is probably the most important consideration because it is a bit of an investment, but
worth every penny in my opinion.
The majority of the cost will be the CNC controller, stepper motors and power supply.
Software is also another consideration. There is free software for generating the g-code
and I’ll cover these in this eBook.
I use the software that I’ve purchased which is more comprehensive but I would suggest
starting with the free software first which is fine for simple wings and then upgrading to
paid software as you progress.
Working on average prices in 2023 if you had to purchase everything except the
PC/Laptop, then I should budget for around $200 (US) £160 (UK) €180 (EU) for the
hardware, but you may be able to do it for less if you have some suitable parts and
materials already. A lot of guys have repurposed old 3d printer parts.
Some builders in the USA have said some of the metric parts used in this design such as
threaded rods can be quite expensive. This eBook includes imperial alternatives that can
be used.
Don’t go crazy on expensive hardware for your machine, unless you want to. Software is
where you will get the most benefit. Generating g-code for your wing or fuselage is where
the paid software excels.
The cost of my original machine has been cut by about 30%. It won’t take you long to
recover this once you have built a few models. It's a real buzz when that wing core reveals
itself from the foam block for the first time.
Some of the big EDF foamy jets can cost two to three times that, and yes they look
fantastic and sound great. But if you crash your design made with this machine you can
repair it with some new parts or just make a new one for the cost of some foam.
I had an EDF Phantom F4 which I purchased several years ago. It flew great and looked
good. But one day I lost control and just found a load of foam pieces when I got to it. That
was a £130 model gone.
When you fly something you’ve built and it flies well there’s no better feeling in my opinion.
It's been great fun learning CNC and this makes the hobby even better for me.
STOP! Read this before building
Please check the g-code generation software before building your machine. There aren’t
that many programs available for CNC foam cutting being a bit of a niche hobby.
I’ve had several guys contact me who have a design in a CAD program, typically Fusion
360 and want to export from that into the g-code generation software. You may find your
design can’t be done in the free software and you will need to add software purchases to
your budget.
So please try the free and demo version of the g-code generation software with your
intended designs before you commit time and money to build this machine.
There is a section in the eBook covering G-code generation software.

Cutting Range
The vertical travel is 350 mm (13.5″) and the horizontal is 550 mm(21.5″) using 450 mm
and 750 mm threaded rods. You can use a longer threaded rod on the horizontal axis up to
1000 mm if needed but you will also need longer drawer slides. The maximum with longer
drawer slides is 700mm (27.5”). I have 2 sets of threaded rods and just swap to the longer
rods if the design requires it.
The distance between the carriages can be set quite far apart. I have used up to 1000 mm
with good results. My current setup is about 750 mm or around 30 inches. But the hot wire
may need more power depending on the type of wire you use. The MKS Gen L board can
use 24 Volts which may be better on larger wingspans. If you intend to go more than
1000mm/40 inches then the MKS board with a 24-volt power supply is a better option.
Swept-back wings can present a problem but you can produce larger sweep backs than
the machine can travel. you do this by aligning the trailing edge to the hot wire and then
cutting the root and tip afterwards to the correct angle. I did a video on this some time ago
showing how to do this. Here

Is it difficult to build?
No, if you are reasonably practical then you have all the skills you need. Don’t be put
off by the electronics. It can look a little daunting but if you follow this eBook and the video
series you have all the information you need. If you do need help, reach out to me at
[email protected] and I’ll get back to you with some answers. I get quite a lot of
questions from all over the world asking for advice and recommendations on parts to buy.
Here’s a picture of all the parts you need to build the machine.
Can I buy a kit?
Yes, if you don't want to do all the cutting and sourcing the parts.
Check the website here for the latest offerings https://rckeith.co.uk/hot-wire-cnc-foam-
cutters-you-can-buy/
You can still follow the software section of this article as well because as you’ll find out,
and I speak from experience, this can be the most challenging part. But don’t be put off,
my article will have you making wings and other projects in no time.

What tools do I need?


The new design is built using 12 mm MDF except for one part which uses 18 mm MDF. I'd
recommend using a moisture resistance board usually labelled MR-MDF, but any 12 mm
stable wood can be used. I have a cheap table saw that I used to cut most of the bigger
parts and then used a circular saw to cut some of the smaller parts. So nothing too fancy,
you may already have everything. Just general wood/metalworking tools and some good
wire strippers.
To save yourself time and some expense take the cutting list to the local DIY store and get
them to cut all the parts. My local store does this and you only pay for what you need and
you’ll get them cut to the correct sizes with nice square cuts.
If you have a pillar drill it's very useful and ensures holes are drilled square. Lots of holes
in this design. I’ve used cross dowels to join the major parts and these are available at
most DIY stores. Sometimes called furniture bolts. Mine are M6 cross dowels with
socket/Allen key heads, link in the parts list. There is a drawing in the plans for a jig to
align the cross dowel and bolt. There are a few screws used to hold down the drawer
slides.
You will also need a PC or laptop to send the g-codes to the Arduino Mega 2560. Any
modern computer will be fine with a USB interface. For this build to use the controller
software it needs to be a Windows machine. I’ve only tested the software on Windows 10
so I can’t confirm if it works on older versions.

Build Videos
The build videos are here on YouTube.

Where to start
I’d recommend starting with the electronics first to make sure all your parts are working. If
you have just purchased them it's nice to know they are all functioning correctly rather than
finding out a few weeks later and then having issues with the supplier.
Bench test the electronics and check everything works OK first. Please note you can’t
bench test homing this requires the limit switches to be installed on the foam cutter.
Main Parts List
Here’s the link to Parts List. If you are building a parallel port interface version then use
this list Parts List TB6560
If you are unsure just drop me an email and I can check for you.

CNC Controller Boards


The folowing microcontroller boards are supported
1. Arduino Mega 2560 with a RAMPS 1.4
2. MKS Gen L V1 or V2
3. BTT SKR Pico V1.0

The first release of the foam cutter was based on the Arduino Mega 2560 and the
RAMPS 1.4 board which works great.
Figure 1: Arduino Mega with a RAMP1.4 DRV8825 stepper drivers

You can use the MKS Gen L V1.0 and V2.0 boards which are an Arduino Mega and
RAMPS board in one unit. It has a few extra features that may be worth considering
depending on your build.
● You can power the MKS and SKR Pico with a 24 Volt power supply. This will allow the
hot wire connected to the D8 connector to run at this higher voltage. If your machine
uses a very long hot wire getting it hot from 12 volts can be a problem. I’ve run up to 1
metre or 39 inches on 12 volts with no problem.
● You can use NEMA23 or bigger stepper motors connected to external drivers via the
external driver socket on the MKS board. If your machine is much bigger than the
machine described here and you have used heavier materials, then the NEMA17 stepper
motors might not be enough.
● If you have an old parallel port machine using NEMA23 stepper motors and drivers that
has just failed then the MKS board could replace it. One caveat is that you won’t be able
to use Mach3 or LinuxCNC any more.

Figure 2: MKS Gen L V1.0 with DRV8825 Drivers


If you build the machine as described here and on the website then the Arduino Mega
2560 and the RAMPS board will work fine, the SKR Pico is just a little easier to configure.
You can now also use BTT SKR Pico 32 bit board with the latest firmware and software.
Other 32-bit boards listed under grblHAL supported controllers may work but so far I’ve
only tested the SKR Pico V1.0

Figure 3: BTT SKR Pico with embedded TMC2209 stepper drivers

Firmware
The firmware is pre-compiled for the Arduino Mega 2560 with RAMPS, MKS GEN L V1
and V2 and the BTT SKR Pico(32-bit). The website now has a sperate electronics build
guide for each board. Follow the links below for the microcontroller board you are using to
install the firmware.
• Arduino Mega 2560 with a RAMPS 1.4 https://rckeith.co.uk/electronics-build-guide-
arduino-mega-2560-ramps-1-4/
• MKS Gen L V1 and V2 https://rckeith.co.uk/electronics-build-guide-mks-gen-l-v1-
and-v2/
• BTT SKR Pico(32-bit) https://rckeith.co.uk/electronics-build-guide-btt-skr-pico/

Marlin 3d Printer Firmware


As of March 2022 you can now used a customized version of Marlin 2.0 firmware.
I would only use this option if you don’t have access to a Windows PC. The firmware
needs to be compiled which if you are not experienced in compiling Arduino source code
can be a a little daunting and error prone.
Full details are in the Appendix of this eBook
Software
The Windows software drives 4 axes independently using the Arduino Mega 2560 based
boards or grblHAL supported boards. Which now use axes letters XYZA and not XYUZ as
the previous software

Grbl Hotwire

This is the latest so firmware and is based on the older software with several user
requested features and support for 32-bit grblHAL boards as well as 8-bit. The only
limitation is that it needs a Windows computer to run the software. I’ve only tested it on
Windows 10 and 11 but it should work on older version of Windows as long as you
have .Net Framework 4.8 installed

DevCNC Foam
This requires a license and is very good and there is a 7 day free trial before you commit
to purchase. DevCad includes the firmware and software in one package. So it’s very easy
to install and use.
DevCNC Foam is purpose-built for 4 and 5 axis foam cutting and will run on several
hardware configurations. It can even be used to make an old parallel port controller
compatible with USB using an Arduino. DevCNC Foam cost €95 in 2022.
It supports a rotary axis which can make some very interesting shapes. You will need to
use DevFoam to generate 5 axis g-code.
You can use g-code from many g-code generators not just the DevCad software.
One benefit is that it’s very easy to install and doesn’t require the Arduino IDE or Xloader
to load the firmware. It checks the controller board and will upload the correct version.
You can try it for free for up to 400 mm of total movement. Just enough to confirm your
hardware works OK before you purchase a licence.

Electronics Hardware

ARDUINO MEGA 2560/RAMPS and MKS


DRV8255/A4988 drivers
Before you install the driver chips you need to set the micro-stepping. Set this to ⅛ micro-stepping
for your foam cutter which gives us a little more torque than 1/16 or 1/32. Using higher than 1/8
can place extra workload on the Arduino or MKS
Place jumpers on pins MS1 and MS2 to give 1/8 steps. The MKS is the same except on my board
they are labelled M1 and M2
Line up the “enable” pin on the driver with your chosen board enable pin and push in carefully.

So before you start adjusting the current you need to know the voltage reference(VRef)
required for your stepper motors. This depends upon the current rating of your stepper
motor and the drivers you have chosen.
You should be able to find the current rating of your chosen stepper motor via a Google
search just type in your model. For example, a 17HS13-1334S has a current rating of
1.33A
Both these drivers can only handle a peak current of 2 Amps so my advice would be to
choose motors of around 1.5A or less mine are 0.9A
Please check the video to show how to set the current. This link takes you to the section
in the video https://youtu.be/0GPtbG_O5g0?t=779

Connect Stepper Motors


You will see pins labelled 2A2B1A1B in front of the driver, this is where you plug the cable for each
motor. One of the sets of pins has a double row on the RAMPS board just use any row; it doesn't
matter which one. Connect the other end of the cable to the motor.

Cooling Fan and Case


Don’t skip the cooling fan when using the onboard drivers because they do get hot.

I used a 60 mm 12 Volt DC fan to keep the drivers cool over the RAMPS board and two 40 mm 24
Volt fans for the MKS. These are easier to source in 24 Volt. I just wired in parallel to the
connection shown in the MKS connection picture above. Don’t use the socket with FAN printed on
the board; this won’t work. Please make sure you install these or you can overheat the drivers and
burn them out.

SKR Pico TMC2209 Drivers


The SKR Pico current is set in software via the settings tab with the $140-$143 press the
enter key each time otherwise the setting won’t be applied. The default value is 0.5 amp.
Make sure you don’t leave these values at 0.00 amps. Otherwise will supply full current to
the steppers and they get very hot. I had this happen during testing.
The maximum continuous current for the TMC2209 drivers is 2.0amps. When choosing a
stepper motor make sure you don’t exceed this. So this means NEMA17 are the best
choice. Most NEMA23 phase current is usually rated above 2.0amp.
For the foam cutter, you don’t need big powerful motors because a foam cutter with a hot
wire that is cutting well places very little load on the machine My stepper motors are rated
at 0.9 amps per phase and work well even at 0.5 amps
So look for the current per phase for your steppers and just go 20% below that. The setting
in the firmware is in milliamp hours e.g. 0.9 amps is 900 mAh
Microstepping is set via $150-$153 which I have set at 1/16th. This setting works well for
32-bit boards. A much nicer solution than moving jumpers and turning trim pots.
To help you set the driver current I’ve created a utility on the website where you enter the
current rating of your stepper motor and the drivers you are using and the correct VRef is
calculated for you. Check the link here

Power Supply
A standard 3d printer 12 Volt 240-300 Watt power supply will be more than adequate for
your build with any of the board. As you won’t be using any heated bead or hot end
extruder this has more than enough power for our needs.
For the MKS and SKR Pico boards, you can use a 24 Volt supply which can help if your
hot wire is longer than 1000mm or 39”.
Please be very careful when dealing with mains electricity and if you are unsure get
professional help

MKS Board External Drivers


You can use external drivers with these boards which provide connectors to take the step
and direction signals to external drivers.
Figure 4: MKS GEN L external drivers connctions
I ordered some 4 wire cables with a 4 pin HX 2.54mm JST Connector to plug on to the
external connector on the MKS. I then cut off the 6 pin connector and terminated the wires
with some ferrules. The TB6560 uses screw block connectors which work best with
ferrules. I’ll put a link in the parts list to the kit I ordered with ferrules and crimping pliers.

The connections are as the diagrams below


The process is very similar to the onboard drivers. Make sure the drivers can deliver the

current required for your chosen motors.


Most external drivers use DIP switches to set the current and other settings.

My NEMA23 motors are rated at 2.8 Amps so I set the current on the DIP switches to 2.6A
the next setting was 3A. The other switches are set to 1/8 micro-stepping and decay to
25% and stop current to 50%
I’ve used these settings on my old foam cutter with the parallel port and it worked perfectly
for many years
Please check your documentation if you are using a different driver. These settings
worked for my drivers but you may need to check your operation and adjust to suit.

TB6600 and DM542 External Drivers

On the TB6600 and the DM542, you will probably need to leave the EN- and EN+
disconnected. I don’t have these drivers but a couple of builders have confirmed this.
Mechanical Build
Plans
The plans are all PDF and have been developed in Auto Desk Fusion 360 3D modelling
software. I’ve made several modifications to the original design to save weight and make
it as simple as possible to build.

***IMPORTANT***
When printing the plans for Parts B, C, E, F, G, H, I, J and K make sure your printer
setting does not say “Fit to Page” or “Scale to Fit” or something very similar.
Otherwise, you won't be able to use them as templates for the hole positions. This
does not apply to Part A and D which are too big for a single sheet of A4 or Letter
size. You may not need to print these just use the sizes given.
The design incorporates ways to adjust the alignment of stepper motors with the threaded
drive rods. you need to ensure the rods and steppers are running as true as possible to
remove any unnecessary load on the steppers. This will be covered later.
Check your stepper motors as there is usually a raised section on the mounting end that
fits into the hole on Part E. It is usually 24mm but if not and 1mm to the size and make a
hole of that size. The hole on the drawing is 25 mm and 40mm for NEMA23 steppers

Metric to Inches
If you prefer to use inches then these are the conversion to use in this build. Justin Saenz
from the USA built the machine and used the following conversions for drill sizes.
4mm (motor screws) - 5/32”
6mm – 1/4"
8mm – 5/16"
10mm – 3/8"
25mm – 1" Forstner
3/8” Threaded rods can be used instead of 10×1.5 mm. The M10×5 mm flexible couplers
are 0.5 mm too big. Justin used some vinyl tape to make the difference up and says it
works well. More details can be found later using the 3/8” threaded rods in the calibration
section.
Drawer Slides
24” Drawer slides can be used instead of 600 mm
18” Drawer slides can be used instead of 450 mm

Axis Definition
The software you have installed on the Arduino 2560 uses XYZA for the axis letters. X and
A are horizontal and Y and Z vertical. This is important for our design software which
needs the correct letters assigned to generate the g-code. More on this later, depending
on the software there are a few ways to assign this.
I’ve had a few people contact me saying one of their axis isn’t moving on Mach3 and
LinuxCNC and it's usually their design software that doesn't match the controller axis
letters. So the g-code may refer to an axis letter that doesn’t exist, e.g. G01 X10 Y10 Z10
A10 and you don’t have an A axis. Most g-code software has the option to change the axis
letters.
Check my video How to Build a USB Hot Wire CNC Foam Cutter – Part 3 Mechanical
showing how I built mine

Horizontal Carriages X and A Axis


A cutting list is provided in the download of the plans.
Cut Parts A, B, C to the dimension and use the plan for Part B as a template to mark the
holes and drill out to the sizes shown. There are two templates for Part B depending on
the size of the stepper motor you are using. If you are going to use NEMA23 steppers use
the template Part B-NEMA23.
I recommend using cross dowels and barrel nuts which won’t tend to pull the fibres apart
on MDF as wood screws can. I’ve made a simple jig to get the holes for the cross dowels
in the right position. Check the video showing how I use this.
Joining Part A and B
Use Part B to mark the position for the cross dowel bolts on Part A. It should be centred
on one end of Part A. You can use the positions given in the drawing but I’d recommend
aligning Part B then marking the holes. You will find the barrel nuts protrude by about 1
mm on either side of the MDF.

Adding Triangular support pieces Part C


Don’t drill any holes in Part C yet just mark the positions. I like to put a small chamfer on
the corner just so it fits a little cleaner to Parts A and B.
1 Line up Part C centred on the holes on Part B hold in position and mark the hole
with a drill bit. Use the jig to drill the holes.

2 Attach Part C to B with a cross dowel bolt and barrel nut. Use a square to check
Part C is perpendicular to Part A.

3 With a pencil mark the outline and remove Part C

4 Using the small template on Part C drawing, align with the pencil marks and mark
the hole centre on Part A and drill to size on the drawing.

5 Refit Part C secure and check its perpendicular to Part A. From the underneath of
Part A drill through to Part C a few millimetres to get a good mark.

6 Remove Part C and using the jig drill the small and bigger hole.

7 Now you can refit Part C for the last time and secure the two cross dowel bolts and
barrel nuts. Repeat for the second support.

Finally, check that Part B is perpendicular to Part A

Attach the stepper motor to Part B using suitable screws and some flat washers. I’ve used
M3×20 screws with a flat and spring washer. If you are using NEMA23 steppers then
you'll need some 5 mm bolts and nuts. Check your motors to make sure the screws are
OK and don’t bottom out in the motor. If so you can add some more washers or shorten
the screws. The holes are drilled to 4 mm for NEMA17 and 6mm for NEMA23, so this
allows for a little adjustment. I would advise using spring washers to stop the screws or
nuts from coming loose. It’s worth every couple of months checking if the screws are still
tight.

Fitting the Drawer Slides


Align one of the 600 mm drawer slides 25 mm from the long edge and against Part C at
the stepper motor end. Secure with at least 3 screws. Do the same for the other 600mm
slide, but just use 2 screws initially and use one of the elongated holes in the slide. you
can use this to adjust it so it’s parallel to the other slide. When fitted the slides must be
parallel to each other.
The best way to do this is to use a vernier digital calliper and check the distance is the
same. If not, loosen the screw on the second slide and move it slightly. you’ll fit the final
screw in the slide when you attach Part G and ensure it runs smoothly
Now you have made that one you need another one. you can now move on to the vertical
carriages.

Vertical Carriages for Y and Z-Axis

These carriages have a few more parts and connect to the drawer slides on the horizontal
carriages you’ve just built. you will start with Part G and use this to mark the position of
some fixing screws on the drawer slides of Part A. It’s easier to do this first before you
have the vertical tower built on Part G

Attaching Part G to the horizontal drawer slides

1 Cut out Part G to the dimensions given in the plan and use the template to mark the
position of the holes. The 3 larger holes need to be recessed so the cross dowel
sits flush. See the picture below. The drawer slides will not sit flush on Part G if
there is no recess for the cross dowel socket heads.
I used a 15 mm Forstner Bit and drilled down 4 mm and then after that, I drilled the
6 mm hole all the way through
2 Make sure the drawer slides are fully closed on Part A and position Part G at the
end of the slide at the stepper motor end.

3 Mark through the smaller holes using a drill bit on the drawer slides. It may help to
put some masking tape onto the slides to see the drill marks easier.

4 Now on the drawer slides remove the top part of the slide, mark them first so they
go back in the same slide. There is usually a lever to push that releases the top part
of the slide.

5 Drill out the holes and then attach some 5mm pan head screws and secure them
with a nut. Some blue Loctite is best to stop the screw from coming undone.

6 Put the top part of the slide back in and make sure the screws don’t catch on the
bottom part of the slide.

7 On Part G you need to make a small recess for the nut on the drawer slide to fit into
so it is flush on Part G. Use a 10 mm drill and drill down 5mm.
8 Temporarily you will fit Part G to the slides with some nuts and washers and make
sure the slides run freely and it’s flush on the slides. If not adjust the drawer slide
with 2 screws in, this is very important to get good results from our foam cutter.
Now put the final screw in the drawer slide on Part A.

9 Mark Part G with the slides so it goes back the same way. Remove Part G from the
slides.
Attaching the 450 mm drawer slides to Part D

1 Cut out Part D to the dimensions given on the plan drawing and drill the holes in the
middle to the sizes and dimensions shown. These are used to attach the support
pieces Parts H and F later in the build.

2 Align the drawer slides to the bottom and long side edges and secure with 2 screws
initially in each slide.
3 Cut out Part I to the dimensions and use it as a template to mark the hole positions.
Drill the holes to the size specified on the drawing. I used some 6 mm nut inserts in
the 2 larger holes instead of T-nuts, but you can use them if you prefer.

4 Make sure the drawer slides are fully closed on Part D and position Part I at the end
of the slide where the top part of the slide doesn’t come out. Put some masking
tape on the slide to make it easier to see the drill bit marks. Make a mark on Part I
so it goes back on the same slide and drill to the dimensions.

5 Now on the drawer slides remove the top part of the slide, mark them first so they
go back in the same slide. There is usually a lever to push that releases the top
part.

6 Drill out the holes and then attach some 5mm pan head screws and secure them
with a nut. Some blue Loctite is best to stop the screw from coming undone.

7 Put the top part of the slide back in and make sure the screws don’t catch on the
bottom part of the slide.

8 you need to make a small recess on Part I for the nuts on the drawer slides to sit
flush on Part I as you did for Part G. Use a 10 mm drill and drill down 4 to 5 mm.
9 Temporarily you will fit Part I to the slides with some nuts and washers and make
sure the slides run freely and are flush on the slides. If not adjust the drawer slides,
this is very important to get good results from our foam cutter. Now put the 3rd screws in
the drawer slide on Part D.

10 Mark Part I and the slides so it goes back the same way. Remove Part I from the
slides on Part D. Remove the slides as you will need to drill some holes in Part D
that are quite close to the slides. It will help to keep dust and wood chipping out of
the slides.
Part H Support Strut

1 Cut out Part H to the dimensions given in the plan drawing and use the template to
drill the holes to the sizes and dimensions shown.

2 Position Part H on Part D so it’s flush with the bottom of Part D and aligned in the
centre

3 Mark the hole positions from Part D with a 6mm drill bit and then remove and use
the jig to drill the holes.

4 Attach to Part D and ensure its flush

Part G Attaching
1 Align Part G so it’s flush with the front edge of Part D and centred.

2 Mark the position of the 3 holes for the cross dowels with a 6 mm drill bit

3 Remove Part H and use the jig and drill the 6 mm and 10 mm holes.

4 Reattach Part H and then Part G and tighten.

Stepper Motor Mount – Part E

1 Lay the template over Part E. If you are using NEMA23 then use Part E-NEMA23.
Mark all the hole positions. There are 3 slots to allow the alignment of the threaded
rod.

2 Make the slots by drilling a hole as indicated at each end. You can drill more holes
in between and then use a small file to make the slot. Or you could use a fret saw
to cut out the slot and finish with a file.

3 Drill the stepper motor holes to the sizes shown for NEMA17 or NEMA23 Part E
plan
4 Position Part E centred on Part D check the video on how I did this, I used some
support pieces and clamps. Put a mark with a drill bit centred on the two slots. Use
the jig to drill the small and big holes on Part D

5 Attach Part E to Part D with cross dowels and make sure it’s centred and
perpendicular with Part D.

6 Cut out Part F to the dimensions shown. It may help to leave it square until the
holes have been drilled and then cut the angle after.
7 Position Part F so that it is supporting Part E and flush with Part D and clamp in
position. It should be aligned with the centre of the rear slot on Part E. Mark the
positions for the holes with a 6 mm and 8 mm drill bit and remove Part F. Drill the
holes with the jig. The 3 cross dowels in Part E don’t need to be fully tightened just
yet. Later you will check the alignment with the threaded rods and then tighten fully.

Parts I and J
These parts are used to attach the threaded rod to slides. Part J is 18 mm MDF because
the holes for the cross dowels are 8 mm to allow for alignment. If you used 12 mm MDF
here there would be very little material left. If you find the 18 MDF splits when drilling on
the end grain as I did use a piece of normal wood such as pine.

1 Attach the stepper motor to Part E using suitable screws and some flat washers.
I’ve used M3×20 screws with a flat and spring washer on the NEMA17 stepper. For
NEMA23 use 5 mm bolts and nuts. Check your motors to make sure the screws are
OK and don’t bottom out in the motor. If so you can add some more washers or
shorten the screws. The holes are drilled to 4mm or 6mm for the NEMA23 so this
allows for a little adjustment. I would advise using spring washers to stop the
screws or nuts from coming loose.

2 Cut out and drill the holes on Part J using the template and dimensions given.

3 Secure a 10 mm T-nut with a couple of small screws on Part J

4 Screw in the threaded rod on Part J and then place the other end into the flexible
coupler and attach Part I to the drawer slide using the 5 mm nuts and washers.

5 Attach Part J to Part I using some 6 mm T-nuts or nut inserts and bolts. you use the
movement to adjust the threaded rod alignment later.
Vertical Tower Threaded Rod Fitting and Alignment

You can use 8 mm lead screws instead of the M10 threaded rods, these are the same type
as used in many 3d printers. You will need the nut that goes with them as well. They are
often labelled T8 and usually have a 4 start thread. The steps/mm will need to be
recalculated. A good resource is https://blog.prusaprinters.org/calculator/ which you can
use as a starting point for steps/mm.
Some builders in the USA have said the 10 mm x 1.5 mm threaded rods are very
expensive and could they use 3/8-16 TPI, which are easily obtainable.
One builder Steve Henderson from the USA kindly updated me on his findings. I’ll quote
him word for word
“And to share with your other US customers who choose the 3/8" imperial threaded rod
(which is very inexpensive at Home Depot). The motor couplers are always metric and the
5×10mm are too sloppy for the 3/8 threaded rod. I bought additional 5×8mm couplers and
tap-threaded the 8 mm end to 3/8" thread. The 8mm hole is perfect pilot for the tap.
Threaded the rod to the coupler and the set screws hold tight. Perfect.”
Alignment is very important to ensure you don’t overload the stepper motors.
Using a digital calliper or combination square to check the distance the threaded rod is
from Part D. See the video on how I check this.
If the distances aren’t equal move the stepper motor mount backwards or forwards and
tighten the 3 cross dowels.
Now check the threaded rod is perpendicular to Part J and use the slack in the holes on
Part J to achieve this. Tighten the cross dowels.
The final check I do on the alignment is to turn the threaded rod by hand and feel for any
tight spots. It should move very freely with no binding. If you can move it easily then the
stepper motors won’t be stressed unduly.
Now you need to make the second vertical tower and it should go a little quicker now you
made one.
Joining the Horizontal and Vertical Carriages

1 Lift the vertical tower onto the drawer slides on Part A and secure it with the 5 mm
nuts and washers.
2 Check that it slides on Part A with no tight spots with the weight. If not you may
need to adjust them again
3 Cut out Parts K and use the plan template to mark the holes and drill to the sizes
given on the plan.
4 Attach a T-nut to one of the Part K's with two small screws and screw this on the
threaded rod.
5 Pass the threaded rod through the hole on Part H and then put another Part K on
the other side. Attach to the flexible coupler.

6 Using some 6 mm bolts, washers and lock nuts attach Parts K on either side of Part
H don’t fully tighten just yet but enough to grip on to Part H but allow it to move.
7 Now you need to align the threaded rod in the same way as you did above using
the digital callipers or a set square. Tighten the 6 mm bolts and lock nuts and
double-check the threaded rod turns easily by hand.
8 Now do the same for the other vertical tower and make sure they face each other.
9 Finally, check all the threaded rods move very easily. Turn each axis to its maximum
travel and check the threaded rods can be turned by hand easily. If there is any
binding it will be more noticeable at full travel. If so then adjust the alignment until
you can move them easily. Check at the home position as well after you’ve re-
adjusted.
Well done, you’ve now made a hot wire CNC foam cutter.

Electrical Wiring
Connecting Stepper Motors
The connecting wires that came with your motors are probably too short I’ve located the
controller near the X-axis carriage which means I can use the lead that came with the
stepper motor for this axis. you need to lengthen the lead for the other axis. The motors I
used are rated at 0.9 Amps so I need a wire that can handle that plus a little bit for safety.
For the wiring I used drag chains and Ethernet Cables which works well for the foam
cutter. If you are going to use limit switches or endstops make sure to use screened cable.

The Ethernet cables have 8 wires which I pair together. The cables are 24 AWG and my
NEMA17 stepper motors use the same wire gauge as well. So pairing them together will
be more than adequate. If you are going to use this method make sure you check the
current rating of your stepper motors first.
I use this method on my CNC router and the old foam cutter with NEMA23 motor rated at
2.8Amps and it always worked perfectly. Generally, the stepper motors will rarely use
more than 70% of the available current.
Connect the fan or fans to the board or power supply. Please note the MKS boards have a
socket labelled “FAN” this won’t work. It’s meant to be for a 3d printer extruder fan which is
controlled via the software. See the diagram earlier in the eBook.

Connecting NEMA23 Stepper Motors to the MKS


Board

There is a lot more wiring when you use external drivers with NEMA23 stepper motors. So
I decided to 3d print some mounts for the TB6560 drivers to securely mount them and
keep the wiring as neat as possible.
You will need to extend your stepper motor cables because there is quite a lot of travel on
a 4-axis foam cutter. I just used terminal blocks with ferrules on the cables. My stepper
motors use 24 AWG so make sure the cables you use are at least that size or bigger.
Connect the stepper motor as the diagram below and ensure you set the DIP switches to
suit the motor current and 1/8 micro-stepping.
Installing the Grbl Hot Wire
Software
Download the latest software from the download page on the website.

Make sure you are using the version from the website
Unzip the download and click setup.exe to run it. It should open the new application if all
is well once installed.
I usually run the g-code through the application without any foam and the wire switched off
just to make sure it does as I expect. DevCNC Foam has a very good 3D simulation
option which has saved me some mistakes in the past.

Configuration
After installing the software you need to configure the settings. The default settings will set
the foam cutter up as the build on this website. But before you start testing any movement,
move each axis away from the physical stops of the machine. Disconnect the motors first
as turning the motors by hand induces a current back to the board and could damage it. If
an axis goes in the wrong direction you could ruin a flexible coupler, trust me I've done it a
few times!
To change any setting click on the settings tab and you'll see a table with all the settings.
Each of the $ settings is a value you can change on the Arduino. A full list can be found
here on the GitHub page. Make sure you are connected to the Arduino before trying to
change a setting and press the return key after otherwise the settings are not applied.
** Don’t enable homing yet make sure $22=0 **

Checking Axis direction


A simple option if you do find an axis going the wrong way is just to reverse the 4 pin
connector on the RAMPS board. Many thanks to Jim H from Halifax, Nova Scotia for
pointing this one out.
Just tick the box on the axis that is going the wrong way and disconnect and reconnect.

Check my video here where I cover the correct procedure including homing direction

Steps/MM
$100-103 are the values for each axis step per millimetre. The default value is 1066 for 1/8
micro stepping with 10 mm x 1.5 mm pitch thread. If you are using different lead
screws/threaded rods then this will need recalculating. A good resource is here which has
a Steps per millimetre – lead-screw driven system, calculator.
If you are having trouble getting a 10×1.5 mm threaded rod then you can use 3/8-16 TPI
and set the Steps/MM to 1007 for 1/8 micro-stepping. I’ve had a few builders in the USA
that say 10×1.5 mm threaded rods are quite expensive.
Some builders have used T8 lead screws which can come in many forms. The example
below is for a T8 lead screw with a 2 mm pitch. Please check the specifications as some
lead screws can have multiple starts which alter the steps per mm. If you are unsure just
measure how far the drive nut moves in one revolution of the lead screw.

Lead Screw/Threaded Rod Steps per MM 1/8 micro-stepping

10 mm x 1.5 mm pitch Threaded Rod 1066

T8 Lead Screws 2 mm pitch 800

3/8-16 TPI Threaded Rod * 1007

* Please see this before purchasing flexible couplers for 3/8 Threaded rods.
If you are not using limit switches then that should be enough to get your machine working.
Do check the calibration afterwards. The video I made Part 2 Updated has the details on
how to do this. The link will take you to the correct place in the video.

Calibration
You need to check that our machine moves the correct distance when it receives the g-
codes. So if the g-code says move 50 mm you need to check it moves 50 mm. If not you
need to adjust the steps/mm in the settings page
The firmware has defaults which should be fine but may need some minor adjustments.
It’s good pratice to check it anyway

To check the calibration, place a steel rule on the X or A-axis (see pic) then make a pointer
that you can align on the rule. Set the pointer on say 300 mm and then in the Manual
Command dialogue box type G1 X100 F50 or G1 A100 F50 and check how far the pointer
has moved. If it's at 200 mm then that's correct. If not you need to adjust the steps/mm.
If you have limit switches set $20=0, $21=0 and $22=0 while you check the calibration
The website can now calculate this for you here
So if it moved to 205 mm on the rule and it moved 95 mm you divide 100/95 * 1066 =
1,122 you ignore the decimal part.
On the settings page, you can enter the new value for the X or A step/mm and retest the
calibration.

Homing/Limit Switches/End-Stop Configuration


Before starting this configuration make sure you have completed the section above.
Many problems with limit switches or end-stops can be attributed to not using screened
cables or providing some form of electrical isolation. Opto switches do this but require 3
wires to work, power, ground and signal.
Limit Switches Pins on the RAMPS board
I've only used the MIN switches on my foam cutter using the pin listed below with soft
limits enabled for the MAX travel. I had limit switches on my old machine for the maximum
travel but I never actually triggered them while cutting any foam. It also adds extra wiring.
So using MIN switches with soft limits gives the same result with less wiring.
By default, the limit switches must be wired between a ground and the following pins on
the Arduino board:

Axis Pin min Soft Limit

(X) D3 $130

(Y) D14 $131

(Z) D18 $132


(A) D49 $133
Limit Switch Pins on the MKS Gen L boards
SKR Pico Connections

Here's a quick summary of the settings to enable homing


Please read the full descriptions below as well
Setting Value Comment
$5 1 NC(normally closed)
$22 1 Enable Homing
5-25
$26 Debounce setting see below
milliseconds
$27 5-10mm Axis pull off
Soft Limits (if using 4 switches. Leave at 0 if
$20 1
you use 8 switches)

$21 1 Hard Limits

Check this
$23 Homing in the wrong direction
video
$130- Max
How far each axis can move used with $20
$133 Travel(mm)

Normally Closed Switches


The general consensus of opinion is to wire switches as NC(normally closed) and the
triggering breaks the connection. So you need to set $5 = 1, the limit switches operate in
"Normally closed" (NC) mode.
Enable Homing
To enable homing the $22 setting needs to change from 0 to 1 and it's a good idea to set
$27 to a small value say 5 or 10 mm. This pulls the axis off the switch after it has triggered.
If you leave it at 0 then you may get a false trigger.
Debounce
Sometimes you may need to change $26, the debounce setting. If you find you are getting
strange results then increasing this value may help. I had this problem when I first used
Mach3 with limit switches. Increasing this value fixed it. It's because the switches are not
triggered cleanly and this can cause problems.
Homing in the wrong direction
From software version 5.1 you can now use a simple checkbox on the settings page.
If you find the axis homes in the wrong direction then change $23. It uses the same table
as the axis direction invert mask above. So if you found X and A going the wrong way then
enter 9 in $23
Soft and Hard Limits
Soft limits is a safety feature to help prevent your machine from travelling too far and
beyond the limits of travel, crashing or breaking something. It works by knowing the
maximum travel limits for each axis and where Grbl is in machine coordinates.
Hard Limits is the same except you use a physical switch at the end of the axis
Only use these settings if you have Homing enabled with limit switches.
I only have 4 switches and have set soft limits to the max travel of vertical and horizontal
axes. Less wiring and I very rarely come anywhere near the maximum travel.
On my old machine I had 8 switches and I never once triggered the maximum travel
switches. But I did have some connection breaks which took some finding.
$130, $131, $132, $133 – [X, Y, Z, A] Max travel This sets the maximum travel for each
axis in mm. This is only useful if you have soft limits (and homing) enabled.
For Soft Limits using 4 switches set $20=1 and $21=1 and then $130-133 to your
maximum travel.
For Hard Limits using 8 switches Set $20=0 and $21=1 leave $130-133 set to 0.
That should get your homing with limit switches working. There are a few other settings
that can be adjusted for speed and acceleration. The default settings in the firmware works
well in my machine and are very similar to DevCNC Foam. If you need to change them do
so with caution as trying to run too fast can cause missed steps.
Gauthier has produced a very detailed wiki page on homing and limit switches so if you
are having issues not covered here please check his wiki page
https://github.com/fra589/grbl-Mega-5X/wiki/Limit-switches-and-homing

First Test Run


Before switching on, turn the threaded rods by hand until the vertical carriages are in the
middle of Part A, do the same on the vertical carriages until Part I is in the middle of the
tower. It’s a good idea to disconnect your motors while you are doing this because back
EMF can feed into the controller and damage it. This is so if you accidentally jog the axis
too far you won’t drive the rods into the stops and damage the couplers. I did this and had
to replace a few.
Connect the Arduino or MKS board to your computer and switch on your power supply.
You should find the stepper motors are locked and can’t be moved. Load the Grbl HotWire
program and connect to your controller board.

Use the jog buttons, check your axis moves OK, start with the 1 mm on the Distance panel
on the program and if it works then try the other distances. If it does, well done it’s a big
sense of achievement.
If not double-check your wiring if you did the bench mock-up test of the electronics then it
is most likely a loose or wrong connection.

Running the sample G-Code


From the plans, you have purchased or on the website, there are 2 sample g-code files.
The file clarky.nc is a simple airfoil for a straight wing. This is a good test for the new
machine which I suggest you use on some scrap foam. Don't put a large piece of foam in
yet it may take a few runs to get your hot wire temperature correct.

Hot Wire Tension


Spring Method
The simplest method is to attach the hot wire using a spring to keep the wire under
tension. It doesn’t need to be much and I suggest you run several tests first on some
scrap foam. Works well in most circumstances but can add too much tension for swept
wings. It your cut have very little sweep angle then this is a good choice.

Bow Method
Another option is to use a bow that is guided by the foam cutter and all the tension is in the
bow. This is a good option but you will need to support the bow and have enough room for
it. I now us the bow method which work well and avoids any tension on the carriages. I’ve
had the odd occasion when the wire has snapped because the carriages were cutting a
swept wing. Too much tension on the wire.
Types of foam
I use polystyrene and XPS foam designs. It’s readily available at most DIY stores and cuts
well with the foam cutter.
XPS foam is denser and cuts well and sands easily. I’ve used this on several of my builds.
When sanding the dust particles can be an irritant, so wear a mask and have good
ventilation.
EPP foam is a popular choice for commercial models, especially flying wings. But as yet I
have never used it on the foam cutter. It’s not easy to source at a reasonable cost in the
UK so that's another reason why I haven’t tried it yet.
Adding strength to foam
My favourite method is to place a carbon spar usually 3-5mm in diameter in the wing or
fuselage and then cover it in brown paper and PVA glue. The spar holes or slots in the
foam can be designed by some of the g-code generation software. But quite often I will
use a Dremel with a tiling attachment as in the picture below.
The brown paper and PVA glue method will make a very strong wing, you’ll be surprised.
Check my YouTube channel for a video where I show the whole process. Make sure to
cover both sides of the wing at the same time. Otherwise, you can end up with a warped
wing.
After the wing has dried you can fill and sand any areas that need it. I then use a sanding
sealer or non-shrinking dope to give a hard finish, usually a couple of coats. For final
finishing, I sometimes cover with Solar Film or paint the wing. Solvent-based paints
should be OK now it's covered but be careful around any exposed area like the wingtips.
The wing below was finished in automotive white spray paint and then 3d printed parts
were added. It files fantastic
Foam placement
I place the foam to be cut on a couple of pieces of foam to raise it up. It would be difficult
to start a very low cut. I use small weights and sometimes double-sided sticky tape to hold
the foam in place. Use the jog buttons to align the hot wire with the edge of the foam then
zero all the axis.
When cutting wings or fuselages that are not straight then it’s important to place the foam
in the position specified by the g-code generation software. Quite often this will be in the
centre of the machine. If you don’t do this then the part can be smaller or bigger than you
expected. I have a cross-hair laser level that I align with the centre marks of the carriage
width. This gives a very accurate posistion.
Sometimes the software will tell how far the foam has to be from the hot wire to allow the
sweep angle to be reached. I usually allow some extra foam just in case I’m not quite in
the right position. So if the foam block need to be 500 mm x 200 mm I will generally add
10-20 mm to the width so 500×220

The Hot Wire


Now you come to the reason you built this machine in the first place, to control the hot wire
accurately.
After several years of foam cutting trying different wires and speeds, I’ve now settled on
using very thin wire I was using Nichrome wire with a diameter of 0.4 mm equivalent to 22-
24 AWG. But after recently receiving the Hobbild 5 axis CNC controller I’m using even
thinner wire of 0.21mm or 32 AWG wire. This works very well
I did to use my iCharger to power the wire which has a foam cutting setting. But I spent
some time working on the Hot Wire control in the older software and it worked well.
With latest software the current to the wire and feed rate can be adjusted while the job is
running. You want to aim for a small kerf (the bit thats melted) wihtout the wire dragging.
See further down on how to get a good keft value.
Don’t expect to get perfect cuts straight away. I still make many test cuts before I commit
a good piece of foam. I’m always on the lookout for scrap foam for testing and keep any
useful foam packaging for that purpose

How to get a good Kerf value


What is the Kerf? Kerf is defined as the width of material that is removed by a cutting
process. So in our case, it’s the amount of foam melted by the hot wire.
To get accurate parts you need to know how much foam is melted away by the hot wire.
So before you can ascertain that you need to run some tests on scrap foam and find
settings that will give a good cut so you only melt the minimal amount of foam without the
wire dragging.
This will take a few tests with different settings. I usually leave the feed rate at 120
mm/minute and adjust the slider to around 20% and then use the override buttons to
increase or decrease the current to the wire while the job is running.
Once you have setting for our foam you can run some kerf tests. On the website, there is a
piece of g-code called kerf-test in the downloads section that will make 5 cuts in a piece of
foam.
I suggest you use a piece of foam 100 mm in length and 80 mm in height. The width can

be any length. I just used the size of the foam I purchased which was 50 mm.
Before you start, measure the foam as in the diagram above at “A”.
Place the foam on the foam cutter and jog the axes to very near where the foam block
bottom corner starts. Zero all the axes
Now load the g-code and switch on the hot wire, give it 20-30 seconds to reach its
temperature and run the g-code
When the g-code has finished cut the foam as in the diagram above so you have 6 pieces.
Put them together and measure the size “B”. Subtract this from the original size and divide
by 5 and that should give you a good value for the kerf setting.
If you are using free software that doesn’t have a kerf setting then you can add this value
to the length of the root and tip. Although this won’t be as accurate as software that has
options for setting the kerf it will get you close.
For wings where the root and tip have big differences in size, you will need to add a bigger
kerf value for the tip. DevWing Foam 2 has a Smart Kerf option that can calculate this
based on the wing dimensions.
Other ways to power the hot wire
Some Lipo battery chargers have a foam cut option that can be used. I did use my
iCharger 206B set between 2-4 amps depending on the type of foam. Now I use the D8
connection from the board, which works well.
Some builders use bench power supplies where they can adjust voltage and current to get
good results. Usually, they have machines with a long hot wire and it can be a struggle for
the 12 Volts from the RAMPS board to heat the wire. Up to about 1meter or 39 inches with
0.4 mm Nichrome wire is about the limit with 12 volts

The length and type of wire will also affect the current required so please do some tests.

The default feed rate of 120 mm per min configured in DevWing Foam 2 and DevFus
Foam works well and I just vary the power and kerf values to get a good cut. If you see
the hot wire dragging on the foam increase the power a little but not too much. The hot
wire should look straight when cutting.
Software to generate g-code
Now you have your machine up and running you’re probably wondering how to generate
the g-code.
Before you build your machine try to use the free programs and the demo’s of the paid
programs to generate the g-code for your intended designs.
Check the website here and a video I made (warning about 2 hours long) showing the
options for the g-code generation with some test cuts and recommendations based on
your needs.
This will help you cost out your build. Nothing more frustrating to build a great machine
that can’t make what you want.
Once your machine is built and working you’ll spend most of your time in software. I’ve had
a few builders spend lots of money on hardware and then try to use the free programs to
generate their designs. Which may or may not work. So please check the software before
building your machine. There aren’t that many programs available for CNC foam cutting
with it being a bit of a niche hobby.
The free programs are not as comprehensive as the paid versions but I do suggest starting
with these first for simple projects. It will also give you some good practice on simple
designs.
My recommendation would be to start with Wing G-code or Wing Designer and then as
you need more features upgrade to DevWing Foam. I don’t recommend Jedicut any-more
because it is not very easy to use and it's the one piece of software I get most questions
about. So that tells you something.
G-code generation software comparison
Wing G- Wing Wire Wing Jedicut DevWing
code Designer Foam2

DAT Files Y Y Y Y Y
DXF Import* N N N Y Y

Wing plan from N N N N Y


image
Kerf Settings N Y N Y Y

Wash-Out Y Y Y Y Y

Dihedral N N Y N Y

Spars N N Y Y Y
Ailerons N N Y N Y
Trailing-Edge Y Y N N Y
Thickness

Lightening N N N N Y
Holes
Rotate N N N N Y
Planform
G93 N N N N Y
Cutting N N Y Y Y
Simulation**

Free Y Y Y Y N ***
Windows Y Y Y Y Y
Mac Y Y Y N N
Linux Y Y Y N N

*Jedicut won’t work with all DXF formats see my post here explaining the issues. DevWing
Foam will import a DXF file for the wing plan but treats it as an image.
** You can use DevSim CNC Foam to preview the cutting of all the software here except
Jedicut which has its own.
*** DevCad who make DevWing Foam 2 as of Feb 2022 have introduced a trial of the
software. Which should give you a good opportunity to test it capabilities.
G93 is a feed mode that can help when the root and tip aerofoils are much different in size.
DevCad software uses this as the default for all G-codes. It does make the foam cuts more
consistent. Below are the options I’ve used to make all my foam projects.
I use DevWing Foam 2 to design my wings which is very good but not free. Check my
playlist here. This superseded Profili2 Pro http://www.profili2.com/ which I made many
wings with.
DevWing Foam 2 is a very comprehensive program and has many more options than
Profili2.
DevFus Foam will generate the g-code to produce the fuselage sections. Both are
available in Demo versions that are fully working apart from not being able to save the g-
code. www.devcad.com See my Hawker Hurricane build on the website
Once you become more proficient and start to want to add spars, washout, dihedral and
other options then DevWing Foam and DevFus Foam are in my opinion the best tools for
the job. You can also export to DXF and print. There is even an option to generate g-code
for a 3 axis CNC router for wing ribs and former's.
If you’ve managed to build a Hot-Wire CNC machine I hope this eBook and plan if you
purchased it has helped. Please let me know how your build went and anything else that
may be useful to add to this eBook. If you need any further information or help please feel
free to contact me, always glad to help fellow enthusiasts.
Fusion 360 for foam cutting – Parallel cuts only
Fusion 360 is a 3d modelling software application that you can design and generate g-
code for CNC machines. It’s free to use for the hobbyist with some restrictions which I’ve
never found a problem with.
For some time I've been wondering if I could use Fusion 360 to generate g-code for a 4
axis hot wire foam cutting. Unfortunately, AutoDesk doesn't include foam cutting in the
Manufacturing section. I've had a request in the AutoDesk forum for several years but
never received any response from them.

Fuselage g-code was generated with Fusion 360

Parallel Cuts Only

So is there any way to use Fusion for foam cutters? After some pondering, I thought if I
just copy the X and Y axis on a 3 axis router type cut to the A and Z. I could use the cutting
option in the manufacture section to generate g-code. The original Z-axis would just be
ignored.

If you are fairly handy with a text editor search and replace functions you could do this to
the g-code generated from Fusion. I did try this and it does work but is prone to fat finger
mistakes.

The cuts produced are just parallel cuts, so the A and Z just follow the X and Y path, but
this will still be useful for some foam cutting jobs. So to reduce the fat finger mistakes you
need a post processor which I will explain in the next section

Post Processor

In the

Fusion 360 Manufacture section, you can create tool paths from the geometry you have
designed. Although g-code is pretty much universal across different CNC machines, not all
g-codes are implemented. A lot of m-codes are very much dependent on the type of
machine.
So the job of the post-processor is to make sure the codes are correct for your machine.
That's probably oversimplified but hopefully, you can see why you need them.
Fortunately, AutoDesk who make Fusion 360 has made these available to customize.
Many more can be downloaded from the HSM library, and you can even import your own.
For foam cutting, I've modified the Grbl Laser post-processor to copy the X and Y axis to A
and Z. It will also move the wire to the 0,0 position for the X and U axis. This makes sure
the wire comes out of the foam and doesn't just stop and the end of the cut.
The post-processor can be downloaded from here. The video explains how to load the
post-processor.
It isn’t clever

What do I mean by that? Because you are using 3 axis geometry to create tools paths and
converting it to 4 axes in the post-processor you have to imagine how the hot wire will
travel. Unlike a 3 axis machine which can retract its Z-axis up and out of the material, you
can't do that with a hot wire. So you need to plan our geometry knowing where the hot wire
is and how it will travel. Extra sketch lines may be required that are not part of the model
to bring the wire in and out of the foam.
You can see an extra 10mm line at the front of the fuselage to start the wire and end its
travel on the video. Running lots of simulations with Fusion 360 and DevSim CNC foam is
a must before you commit any foam.
Simulation is a must
Before you try any g-code on your foam cutter you must simulate Fusion 360 and after that
the free DevSim CNC Foam application. You need to ensure the wire follows the path you
expect. You may need to add extra helper sketch lines to do that.
The Fusion 360 simulation will show the paths are taken by the tool(hot wire) but still
thinks it's 3 axis. Once you post the g-code then the post-processor will convert it to 4
axis. That's why it's important to check it with DevSim CNC Foam after the conversion.
Using the 4 axis post-processor
I've made a video series that shows how to use this. So please watch them a couple of
times before you begin. Part 1 shows how to install and use the post-processor. Part 2
shows how I make a Piper L4 Grasshopper fuselage in two parts, very similar to the
FliteTest Bushwacker. Part 3 shows the foam cutter making the parts.
Use with caution
Please use this post-processor will extreme caution. I have tested it on my machine and it
works well with my simple fuselage design. You could damage your machine if you don't
run the simulations. As I have said it's very basic and not clever but if used with these
limitations in mind it could be very useful. If you are looking for something much better
than this then try Dev Foam. I haven't used Dev Foam but have used the RC aeroplane
specific versions DevWing Foam and DevFus Foam. I have tutorials on these as well on
the website.

Videos
I have several videos on YouTube all related to CNC foam cutting and other related technologies
please check them out. https://www.youtube.com/user/khowlette
Hot Wire CNC FAQ
I get quite a few questions from users all over the world, most asking very similar
questions so I thought I'd answer the most common here.
I also have a video answering most questions, here's a link https://youtu.be/yzCKXei0pLU

How do I design a wing?


I usually just search the internet for a drawing or image of the plane. Try searching for a 3
view drawing like this http://users.tpg.com.au/gmustang/docs/3-View.html
The next step depends on the software you use. DevWing Foam 2 can use the image and
you can scale and trace the outline. Have a look at my video here which shows the
process. https://www.youtube.com/watch?v=pjx6_OrfhVQ&t=1541s
If you don't have DevWing Foam 2, you can use other software to import the image and
get the dimensions. This video here I made several years ago shows how to use a CAD
program to scale and get the dimensions https://youtu.be/YuCkEB2kIkM?t=77
Once you have the dimension you need to decide which airfoil you are going to use. Using
the same as the real aircraft doesn't always work well with scaled models. I only use a
couple and for all my scale models I use the Clark-y which works well.
You can then use some g-code generation software like DevWing Foam 2 or one of the
free ones to create the g-code.

What’s the biggest size wing I can cut?


The two carriages are independent so can be spaced quite far apart so for straight wings
this isn’t a limit. The issue you will have is that the hot wire will be much longer and will
take more current to heat up and will be prone to more vibration which can make for a poor
finish.
Tapered wings are a bit more challenging as one of the carriages will have to travel more.
Profili2 Pro and DevWing Foam have an option to rotate the wing so the leading or trailing
edge is parallel to the hot wire to reduce the amount of travel. But afterwards, you will
need to cut the root and tip to the correct angle. I usually create a full-size plan on brown
paper and use this to get the angles correct.

What type of foam do I use?


I mainly use white or black polystyrene foam. XPS foam is denser and sands well but the
dust can be an irritant. Use a mask and have good ventilation. I haven’t used EPP
because it’s not easy to source at a reasonable cost in the UK.

What type of hot wire do I use?


I’ve tried several different types including MIG welding wire and guitar strings but the best
results I get are with very thin Nichrome wire about 0.21 - 0.4 mm. It needs less power
and the amount melted is very small which helps in calculating the kerf value. This is used
in the software to allow for the amount of foam to melt away. With the wire being very thin
and you haven’t got the kerf value right it doesn’t make too much of an impact on your
design

How do I cover foam wings or fuselages


I’ve had this question several times and if you are new to foam building then you may be
wondering how to do this.
There are several methods but I only use two which I’ve found to be very good and easy to
apply and very strong.
Before you cover a wing make sure you have some sort of spar installed to add extra
strength. I usually use carbon tubes or on some bigger models, I use aluminium tubes.
Depending on your design software you may be able to design the spar hole or slot as part
of the cutting process. You can also use a Dremel with a tile attachment against a straight
edge to create a slot. I use this on smaller wings.
For wings, I always use brown paper and PVA glue diluted 50/50 with water. It’s just like
hanging wallpaper but on a wing. I have a very popular video on YouTube. So rather than
describe it here this video shows the whole process https://youtu.be/3rdbUe-WEk0
This makes an incredibly strong wing but one word of warning. If you cover a wing with this
process make sure you cover both sides at the same time. If you let one dry and apply the
other later the wing will be warped.
The other method I have used on fuselages is fibre-glass cloth and Poly-C. This is like
epoxy but much easier to use. It gives a very smooth finish. I covered my Hawker
Hurricane fuselage with this method and used brown paper and PVA glue for the wings. It’s
the picture at the beginning of this eBook. I have some video showing the process here
https://youtu.be/hJ7SrAIasx4

There are other methods such as skinning with balsa or similar woods and using vacuum
bagging but I’ve never used these as my methods described above have always worked
well for me.
Appendix
Using Marlin 3d Printer
Firmware
It needed several changes before it was usable on 4 axis foam cutting.
I’ve received a great deal of help from a GitHub member called DerAndere. I would have
really struggled without his help and would probably have given up. Many thanks.
To make configuration changes you need to be quite familiar with compiling firmware for
3d printers. Some settings can be changed through the LCD.
If compiling firmware seems a bit daunting to you then I would encourage you to use the
Windows-based software with the pre-compiled firmware.
It isn’t difficult to compile the firmware and there are many good tutorials online. But if
things go wrong it can be very frustrating and time-consuming.

Pros and Cons using Marlin Firmware for CNC foam cutting
Pros

 No PC required.

 It may be possible to run on 32-bit control boards.

Cons

 G93 feed mode not supported. Good for more complex designs.

 Aligning wire to foam before a cut takes a lot longer.

 Must use axes XYUV

Hardware requirements
So far I have tested this on the Arduino Mega 2560 with a RAMPS board. As yet I haven’t
tried the MKS Gen L board. But it should work as the MKS Gen L is just the same but
combined into one board.
You will also need an LCD display 12864 with an integrated card reader as well as the
parts for Grbl build. Here’s LCD I used https://bit.ly/3puo0hc

Software required to compile and upload the firmware


The firmware uses Marlin 2.0.9.3 with several configuration changes to suit the foam
cutter.
To compile the firmware you will need Visual Studio Code with Platform IO and Marlin
extensions. Here is a good video showing how to install these.
https://www.youtube.com/watch?v=eq_ygvHF29I&t=304s

I won’t cover installing software because there are already several good sources for this.
The software will run on Windows, Mac and Linux. I used Windows 10.

Compiling the firmware


Download the source code from https://github.com/rcKeith/Marlin and save it to a suitable
location on your computer.

Extract the files from the zip file and then from the File menu in Visual Studio Code
select Open Folder and select Marlin in the extracted files and your screen should look
like the image below.
Make sure Visual Studio Code looks like the screenshot below with the PlatformIO and
Marlin extension
Building the firmware
First, you’ll build the firmware just to make sure you have no errors and upload it in a later
step.

Click on the Marlin icon on the sidebar and then the hammer icon

Click the Build button next to the mega2560


If you get any errors try building again sometimes it needs to download additional libraries
which can cause an error. If you still get errors then look at the first in the terminal window
most that follow are related to that error. Quite often if you have altered the code it may be
just a simple typo or missing semi-colon.

Once you have a build with no errors then plug in your control board and click Upload. This
will detect the correct USB port and upload the hex file and then read it back to verify it
was a good upload.

Drivers and Connections


The drivers need to go in sockets X, Y, E0 and E1 don’t use Z. Make sure to align the
enable pin on the driver with enable on the RAMPS or MKS board. The driver will be
destroyed if you don’t.
The pin outs shown above for the RAMPS board are also used for the MKS Gen L boards.
The pin numbers are the same in both. On the MKS board use the same driver location as
above leaving the Z socket empty

The rest of the foam cutter build is the same as the Windows version so please use the
eBook, videos and posts on the website.

When you have the machine built then the configuration and checks are a little different
using the LCD.

Configuration
The firmware has been configured to use the same setting used in the Grbl Mega 5X as
much as possible. During my testing, they worked very well on my machine. If you use the
same design then the firmware should not need any changes.
Checking Axis direction
From the menu select Motion and Select each axis. Select the 1mm option and move the
dial in the positive direction from 0.00 to +1.00 mm. X and U should move forward and Y
and V should go up.
If you find an axis goes the wrong way the simplest option is to reverse the stepper motor
cable on the RAMPS or MKS board. This will change the direction. If this isn’t possible
then you will need to change the code as shown below.

To change the direction in the firmware you will need to edit Configuration. h around line
1404 and re-compile and upload. Internally the U axis is referred to as I and the V axis as
J

Toggle true or false to reverse the direction


Homing
The firmware is configured to use 4 end-stops with the pinout show below. Please note pin
D42 is a signal pin, the pin next to it is D43 and not a ground pin. Use a spare ground pin
where the other end stops pins are located

This is the only configuration I have tested and works without any issues on my machine. If
you have issues then you will need to change the code as below if a homing direction is
reversed

Checking Calibration
Once your axes are moving correctly the next thing to do is check the calibration. you need
to make sure that when a g-code is received for an axis to move a specific distance it
does. To check this place a rule and make a pointer. I just used a paper clip attached to a
nut on the carriage as below.
The bigger the distance you can check the more accurate the results will be. Set the
pointer on say 300 mm and then in the Move menu select 10 mm and rotate the knob to
100 mm. There is a 100 mm option but if you turn it too quickly you may move beyond
your machine limits.

Check how far the pointer has moved. If it has moved to the 200 mm mark on the steel
rule then that’s correct. If not you need to adjust the steps/mm.
The steps/mm can be adjusted from the LCD menu under Configuration ->Advanced
Settings
If for example it only moved 98 mm then you need to calculate a new value for the steps
per millimetre. Use the the website form here https://rckeith.co.uk/calibrating-the-hot-wire-
cnc-foam-cutter/ to calculate the new value.

So in our example where it only moved 98 mm the new value would be 1088. Select the
axis in the menu on the LCD screen and adjust the value with the rotary knob. Then run
the calibration check again and rerun the check again if necessary. If it’s now correct you
need to store the settings on the board. From the Configuration Menu select Store
Settings.

The steps per millimetre should be the same for all axes. It may be worth checking them
all just to be sure.

Testing the Hot Wire


I use a nichrome wire of 0.4 mm in diameter. This works very well for me on both the
RAMPS board at 12 Volts and the MKS at 24 volts. If you are going to place the carriages
more than 1000 mm apart then the 12 volts RAMPS will not provide enough power. Use an
MKS Gen L board with a 24 Volt power supply.
You will need to experiment with the ideal settings. Type of foam, wire and carriage
distance all have an impact on the percentage used in the menu for Hot Wire Pwr:

Test with some scarp foam just by holding against the wire. It should melt easily but not
leave a large kerf(the amount melted away). It’s a bit trial and error but worth running
some tests.

Dry Run
Use the g-code from the website here https://rckeith.co.uk/download/clark-y-test-file-for-
marlin-firmware-xyuv-axes/ run the machine without any foam and with the hot wire the
turned off.

Load the file onto an SD card and insert it into the LCD slot. From the main menu
select Cut from Media and confirm. You may find it runs too fast and misses steps or is too
slow. You can adjust the acceleration and velocity in the Advanced menu.

First Cut
If your dry run is good then now it’s time to test with some foam. Set your hot wire on from
the menu and run the file again. Make sure the wire isn’t dragging on the foam which
usually indicates too fast a feed rate or the wire isn’t hot enough. If all is well yours should
look like the image below.

You might also like