Skip to content

Genmitsu PROVerXL 4030

About

Specification

Title Spec
Working area 400 x 300 x 110mm
Control Board Compatibility GRBL 1.1h
Spindle 300W 6A, 12,000 RPM
Max speed 2000mm/min
Accuracy 0.1 mm
Overall Machine Size 641 x 755.5 x 580mm
Machine Weight 26kg
Collet (in package) 1/8” Shank

Test

Design: Fusion360

Export: Shaper Utilities

Download: SVG

CAM: Mods

Attention

See Adjust MODS’ g-code for this machine first (below)

  • read SVG
  • convert SVG image
    • ** Check ** image size: 39.980 x 39.980 (mm)
  • set PCB defaults
    • mill outline (1/32) -> Click to set
  • mill raster 2D
    • calculate -> Click to make path -> Download .nc file
    • view -> Click to see Path
      Download: SVG image.nc

G-gode sender: gSender

Set up Software

Note

Do not install if you have the current macOS Mojave 10.14 or later. macOS Mojave 10.14 (released in October 2018) includes a CH34x driver by Apple. If both Apple’s and the OEM driver are installed, they will create conflicting non-functional serial ports.

  • Connect PROVerXL 4030 and power ON
  • Connect to Machine -> Unrecognized devices -> /dev/tty.wchusbserial1440

Set up Machine

  • Click to Run Homing

Danger

Machine Move to home position (right up)
Make sure you are SAFE ! Work area is clear!!


  • Jog Control
    • Home (Machine origin)
      • X: 0 (Right)
      • Y: 0 (Back)
      • X: 0 (Up)
    • Jog
      • X: “ X- ” to move Left
      • Y: “ Y- ” to move Forword
      • Z: “ Z- ” to move Down
    • Keyboard short cut
      • X: shift + right/left
      • Y: shift + up/down
      • Z: shift + pageup/pagedown

  • Tool setting
    • Use 2 Wrenches
      • No.13 : hold top
      • No.17 : loose/tight Collet holder

  • Move to Material
    • Use Jog control to your material(left-down)

  • Z-touch
    • Use paper to touch the tool on the paper surface
    • move one more -0.1mm down to reach the material surface

  • Work ZERO
    • Click Zero All to Work origin (X0,Y0,Z0)

Load File

Start milling

  • Click Start Job to run

Milled


From this result, 30mm design

30x30mm X Y
SVG 29.52 29.57
PNG 29.50 29.55
Ave 29.51 29.56
30/Ave 1.016605 1.014885

Adjust G-code Parameters

Ref

  • Open Console (right-down)

grblで設定できる項目の詳細(1.1対応)

Type and Enter

$$

This is default settings

client $$
$0=10 (Step pulse time, μs)
$1=255 (Step idle delay, ms)
$2=0 (Step pulse invert, mask)
$3=0 (Step direction invert, mask)
$4=0 (Invert step enable pin, boolean)
$5=0 (Invert limit pins, boolean)
$6=0 (Invert probe pin, boolean)
$10=3 (Status report options, mask)
$11=0.010 (Junction deviation, mm)
$12=0.002 (Arc tolerance, mm)
$13=0 (Report in inches, boolean)
$20=0 (Soft limits enable, boolean)
$21=1 (Hard limits enable, boolean)
$22=1 (Homing cycle enable, boolean)
$23=0 (Homing direction invert, mask)
$24=25.000 (Homing locate feed rate, mm/min)
$25=500.000 (Homing search seek rate, mm/min)
$26=250 (Homing switch debounce delay, ms)
$27=3.000 (Homing switch pull-off distance, mm)
$30=10000 (Maximum spindle speed, rpm)
$31=0 (Minimum spindle speed, rpm)
$32=0 (Laser-mode enabled as spindle, boolean)
$100=160.000 (X-axis travel resolution, step/mm)
$101=160.000 (Y-axis travel resolution, step/mm)
$102=160.000 (Z-axis travel resolution, step/mm)
$110=2000.000 (X-axis maximum rate, mm/min)
$111=2000.000 (Y-axis maximum rate, mm/min)
$112=2000.000 (Z-axis maximum rate, mm/min)
$120=300.000 (X-axis acceleration, mm/sec^2)
$121=300.000 (Y-axis acceleration, mm/sec^2)
$122=300.000 (Z-axis acceleration, mm/sec^2)
$130=420.000 (X-axis maximum travel, mm)
$131=310.000 (Y-axis maximum travel, mm)
$132=110.000 (Z-axis maximum travel, mm)
ok

