You’ve built your 4 axes CNC Foam Cutter and now you need some software to generate and send the g-code for your foam wing or fuselage. If you can afford it then buying software may be the way to go, but expect to pay up to $175/200 for Mach3/4, €60 DevCNC Foam and DevWing Foam 2 is €125.
These are very good and I use all of them. DevCNC Foam and DevWing Foam 2 are my preferred options but do take some time to learn. I have full tutorials on all of these on the site and YouTube
But your probably here because you’ve just built your machine and want to try the free alternatives first. So what software is available to make that foam wing for free?
What free software can we use?
- LinuxCNC – for sending the g-codes needs a parallel port computer to be cost-effective.
- GRBL HotWire Controller – sending g-codes via USB
- Wing Cutter in G-code – generates the g-code for simple wings
- Jedicut – generates the g-code for wings has a few more options
- WingWire | 4 axis g-code freeware – generates the g-code for wings
I’ll link you to the post for the options above as the remainder of this article mainly focuses on LinuxCNC.
LinuxCNC software configuration for 4 axis foam cutters
I have an article on this site on how to install and configure LinuxCNC for CNC routing. http://www.rckeith.co.uk/free-linuxcnc-openbuilds-ox-router/ I would encourage you to read this first. The only real differences are in the configuration files, all the steps up to “Stepconf for TB6560 Motion Controller” are the same for the foam cutter. Read as far as that and then come back here.
My hotwire machine has been running for several years on the TB6560 controller and NEMA23 steppers and been very reliable. As a hobbyist is not in full-time operation but I have run it for several hours in one session without any issues.
The reason I mention this is that the cheap Chinese boards come in for a lot of bad press but I can’t fault mine. If you’re looking at this post your probably trying to avoid spending a lot of money on software as well, such as Mach3 at $175. You can if you follow this article get foam wing cores and many other designs all using free software. Read on to find out how.
If you want to build a hot wire CNC machine then check out my build page with an eBook and parts list. http://www.rckeith.co.uk/cnc-hot-wire-foam-cutter/ I also now have a USB option here https://www.rckeith.co.uk/how-to-build-a-usb-cnc-hot-wire-foam-cutter/ but this doesn’t work with LinuxCNC it uses 3d printer electronics and the GRBL HotWire Controller.
LinuxCNC stepper configuration
My configuration is based on the TB6560 all in one board but should work on many others, but the pin assignments on the parallel port may be different, so check your documentation.
If you don’t want to use the parallel port or your machine doesn’t have one, then the most cost-effective way to do this with a PCI Parallel Port card.
I’m also using home and limit switches and an E-stop for safety. It took me some time testing to get working, but it works now with all axis going in the right direction and home and limit switches triggering. My home and limits are wired in series so it only needs 1 pin. You can wire separately and the will home altogether but that means using more input pins and wiring.
LinuxCNC has a foam option that can be specified in the configuration. The display then shows a 4 axis foam cutter, which is very good. The only caveat with this is that your axes must be named XYUV and not XYZA. Later we add the option foam =1 to the ini file that’s created by stepconf and some other setting.
Initially, you can use the Stepconf wizard but after that, we need to make a few changes to the ini file created by the wizard. If you re-run the wizard it removes the entries. More details later.
Step 1 create a new configuration
We start off using the stepconf wizard to get the initial settings, but then we need to edit the ini files in our config folder to add the necessary setting for a foam cutter
Give your machine a name I’ve called mine foam-cutter, but you can name it anything you like. Set Axis configuration to XYZA (we change to XYUV later) and machine units to your preferred units. My settings are based on millimetres MM. Enter your Base Period Max Jitter. My post linked above shows how to get this figure and I have a video on YouTube https://youtu.be/F4xHCwtaS3w that show the process. Don’t guess this figure or your machine may not work very well or not at all.
Step 2 Parallel port config for TB6560
This if for a Chinese 4 axis TB6560 often called the blue board, like the ones below from Amazon. If you are using something else then check your documentation
|1||4 Axis TB6560 Controller Board||Amazon US
|1||4 Axis TB6560 Controller Board |
All in one with power supply.
Drivers all on one board usually cheaper
Set the pins as below. If you’re not using home and limit switches then set pin 10 to unused.
Step 3 Axis Configuration
I’m using 10mm x 1.5 pitch threaded rod for the lead screws and have found that Maximum Velocity set at 4.5 works well, any higher and steps get missed. But using the Test this axis button you can fine-tune your settings.
My machine has an X and U travel of 600mm and a V and Y of 300mm. Set the dimension to suit your machine.
The settings below should be a good basis to get your machine working but you may need to fine-tune when testing your axis.
Set the Y-axis
The Z-axis will become the U axis
The A-axis in the stepconf wizard assumes you are using a rotary axis, but just ignore the deg labels and set as below. We will amend the config file to change it to a linear axis later. This becomes the U axis.
Now we are done with the stepconf wizard. and you should have a launcher and a folder with your config.
Editing the ini files for foam cutting
I’ll include my ini files which you can download and use. Use a text editor, MousePad is the LinuxCNC default applications for this and works fine.
On the desktop, you should have an icon that corresponds to your machine name
I called mine foam-cutter, so open this folder and double-click on foam-cutter.ini. Make a copy first just in case you need to go back.
Add the following lines to the [DISPALY] section
FOAM = 1 GEOMETRY = XY;UV OPEN_FILE = ./foam.ngc
Find the [TRAJ] section add change to this:
AXES = 9 COORDINATES = X Y U V
Seems odd to have 9 Axes in this but its to do with the way the axes are referenced
Now change Axis 2 and 3 to 6 and 7
Change [AXIS_2] to [AXIS_6] Change [AXIS_3] to [AXIS_7]
Change Axis 7 to Linear
[AXIS_7] TYPE = LINEAR
Save this file
Now we need to make a couple of changes to the foam-cutter.hal. Once again make a copy and change as below. Use Find and Replace in the editor, Usually called MousePad in LinuxCNC
Change [AXIS_2] to [AXIS_6] Change [AXIS_3] to [AXIS_7] Change axis.2. to axis.6. Change axis.3. to axis.7.
Save your file.
Now you should be able to launch your configuration. Double click on the Launch Foam Cutter or you can use the Config Picker from the CNC menu.
Image below shows how it should look with a g-code file loaded in.
If you plan to cut wings that have are large sweep angle, so the root is much bigger than the tip then I advise you to use Jedicut to generate the g-code. With David’s software LinuxCNC only calculates the feed on the XY so when to try to cut the opposite wing with the root on the UV inside it causes this axis to run very fast and ruin the foam.
I’ve just discovered this issue in building a BAE Hawk wing. If you can afford DevWing Foam 2 then this the best option as it uses a G93 g-code to compensate for this and LinuxCNC works fine with this option. Mach3 seems to compensate for this and my g-code for the right-wing came out perfectly.
This g-code was generated by Wing Cutter in Gcode from http://swarfer.co.za/rc/wire/ It uses a Clark-y airfoil and has a root chord of 250mm. This can be loaded into LinuxCNC and you should see a similar image to the one above.
You may have to experiment with current and feed for your hot wire. I use very thin Ni-Chrome wire about 0.4mm and the iCharger 206B with a foam cut option. All the iChargers have this option and you can you most chargers with a NiCad mode. Start at around 2 Amps and then adjust until you get a good cut without the wire dragging or burning away to much foam.
Here is the video showing all the steps above.
My foam cutting playlist including Jedicut
Using free CNC software to make foam wings is really quite easy but I still use Mach3 sometimes just to keep my hand in. The Axis display for foam cutting on LinuxCNC is very good and in my opinion much better. I have upgraded to DevWing Foam2 for generating g-code, it’s not free but well worth the money in my opinion.