I started out building DIY CNC machines with modded printer firmware like use on the MPCNC. Then I moved to GRBL.

Now I have come full circle and went to Mach3. The prices for Mach3 boards are now 38 dollars and free shipping from China. Built in 3.5 amp drivers, and running 24v. Im finding that the Mach3 boards are more responsive when jogging the machine and tool changes are much simpler.

I use Estl CAM for the gcode, but now I can also use Aspire to make gcode for Mach3. Aspire only will make code for GRBL with a third party plugin and its kind of beta version.

Anyone else going to Mach3? Seems to be a pretty good value vs using Genuine Arduino now days.

Mach3 is awesome and you’re right. USB motion controllers are cheap and so are used windows 10 tablets. They make a powerful combo for CNC control. I was running Mach3 for a long time but switched back to Marlin for the laser support. Mach3 has never been good for laser control because most people try to drive the laser from the spindle output but Mach3 has a hard-coded delay that totally screws up the timing of the laser. There are workarounds, but none seem to work with the cheaper, slower motion control boards.

If you’re not planning on doing any grayscale laser engraving or 3d-printing then Mach3 is an excellent choice.

I AM. I JUST SPENT ALL DAY AT A trying to figure out why my smoothie mks v1.3 keepburying down into my work piece.

I have been pissed off all day. No matter how many variables. I change, the smoothieboard keeps thinking it is a printer and instead of progressing downward at my set plunge rates, it buries the spindle and breaks my bit.

WHAT IS HOLDING ME BACK is I have read that one MUST use parallel port of a OF.
I have a mini pc with us ports only.

Please advise on if it is possible to use DUN port control??

Also what is a good cbc board to buy?
Is it possible to perform all operations, footpath generation from stl or dxf 3d files??

WHAT IS the process from start to finish??

After 3 days of trying to go from Fusion 360 to bcc and getting nowhere.

I will most definitely use the smoothieboard to build a milled 3d printer.

Just want to have a functional CNC.

James, can you clarify that a bit. mks sbase 1.3? If it is you might want to include your mks settings file, so someone that uses mach3 might see the issue. If you just want to get it running, are you dead set against doing it my way? I have a settings file and everything, you can use the lcd or repetier.

OK. I have - MKS SBase 3D printer control board user guide

I am trying to use Fusion 360 to generate my gcode - I have control board config file set to GRBL mode. There is a built in smoothieware post processor that generates the gcode. I am wanting to carve out 3d reliefs,

my process is download stl -> meshmixer-> .obj-> fusion360-> gcode ->bcnc.

I then load the gcode into bcnc. bcnc controls the mpcnc fairly well the exception is - I tell it to ramp down .5mm for each layer. It instead lowers the spindle all the way into the wood, 1.5 inches or 38.1mm.

I have tried 3d pocket clearing and 3d adaptive clearing, same effect.

I do not use mach3, I am seriously entertaining the idea though. From looking at the videos it seems to offer more control.

This is my config file -

grbl_mode true
default_feed_rate 4000 # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate 4000 # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment 0.0 # Fixed length for line segments that divide arcs 0 to disable
mm_max_arc_error 0.01 # The maximum error for line segments that divide arcs 0 to disable

                                                          # note it is invalid for both the above be 0
                                                          # if both are used, will use largest segment length based on radius

Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions

alpha_steps_per_mm 160 # Steps per mm for alpha stepper - default 200
beta_steps_per_mm 160 # Steps per mm for beta stepper - default 200
gamma_steps_per_mm 4535.44 # Steps per mm for gamma stepper - default 4535.44

Planner module configuration : Look-ahead and acceleration configuration

acceleration 500 # Acceleration in mm/second/second.
z_acceleration 35 # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default.
junction_deviation 0.05 # Similar to the old “max_jerk”, in millimeters,
# see
# and
# Lower values mean being more careful, higher values means being
# faster and have more jerk
#z_junction_deviation 0.0 # for Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves

Stepper module configuration

microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 100000 # Base frequency for stepping

Cartesian axis speed limits

x_axis_max_speed 11000 # mm/min
y_axis_max_speed 11000 # mm/min
z_axis_max_speed 500 # mm/min

Stepper module pins ( ports, and pin numbers, appending “!” to the number will invert a pin )

alpha_step_pin 2.0 # Pin for alpha stepper step signal
alpha_dir_pin 0.5 # Pin for alpha stepper direction
alpha_en_pin 0.4 # Pin for alpha enable pin
alpha_current 2 # X stepper motor current
alpha_max_rate 11000.0 # mm/min

beta_step_pin 2.1 # Pin for beta stepper step signal
beta_dir_pin 0.11 # Pin for beta stepper direction
beta_en_pin 0.10 # Pin for beta enable
beta_current 2 # Y stepper motor current
beta_max_rate 11000.0 # mm/min

gamma_step_pin 2.2 # Pin for gamma stepper step signal
gamma_dir_pin 0.20 # Pin for gamma stepper direction
gamma_en_pin 0.19 # Pin for gamma enable
gamma_current 0.5 # Z stepper motor current
gamma_max_rate 500.0 # mm/min