Look at these three parameters

$100=160.000 (X-axis travel resolution, step/mm)
$101=160.000 (Y-axis travel resolution, step/mm)
$102=160.000 (Z-axis travel resolution, step/mm)

X and Y axis

I need to change these numbers

30x30mm X Y
SVG 29.52 29.57
PNG 29.50 29.55
Ave 29.51 29.56
30/Ave 1.016605 1.014885
travel resolution
160.000*30/Ave
[step/mm]
162.657 162.382

To set numbers, simply type and enter, one by one

$100=162.657

$101=162.382

To check to be saved

client $$
.
.
$100=162.657 (X-axis travel resolution, step/mm)
$101=162.382 (Y-axis travel resolution, step/mm)
$102=160.000 (Z-axis travel resolution, step/mm)
.

SVG 30x30mm X Y
Test_1
travel resolution
[step/mm]
162.657 162.382
Result_1
[mm]
30.03 30.05
Test_2 162.495 162.119
Result_2 29.91 29.99
Test_3 162.984 162.173
Result_3 30.00 30.00-29.99

This is the setting from Test_3

$100=162.984 (X-axis travel resolution, step/mm)
$101=162.173 (Y-axis travel resolution, step/mm)
$102=160.000 (Z-axis travel resolution, step/mm)

Z axis


Height Gauge Value Diff
Before 7.60 0
After 10mm down 6.61 -9.99

This is the setting from Test (no change)

$102=160.000 (Z-axis travel resolution, step/mm)

Surfacing

Tool

  • 3/4” = 19.05mm
  • Change Collet to 3/4”

Click Surfacing (Top-Center)

  • Dimensions: size of a spoiled board
  • Router Bit Diameter 19 mm
  • Start Position

    • left-down
  • Genetate G-code -> Run on Main Visualizer

  • Click Start job to start surfacing

Attention

This is very DUSTY process!!


Adjust MODS’ g-code for this machine

mods

Compare G-code form png and from SVG

Note

PNG’s G04 P1 or SVG’s G04 P1000 need to be commented out for this machine, otherwise machine will stop on this line.

Attention

T1M06 may be also need to be commented out. This happened when wchusbserial1440 did not appear in the device list to connect. Possibly CH340 driver may not be installed successfully.

30x30_40x40mm_96dpi.png.nc SVG image.nc Meanig
% % % Signals start
G17 G17 G17 Select X-Y plane
G21 G21 G21 Metric units
G40 G40 G40 Cancel cutter compensation
G49 G49 G49 Cancel cutter
G54 G54 G54 Set Datum
G80 G80 G80 Cancel cycles
G90 G90 G90 Absolute programming
G94 G94 G94 Per minute feed
T1M06 T1M06 T1 Tool Number, M06 Tool Change
F150.0000 F150.0000 F Defines feed rate
S11000 S11000 S Defines speed
G00Z2.0000 G00Z2.0000 G00 Positioning at rapid travel Z2.0000
M03 M03 M03 Spindle on clockwise
G04 P1 G04 P1000 G04 Dwell P[ms]
G00Z2.0000 G00Z2.0000
G00X5.3263Y4.7937Z2.0000 G00X5.0324Y4.8037Z2.0000
G01Z-0.7989 F150.0000 G01Z-0.7117 F150.0000
F150.0000 F150.0000
G01X5.3263Y5.0600Z-0.7989 G01X5.0324Y4.8291Z-0.7117
G01X4.7937Y5.5926Z-0.7989 G01X4.9816Y4.8291Z-0.7117
G01X4.7937Y34.6208Z-0.7989 G01X4.8545Y4.9561Z-0.7117
G01X5.8589Y35.1534Z-0.7989 G01X4.8037Y5.1086Z-0.7117
G01X34.6208Y35.1534Z-0.7989 G01X4.8037Y34.9472Z-0.7117
G01X35.1534Y34.0882Z-0.7989 G01X4.9561Y35.1251Z-0.7117
G01X35.1534Y5.3263Z-0.7989 G01X5.1086Y35.1759Z-0.7117
G01X34.0882Y4.7937Z-0.7989 G01X34.9472Y35.1759Z-0.7117
G01X5.3263Y4.7937Z-0.7989 G01X35.1251Y35.0235Z-0.7117
G00Z2.0000 G01X35.1759Y34.8710Z-0.7117
G1X0Y0Z0 G01X35.1759Y5.0324Z-0.7117
M05 G01X35.0235Y4.8545Z-0.7117
M30 G01X34.8710Y4.8037Z-0.7117
% G01X5.0324Y4.8037Z-0.7117
G00Z2.0000
M05 M05 Spindle Stop
M30 M30 Program end, return to start
%

