An oldies journey into CNC.

Hai-Lee

Old and Bold RC PILOT
This thread will be spread over a long time period and is aimed to hopefully explain the individual steps that I took and the software packages I used to get a CNC cutter built and fully functional. Whilst I will be using a couple of the FT designs as examples it is just to use a resource that is free to all forum users so that they can replicate my journey should they decide to. Another reason for the time anticipated it is due entirely to my lack of finances and so monetary expenditure steps will require a pause before being effected, (Sorry about that but it is what it is).

My setup;

3D printer: Tronxy Educational
Recommended:NO
Cost in AUD: $200 plus mods T.B.A.

3D printer software: Repetier Host
Recommended: Yes, (adequate and simple)
Cost in AUD: Free (Bundled with printer)

Slicer: Cura
Recommended: Yes
Cost in AUD: Free (Bundled with printer)

PDF to SVG conversion: Inkscape
Recommended: YES, (and its FREE!!!)
Cost in AUD: FREE

3D modelling software T.B.A.
CNC machine design T.B.A.
Cutter head T.B.A.

A while ago, about 3 months ago I finally was convinced that if I am wanting to build LOTS and LOTS of planes without developing some serious physical injury I should look at automating the process. I had been watching the "Cutting foam sheets with a needle thread", (a great and informative thread). I recommend that anyone interested in using a CNC machine to cut out their creations to read it fully, (a couple of times at least).

Anyway the decision was made and I had little or no experience with CNC or the often mentioned software packages that are used in making the design available and understandable by the CNC machine. As most of the effort of assembly, (or gathering the parts on the parts list required a lot of money to get other peoples work delivered to the other side of the world and as 3D printers are basically just a CNC machine it became my first objective to obtain a cheap 3D printer. At the time I had no real ability to assess the sizes of the pieces to be printed but I knew that a 100x100 bed machine would be too small I purchased a Tronxy Educational model from Aliexpress which was delivered from China for $200 AUD, (it has a 150x150 bed).

After a few tribulations including the need to replace a bowed and twisted printing bed I managed to get a reasonably solid and reliable printer! My first hurdle overcome! Using the Slicing software on the STL files supplied for the various CNC foam cutting machines, (of any real size), I discovered that the required bed length was around 200mm. So the parts for the bed expansion are to be ordered. Luckily in my case I only require a longer drive belt length and a single piece of aluminium channel.

Whilst I was getting to know the ins and outs of my 3D printer I must have printed almost anything I considered as useful and actually burned through half a kilo of PLA. 3D printing takes a fair amount of time so as I had time to burn waiting for my latest print I got into learning the software that came with the printer. Now if I get an STL file I can turn out a pretty precise article in my 3D printer. Second hurdle overcome! I am making progress.

While waiting for the parts to arrive for my printer upgrade I looked into the software to convert plans into the appropriate file format to drive a CNC machine. After a few FREE failures I was pointed towards Inkscape. IT IS FREE and it works! Now I am learning to turn PDF files into SVG files for the CAD program which I will use and so far has not been determined. Third hurdle overcome! An evaluation is currently chewing up my time but I am learning a fair bit as I go.

More later!
 
Last edited:

ElectriSean

Eternal Student
Mentor
Subscribed for the journey :)

If you're looking for free 3D CAD software, check out FreeCAD and OpenSCAD. Both are very powerful, if not exactly easy to use. Lot's of tutorials exist for both though.
 

Hai-Lee

Old and Bold RC PILOT
Subscribed for the journey :)

If you're looking for free 3D CAD software, check out FreeCAD and OpenSCAD. Both are very powerful, if not exactly easy to use. Lot's of tutorials exist for both though.
I am actually trying to work my way through FreeCad as we converse. It is not all that intuitive or user friendly at this time but I will give it a good go before I abandon it for another package!

Having fun! (actually giving myself a headache:rolleyes:)
 

ElectriSean

Eternal Student
Mentor
I am actually trying to work my way through FreeCad as we converse. It is not all that intuitive or user friendly at this time but I will give it a good go before I abandon it for another package!