System configuration

Serial communications configuration ( baud rate defaults to 9600 if undefined )

uart0.baud_rate 115200 # Baud rate for the default hardware serial port
second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface
# and a terminal connected)
#leds_disable true # disable using leds after config loaded
#play_led_disable true # disable the play led

Kill button (used to be called pause) maybe assigned to a different pin, set to the onboard pin by default

kill_button_enable true # set to true to enable a kill button
kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)

Only needed on a smoothieboard

currentcontrol_module_enable true #

Switch module for spindle control

#switch.spindle.enable false #

alpha_max_travel 500 # max travel in mm for alpha/X axis when homing
beta_max_travel 1000 # max travel in mm for beta/Y axis when homing
gamma_max_travel 100 # max travel in mm for gamma/Z axis when homing


endstops_enable true # the endstop module is enabled by default and can be disabled here
alpha_min_endstop 1.24^! # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop 1.25^! # NOTE set to nc if this is not installed
alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
alpha_min 0 # this gets loaded after homing when home_to_min is set
alpha_max 250 # this gets loaded after homing when home_to_max is set
beta_min_endstop 1.26^! #
beta_max_endstop 1.27^! #
beta_homing_direction home_to_min #
beta_min 0 #
beta_max 250 #
#gamma_min_endstop 1.28^! #
#gamma_max_endstop 1.29^ #
#gamma_homing_direction home_to_min #
#gamma_min 0 #
#gamma_max 120 #

optional order in which axis will home, default is they all home at the same time,

if this is set it will force each axis to home one at a time in the specified order

#homing_order XYZ # x axis followed by y then z last
homing_order XY # x axis followed by y then z last

optional enable limit switches, actions will stop if any enabled limit switch is triggered

alpha_limit_enable true # set to true to enable X min and max limit switches
beta_limit_enable true # set to true to enable Y min and max limit switches
gamma_limit_enable false # set to true to enable Z min and max limit switches

alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
beta_fast_homing_rate_mm_s 50 # "
gamma_fast_homing_rate_mm_s 4 # "
alpha_slow_homing_rate_mm_s 25 # "
beta_slow_homing_rate_mm_s 25 # "
gamma_slow_homing_rate_mm_s 2 # "

alpha_homing_retract_mm 5 # distance in mm
beta_homing_retract_mm 5 # "
gamma_homing_retract_mm 1 # "

#endstop_debounce_count 100 # uncomment if you get noise on your endstops, default is 100

## Network settings
network.enable true # enable the ethernet network services
network.webserver.enable true # enable the webserver
network.telnet.enable true # enable the telnet server
network.ip_address # the IP address
network.ip_mask # the ip mask
network.ip_gateway # the gateway address

Well I can’t be much help you are using all kinds of non standard (to me)stuff.

I can say your z axis steps sound wrong. Double check your config file.

Don’t bother trying to cut anything until you figure out all the manual movements with the correct specs. Sounds like maybe you have a T8 and you used the 5/16" leadscrews steps?

Maybe try using repetier to make sure things are correct then move into the bcnc, I have never heard of anyone using that and I know nothing about it. At this point it could be your board config, you CAM settings, your gcode, your post processor, your control software, or I am not sure about the GRBL mode either (why not just use smoothie?).

You have 20T pulleys and a 5/16" leadscrew?

Yes i have 20T pulleys and a 5/16″ leadscrew -

alpha_steps_per_mm 160 # Steps per mm for alpha stepper – default 200
beta_steps_per_mm 160 # Steps per mm for beta stepper – default 200
gamma_steps_per_mm 4535.44 # Steps per mm for gamma stepper – default 4535.44

If you’re asking for a process and board that works, go straight to the vicious shop and buy one of his. Not only will the instructions on this site work, but the people in the forums will know how to help you.

If you’re looking for a fix for your board, then maybe start your own post? Why are we in the mach post?

If that board isn’t 1/32nd stepping, then the z axis steppers are way too high. You should be able to move it without running gcode to move it up or down a small amount, and measure it. Start with 0.1mm (no joke) and if you see it move, and not take off, then try 1mm, if that looks like it’s about 1mm, then move it down so it’s just touching something and move it 10mm and compare it to a ruler. If it’s not right, don’t guess. There should be no tuning of this number, it should be exact if it’s properly calculated. Unfortunately, AFAIK, no one here uses that board or firmware, so we’ll have to learn together. But make a different post for it.

It’s as possible as the machine. EstlCAM can do 2.5D (there is a tutorial on this website). Repetier will play back whatever you CAM.

Yes the board is jumpered for 32 steps

BTW, I hope you’re not starting with that. That is not a simple cut for your first cut.

I have been working with the mpcnc for couple of years now.

I have printed about 20 rolls of filament.

Printed the original and more recently the updated 525.

I have been trying to learn how to machine files other that flat 2d dxf or svg files.
Maybe I am trying to do the impossible. I like 3d modelling and rendering and posting CAM files all in the same program.


…and also, myself, autox3d and Leo69 are wondering why we are in Mach3 post.

I was just trying to get them to answer a couple of questions. read the entire post please…

just forget it…