Laserweb for Creality Falcon 2 (how to)

Just sharing how I got Laserweb to work with a Creality Falcon 2, in case someone is searching. Possibly only for Windows (haven’t tested others). I am not here often (although Laserweb is my preferred tool). Hope the info is good “as is”. No guarantees, of course. Use at your own risk after reading and understanding the manual.

Laserweb 4.0 (possibly/likely Windows only)

* my Creality Falcon 2 firmware: "CV50-Pro-MASTER-Release V1.0.0 20231129-1024" from $I command

* install 4.0.996-134 from https://github.com/LaserWeb/LaserWeb4-Binaries/releases/tag/v4.0.996-134
   - there are two issues preventing newer versions from working
      - they ignore .env file (more below)
      - they don't seem to be able to interpret the feedback data from GRBL (position and buffer level)

* place the .env file into C:\Users\<username>\AppData\Local\Programs\lw.comm-server
   - (note: typically hidden even if hidden files are shown, because it is considered a system file.
     must enable via View->Options->Change folder and search options  ->  View  -> uncheck
     "Hide protected operating system files (Recommended)")
   - newer Laserweb versions >4.0.998-136 seem to ignore this file
   - setting issues a ctrl-x to GRBL on start to force it into sending its ID
   - .env content:
        RESET_ON_CONNECT=1
        DRO_DECIMALS=3
     (documented here https://github.com/LaserWeb/LaserWeb4/issues/322)

* connect machine and issue the following commands in the terminal (bottom right), without quotation marks
   - "$$". copy and save the output so you can restore settings at any time later
   - "$10=0". this changes the way GRBL sends feedback to Laserweb, such as current position and buffer
     level. different programs may/will expect this differently. untested, but it is conceivable that
     Lightburn, for example, may require reverting this setting back (see the output of "$$" above for
     your original value). i don't have LightBurn so I don't know what settings it requires.
   - "$32=1" for laser mode selection. probably already the case
   - at least for my machine, the $150 & $151 settings don't behave per the Creality manual.
     $150 seems to be the air pump level for 'air assist off' in percent (!)
     $151 seems to be the air pump level for 'air assist on' in percent. my settings:
	$150=30
 	$151=100
 
* machine configuration
   - dimensions 400mm x 415mm
   - gcode aa on: M8
   - gcode aa off: M9
   - gcode start: G21 G90 M3 (on separate lines)
   - gcode end: M5
   - gcode homing: $H
   - tool on / tool off: empty
   - pwm max s value: 1000
   - check size power: 3%
   - tool test power: 3%

* "abort causes loss of position" and workaround
   - Creality's GRBL version does not properly support G54..G59 work offsets (December 2024)
      - to test, issue "$#". if the first line G54 contains "-nan" then it hasn't been fixed. read on 
   - when setting the current laser position as a new zero, Laserweb uses a temporary work offset
     (here G54).
   - when you now abort a program (and that is the only way to flush the instruction buffer), Laserweb
     resets GRBL. the original GRBL would have stored the G54 offset in EEPROM, but Creality doesn't.
     so the zero coordinates from above are lost (workaround follows)
   - fortunately, if you aborted the program then likely you need a new zero location anyways ...
   - workaround
      - find the following lines in the terminal log (typically just a few lines up)
           'Set all Axis zero'
	   'Work Offset: <x.xxx> / <y.yyy> / 0 / undefined'
      - issue G21G0X<x.xxx>Y<y.yyy>
      - click 'set zero' to restore original offsets
3 Likes