Having fun! (actually giving myself a headache:rolleyes:)

So many headaches... LOL. If you've ever done any coding/programming you might enjoy OpenSCAD more, as it's all scripted. I find it much easier to get a grip on, but I've done a bit of coding.
 

Hai-Lee

Old and Bold RC PILOT
So many headaches... LOL. If you've ever done any coding/programming you might enjoy OpenSCAD more, as it's all scripted. I find it much easier to get a grip on, but I've done a bit of coding.
Not done much coding in my life though I am sure I could easily write my plans directly in GCode as I am getting to the point where I can laod dimensions in a spreadsheet and create the spreadsheet to generate the individual steps, (with annotations), based upon input vectors. (I told you I was old school. I used to work on some of the old analog computers used prior to digital computers becoming common place).

As for this thread I wish to keep it suitable to those who have a minimal level of experience where possible as the majority of the viewers/members are either very young or very old. Those in the workforce currently have access to employer funding training in modern tech.

Have got to the point of cleaning up and exporting the SVG but making it meaningful as a 3D object in FreeCAD is where I am currently hung up! Well I am sure it will come to me eventually.

Have fun!
 

Hai-Lee

Old and Bold RC PILOT
I managed to obtain a file that looks like it might be usable in a CNC cutter but I do not have one working yet so I will ask if someone who has a CNC cutter can evaluate if the file is valid. Perhaps a dry run without the cutter being fitted. Or if they hae a simulator suite they could test its validity.

Anyway the file is attached though I had to "ZIP" it to be allowed to attach it.:

Please let me know if i am heading in the right direction!

Have fun!
 

Attachments

  • output_0003.zip
    13.8 KB · Views: 0
At a first look it seems good, but I can't install software here at work to test more thoroughly. This evening ? Also, you can check out CAMotics, which is an open-source CAM simulator (perhaps a bit complex to use though), or check out
https://nraynaud.github.io/webgcode/

I can't access this link here either, so take it with a grain of salt too...
 

Hai-Lee

Old and Bold RC PILOT
At a first look it seems good, but I can't install software here at work to test more thoroughly. This evening ? Also, you can check out CAMotics, which is an open-source CAM simulator (perhaps a bit complex to use though), or check out
https://nraynaud.github.io/webgcode/

I can't access this link here either, so take it with a grain of salt too...
I have already viewed it in CAMotics and it looks like it might work but then this is my first attempt and I do not know enough as yet to be sure I am on the right track.

My next step if the file is valid is to try and put in 2 layers with a Z axis difference for the upper layer. Do not know how yet!

Hve fun!
 
Just a quick note regarding the gcode : gcode comes in many flavours (dialect versions) , with small but sometimes significant différences.

For example the marlin firmware uses ";" as a comments marker, whereas others (GRBL ?) use parentheses. So depending on what gcode-interpreter you use, the gcode could be valid as seen by some interpreter/simulator but not be with the target interpreter.