Ref. G-gode, M-code, T1M06, G04, G54, %

Edit path to G-code module

Comment out G04 P1000 and

//
// local functions
//
function make_path() {
   var dx = 25.4*mod.width/mod.dpi
   var cut_speed = parseFloat(mod.cutspeed.value)
   var plunge_speed = parseFloat(mod.plungespeed.value)
   var jog_height = parseFloat(mod.jogheight.value)
   var nx = mod.width
   var scale = dx/(nx-1)
   var in_mm_scale = 1
   if (mod.formatInch.checked) {
      dx /= 25.4
      scale /= 25.4
      cut_speed /= 25.4
      plunge_speed /= 25.4
      jog_height /= 25.4
      }
   if (mod.unitMinutes.checked) {
      cut_speed *= 60
      plunge_speed *= 60
      }
   var spindle_speed = parseFloat(mod.spindlespeed.value)
   var tool = parseInt(mod.tool.value)
   str = "%\n" // tape start
   str += "G17\n" // xy plane
   if (mod.formatInch.checked)
      str += "G20\n" // inches
   if (mod.formatMm.checked)
      str += "G21\n" // mm
   str += "G40\n" // cancel tool radius compensation
   str += "G49\n" // cancel tool length compensation
   str += "G54\n" // coordinate system 1
   str += "G80\n" // cancel canned cycles
   str += "G90\n" // absolute coordinates
   str += "G94\n" // feed/minute units
   //str += "T"+tool+"M06\n" // tool selection, tool change..................comment out
   str += "F"+cut_speed.toFixed(4)+"\n" // feed rate
   str += "S"+spindle_speed+"\n" // spindle speed
   if (mod.coolanton.checked)
      str += "M08\n" // coolant on
   str += "G00Z"+jog_height.toFixed(4)+"\n" // move up before starting spindle
   str += "M03\n" // spindle on clockwise
   //str += "G04 P1000\n" // give spindle 1 second to spin up................comment out
   //str += "G04 P1\n" // give spindle 1 Millisecond to spin up..............comment out

save local program

Download local program

mill_2D_PCB PNG SVG
html png.html svg.html
txt png.txt svg.txt

open local program

  • html
    • Double Click mill_2D_PCB_svg.html (work in local PC)
  • text
    • Open mods (MIT server)
    • left click -> program -> open local program -> mill_2D_PCB_svg.txt -> open

line Test

1/64

V-bit

  • Cutting Edge Diameter 0.2mm
  • 30 Degrees
Depth of Cut Width of Cut
0.1 0.25359
0.2 0.30718
0.3 0.36077

Ref. calculator width-of-cut of a “V” shaped cutting tool

Depth = 0.2mm


Adjust G-code Parameters 2022/4/25

Design, g-code, milling

Easel

Test_0

$$
...
$100=162.984 (X-axis travel resolution, step/mm)
$101=162.173 (Y-axis travel resolution, step/mm)

Tests and Result


test_0 test_1 test_2
X-axis(L-R)
$100 162.984 161.290 161.403
length 101.05 99.93 100.02 ok
Y-axis(Up-Dw)
$101 162.173 161.174 161.126
length 100.62 100.03 100.01 ok

Parameters from test_2 are good to use

$$
...
$100=161.403 (X-axis travel resolution, step/mm)
$101=161.126 (Y-axis travel resolution, step/mm)

Last update: December 23, 2023