Most CAM software post-process the gcode they output to generate gcode compatible to the target interpreter, but I'm not sure the inkscape plugin you use is that sophisticated regarding the dialect, and as seen in the generated code, it uses parentheses. I remember having done some tests to update the plugin's code to generate Marlin compatible comments, but lost them (didn't go to the end nor forwarded the changes to anyone).

I presume (perhaps a bit much) that you plan on using a marlin copatible control board and firmware, in which case you'll need to either adapt the plugin, post process externally the output, or use an other CAM...
 

TEAJR66

Flite is good
Mentor
Hai-Lee,

Are you using SketchUp? If so, the Phlatscript plug in will produce Marlin flavored Gcode. With SketchUp and the correct plugins, you can design the 3D model, flatten it and make the plans in PDF, export the DXF for others to use and produce the Gcode for your cnc. Design to cutting, all in one place (CutePDF Printer for the final save of the PDF).

Estlcam also outputs Marlin Gcode. (my favorite)
 

Hai-Lee

Old and Bold RC PILOT
I think I have a solution of sorts, (for a beginner of my limited learning in this area).
So far I have a 3D printer that uses Repetier host.
I also have been playing with FreeCAD and Inkscape. It was inkscape that provided the previously posted CNC file.
Base on the latest few replies I have sourced and will soon install the GCode extension to suit communication with the repetier host software. In addition I have also downloaded the gcode plot add-on for inkscape. I wanted to also grab the Inkcut program but the windows version is not available yet:cry:.

The gcode plot apparently will allow me to substitute a pen for my extruder on the 3D printer and to verify my work by plotting the cutter paths on the printer bed, (covered with paper of course).

It is still early days for this old sluggard but with this approach at least if it all falls over I will have a pile of spare parts for my 3D printer:rolleyes:.

If you see any obvious issues with this approach PLEASE let me know!

Thank you all for your input to date!

having (some) fun, (finally)!
 

Hai-Lee

Old and Bold RC PILOT
Trying to find adequate information on CNC controller and Shield is extremely difficult to put it mildly. This thread is effectively closed or to be amalgamated into another thread.

What is missing is a "Turn Key" solution that you can build yourself with all of the information required to get it cutting properly first time out!

I hope that when the new thread is started it will be for just such a machine. The Bed size is really unimportant in the design as it is only the physical manifestation of the software environment, (so to speak), and can be altered to suit a persons specific requirements, (if you know how).

Enough complaints! The new thread will commence when I have a working turn key solution to offer!

Have fun!
 

dkj4linux

Elite member
Hai-Lee,

I'm sorry but I'm really having a hard time following what the problem is. Bordering on senility, I'm probably out of my league here but here goes. Please forgive me if this seems too simplistic... I'm not trying to insult your intelligence. Ultimately, I gather you are going to build a CNC machine... but now you're getting frustrated. I want to help... so, what follows is the basic procedure I've used for building at least a dozen different CNC machines.

Assume you've mechanically built your CNC machine to the point you now have the steppers mounted and the leads hanging out in the wind...

At this point you'll need to select a controller/driver/firmware combo to drive your machine. And, it is THIS CHOICE that will largely determine how "turnkey" a CAD/CAM solution you find.

Start with the firmware... this is where your gcode will be interpreted and turned into drive signals for your steppers. Marlin and GRBL are the most commonly used with users I interact with. Of the two, GRBL will probably be your best bet and lead to the easiest CAD/CAM path... a GRBL gcode option will be available in many, if not most, CAM packages in common use by hobbyists. Marlin is less popular but in wide use among MPCNC users. Estlcam is relatively easy to use and can generate gcode of either flavor... hence it's popularity in both camps. The choice of firmware will also dictate which of several Arduino-based controller/driver combos you might use. I'm sure there are others...

So, depending on the firmware and controller/driver combo you choose to control your machine... that will determine your options regarding easy-to-use CAD/CAM software to generate the gcode for your projects. Closest to "turnkey", there are integrated CAD/CAM packages, such as Fusion360, which are very flexible/powerful but have steep learning curves and far more power than needed for common hobby use... GRBL, okay - Marlin, probably not. SketchUp/SketchUCAM is "integrated" (app with plugins), far simpler and less-powerful than Fusion360, but can do Marlin gcode (I've used it to cut many airplanes with my needle cutter over the years)... and IIRC it's now also used with many GRBL-based OpenBuilds machines. More commonly used are separate CAD and CAM packages. Most any CAD will do DXF/SVG export and most CAM will import them so take your pick; i.e. there's great flexibility there... but, rather than a "package" solution, it is a "workflow" that you'll develop using your favorite CAD and CAM packages; i.e. Inkscape/Estlcam and/or Onshape/Estlcam works for me most of the time.

I know this is an oversimplification and there are a zillion more options than I've mentioned here (yeah, I'm a plowhorse among thoroughbreds...) but this is basically what's entailed. In your first post in this thread you said that you wanted "to get a CNC cutter built and fully functional" and then virtually all discussion thereafter focused on anything/everything but your CNC machine -- and finally in your last post you said you can't find info on controllers and shields.

So, let's talk about this CNC machine you want to build... ;)

-- David
 
Last edited:

Hai-Lee

Old and Bold RC PILOT
Hai-Lee,

I'm sorry but I'm really having a hard time following what the problem is. Bordering on senility, I'm probably out of my league here but here goes. Please forgive me if this seems too simplistic... I'm not trying to insult your intelligence. Ultimately, I gather you are going to build a CNC machine... but now you're getting frustrated. I want to help... so, what follows is the basic procedure I've used for building at least a dozen different CNC machines.

Assume you've mechanically built your CNC machine to the point you now have the stepper leads hanging out in the wind...

At this point you'll need to select a controller/driver/firmware combo to drive your machine. And, it is THIS CHOICE that will largely determine how "turnkey" a CAD/CAM solution you find.

Start with the firmware... this is where your gcode will be interpreted and turned into drive signals for your steppers. Marlin and GRBL are the most commonly used with users I interact with. Of the two, GRBL will probably be your best bet and lead to the easiest CAD/CAM path... a GRBL gcode option will be available in many, if not most, CAM packages in common use by hobbyists. Marlin is less popular but in wide use among MPCNC users. Estlcam is relatively easy to use and can generate gcode of either flavor... hence it's popularity in both camps. The choice of firmware will also dictate which of several Arduino-based controller/driver combos you might use. I'm sure there are others...

So, depending on the firmware and controller/driver combo you choose to control your machine... that will determine your options regarding easy-to-use CAD/CAM software to generate the gcode for your projects. Closest to "turnkey", there are integrated CAD/CAM packages, such as Fusion360, which are very flexible/powerful but have steep learning curves and far more power than needed for common hobby use... GRBL, okay - Marlin, probably not. SketchUp/SketchUCAM is "integrated" (app with plugins), far simpler and less-powerful than Fusion360, but can do Marlin gcode (I used it to cut many airplanes with my needle cutter over the years)... and IIRC it's now also used with many GRBL-based OpenBuilds machines. More commonly used are separate CAD and CAM packages. Most any CAD will do DXF/SVG export and most CAM will import them so take your pick; i.e. there's great flexibility there... but, rather than a "package" solution, it is a "workflow" that you'll develop using your favorite CAD and CAM packages; i.e. Inkscape/Estlcam and/or Onshape/Estlcam works for me most of the time.

I know this is an oversimplification and there are a zillion more options than I've mentioned here (yeah, I'm a plowhorse among thoroughbreds...) but this is basically what's entailed. In your first post in this thread you said that you wanted "to get a CNC cutter built and fully functional" and then virtually all discussion thereafter focused on anything/everything but your CNC machine -- and finally in your last post you said you can't find info on controllers and shields.

So, let's talk about this CNC machine you want to build... ;)

-- David
Thank you for your response! My issue or what I seek is a complete solution to build, and that is what I am aiming for.
By a complete solution I include the controller, shields, and the operating code and software.

There are numerous controllers available with a myriad of variations depending on manufacturer. My assumption is that most forum users know the same or perhaps even slightly less than I do about building a CNC device.

I have currently both the design software and the code generating/exporting capability. I also have the ability to specify and add the steppers, limit switches to any bed size I require. Mind you this is machine design related where I again have no serious issues.

It is the driving of the steppers through a common and easily configured controller board and shields where I am having the problem. Though I am working now on specifying a controller board etc based upon open source or free software/firmware compatibility.

A simpler way of putting the issue is that whilst there are a large number of free CNC machine designs, (some brilliant and some less than), they all go off on a tangent when it comes to the controller/shield setup and operating soft/firmware. Some don't even mention the electronics in anything more than fleeting terms.

What the CNC forum users need truly is a CNC controller and firmware that can drive the various designs but using FREE or open source soft/firmware on a windows platform.

That controller setup is where i am currently working. Finding adequate information without purchasing books or the like is extremely difficult.

Thanks again for the reply, (love your work!).

have fun!
 

dkj4linux

Elite member
Thank you for your response! My issue or what I seek is a complete solution to build, and that is what I am aiming for.
By a complete solution I include the controller, shields, and the operating code and software.

There are numerous controllers available with a myriad of variations depending on manufacturer. My assumption is that most forum users know the same or perhaps even slightly less than I do about building a CNC device.

I have currently both the design software and the code generating/exporting capability. I also have the ability to specify and add the steppers, limit switches to any bed size I require. Mind you this is machine design related where I again have no serious issues.

It is the driving of the steppers through a common and easily configured controller board and shields where I am having the problem. Though I am working now on specifying a controller board etc based upon open source or free software/firmware compatibility.

A simpler way of putting the issue is that whilst there are a large number of free CNC machine designs, (some brilliant and some less than), they all go off on a tangent when it comes to the controller/shield setup and operating soft/firmware. Some don't even mention the electronics in anything more than fleeting terms.

What the CNC forum users need truly is a CNC controller and firmware that can drive the various designs but using FREE or open source soft/firmware on a windows platform.

That controller setup is where i am currently working. Finding adequate information without purchasing books or the like is extremely difficult.

Thanks again for the reply, (love your work!).

have fun!

Okay, here's a Marlin controller/driver combo... and a GRBL controller/driver combo... that I personally use. And... I'm cheap. There are many other, more expensive, and possibly better controller board out there but these are as cheap as it gets and have worked flawlessly for me. I have machines of both types. And with the big picture in mind, as I said, I think GRBL will give you the most options for CAD and CAM on down the road.

GRBL:
Arduino Uno/CNCshield -- https://www.banggood.com/CNC-Shield...BY3xO58AQC3u93eKGklPT9a23PhTmSmhoCl9wQAvD_BwE

Marlin:
Arduino Mega/RAMPS 1.4 -- https://www.banggood.com/RAMPS-1_4-...or-Arduino-Reprap-p-1127049.html?rmmds=search

Check around... these are just the first ones I found looking for a link to put in this post. Note that each set has an Arduino of some sort that runs the firmware and a shield that carries the actual motor drivers. A4988 and DRV8825 (the little driver modules) have the same pinout and can be used interchangeably... DRV8825 is preferred, though, for higher drive current and better micro-stepping. These will drive modest CNC machines with the most powerful NEMA17 motors you can find. MPCNC uses them and has been used to mill/cut foam, wood, MDF, acrylic, aluminum, and even steel (https://www.v1engineering.com/videos/gallery/).

I think you would really benefit from focusing on the CNC machine itself for a while... primarily, it's workarea and it's intended use. As I said, once you have the leads hanging out there in your hands, there's all kinds of options as to how you want to drive it. I can change any of my machines from GRBL to Marlin and back, in just a few minutes, without touching the machine's steppers or mechanicals at all.

If light loads -- foam-cutting, lasering, drag-knifing, etc. -- is of primary interest right now... that's what you should build this machine to do. I think I remember you mentioning wanting to automate cutting foam to save wear and tear on your hands. I've built several machines to do just that and I'd strongly suggest you consider the MPCNC... especially now that you have a 3d-printer. It is IMHO the least-expensive, most flexible, and most rewarding way to get into CNC today. And there are 3 different MPCNC versions... the same machine but sized for the common steel conduit that is available in your area of the world. And it can be built to any practical size you want for virtually the same price... only the lengths of the conduit, wire, and belts changes with the size. Check it out... https://www.v1engineering.com/specifications

With regard to this thread and your machine build, please do not stress about CNC forum users needs, or free- or open-source software (that's all I use), or controller vendors/manufacturers options (it's all cheap and it's all coming from China nowadays anyway), an end-to-end "turnkey" solution (remember this is DIY, not a commercial product), etc. These are all peripheral to what you are trying to do here. Once you decide on YOUR machine and its dimensions, its intended use, and the firmware you want to use... then everything starts falling into place and becomes a great deal less confusing. You'll know what CNC parts to order, the controller/drivers you need, what firmware to download and flash onto the Arduino... and then you'll know exactly what your CAM software will need to do to generate the gcode to run your machine and cut out your projects.

I need to stop... it's into the wee hours here. I really want to help, Hai-Lee. I have the experience of building these machines and I can photograph anything on my machines to help answer questions. But we need to relax, focus, and just take it a step at a time from here.

Later.

-- David
 

Hai-Lee

Old and Bold RC PILOT
Again I thank you for your response.

I have been researching arduino uno and the Shield as well as the stepper motor driver modules. In addition I have been researching MKS and Melzi controllers as well. So far all seem quite acceptable but then each has its strengths and weaknesses.

I do not wish to offend anyone. When I finally post my CNC it will have either include the software it requires or the links to the software, as well as the appropriate setup instructions for the chosen motherboard and a config file or the firmware upgrade required to get it working properly.

A full parts list will be included of course! Where someone may wish to build a similar machine, (different physical layout or smaller/larger bed size), details on how to alter the configuration to suit will also be supplied.

As you may be able to ascertain from the ambitious thread requirements it will take some time to achieve but the specification is almost complete. (It may be further delayed as I learn to design and actually print those designs on my 3D printer). Currently the design is to be based upon the lowrider with a needle cutter similar or identical to the one you have posted).

Have fun!
 

dkj4linux

Elite member
Okay... I guess I misunderstood. Like you, I mean no offense... but you said YOU needed a machine to automate "build[ing] LOTS and LOTS of planes" without incurring "some serious physical injury". Now it sounds as though you've broadened your scope and are trying to design yet another machine for the WORLD. Good luck with that!

Actually MPCNC and LowRider are both great machines and outstanding examples of what you are saying you want to do... they are both "proven" designs , well-documented and widely-discussed (many eyeballs!), full BOM's exist, they use no hard-to-get "specialty" parts, parts are easily made and/or sourced from multiple places, they are being built all over the world from what is locally available, and Ryan even has a shop that carries any/all the critical parts needed to build one for yourself. It didn't happen overnight, of course, and took/takes a tremendous amount of smarts and work... and he's a one-man operation (a "benevolent dictator" of sorts... they are, after all, ultimately his designs and he has to support them)! I have no affiliation but do recognize some really solid engineering when I see it... hence my greatest admiration and highest recommendation.

I personally see little sense in expending so much mental energy on researching a common, widely-used, <$20 board set (or any board or board set for that matter) from China... the web abounds with information/videos on it. To my mind, it's easier to just buy it, download/flash the appropriate firmware, plug in the jumpers/drivers and stepper leads, and be done with it. Is it the best? Probably not... but it's dirt cheap and if it works and does what I need it to do, I'm ahead of the game. If it doesn't work, I'm not out too much money... so I go buy replacements, or something else entirely, and try again. It won't take long... eventually something will work and I'll almost certainly learn something new along the way :)

So, now you have a machine mechanically built, an inexpensive controller/driver board set hooked up and running the firmware of your choice, and a USB cable now hanging out there in your hands. Again, there are a zillion options regarding the CAD/CAM/sender software "toolchain" you prefer and elect to use... but you know it has to "talk" the gcode flavor matching the firmware's gcode interpreter on the other end of that USB cable.

Hai-Lee, -- again, no offense -- trying to specify/standardize an end-to-end "solution" for the WORLD just isn't gonna happen. Successful CNC designs abound and there are just too many design choices to be made and personal preferences to be satisfied. Any DIY'er worth his salt will want to put his unique "spin" on it anyway, whatever it is... and will probably be successful and learn a ton from the experience.

IMO you need to build this machine for YOU. Narrow your scope/focus, keep your requirements "modest", commit to a direction, build your machine, learn from it, and get on with cutting all those planes you want to cut... and then plan on building another machine on down the line that meets your more exacting requirements, born out of your actual experiences. In the CNC world (and in my experience), there is an adage that works quite well: "Build the first one UGLY... and then use it to build one PRETTY."

My best to you,

-- David
 
Last edited:
"Build the first one UGLY... and then use it to build one PRETTY."
Yes, That ! (And use knowledege gained from the first into rfining what Pretty" needs to be ;-) )