K40 Whisperer

K40 Whisperer

K40 Whisperer:
Control software for the stock K40 Laser controller


Supported Controller Boards
Related Links


K40 Whisperer is an alternative to the the Laser Draw (LaserDRW) program that comes with the cheap Chinese laser cutters available on E-Bay and Amazon. K40 Whisperer reads SVG and DXF files, interprets the data and sends commands to the K40 controller to move the laser head and control the laser accordingly. K40 Whisperer does not require a USB key (dongle) to function.

K40 Whisperer is a free open source program released under the GNU General Public License (GPL).

K40 Whisperer Features:

- Reads SVG files and DXF files
- Splits input design based on color formating (red,blue)
- In SVG files blue and red paths are interpreted as vectors for vector engraving and cutting. Everything else is transfered as a raster image.
- In DXF files blue paths are interpreted as vector engrave(blue). Everything else is interpreted as vector cut(red). (Everything on layers that have the text "engrave" in the layer name are interpreted as vector engrave.)
- Performs cuts on features inside of other features before cutting the outside features. (If you cut the outside first the part might drop out of the stock material)
- Converts gray scale images to halftone images to simulating varying levels of gray (i.e. engraving pictures). The Halftone option needs to be selected under "Raster"-"Settings" to enable halftoning.

K40 Whisperer Main Window


Supported Controller Boards:

Only boards that work with LaserDRW will work with K40 Whisperer. (Moshi boards will not work)
To see which board you have you can go to "Properties" from the LaserDRW (or CorelDraw) Engraving Manager window and look at which board is selected for the "Mainboard" option. You can also look at the markings on the controller board. (The controller board is the circuit board the USB cable plugs into)

Controller Boards Known to Work with K40 Whisperer:
- 6C6879-LASER-M2 (M2 Nano)
- 6C6879-LASER-B1
- HT Master5
- HT Master6
- 6C6879-LASER-M1*
- 6C6879-LASER-M*
- 6C6879-LASER-B*
- 6C6879-LASER-B2*
- 6C6879-LASER-A*
* Untested. If you try one of the boards. Please send me an e-mail with the results. My e-mail address is in the image at the bottom of this page. If it does not work i may be able to fix it. If it does work I can move it up to the known working category.

K40 Whisperer Changes:

Changes in Version 0.16

- Added support for CSS style data in SVG files (some versions of CorelDraw use this formating for SVG files)
- Fixed divide by zero error for some DXF files
- Fixed "zip" error for broken SVG files (now ignores the error)
- Added rough time estimates for engraving/cutting times
- Can now move design around while keeping the laser head at any corner or at the center of the design. (It will move back to upper left when laser starts.)
- Added display of the current design file name in the main window title bar.
- Now accepts SVG 'style' data that is not in the style attribute.

Changes in Version 0.17

- Added ability to set scale factor values for the X and Y axes to fine tune output. (Scaling the y-axis could be used to adjust for a rotary axis (plugged into the y-axis motor controller) but the speeds are not adjusted in any way so vector cut/engrave might give inconsistent results. if the scale value for x is very different than the scale value for y)
- Added rotate option in the advanced settings to rotate designs 90 degrees
- Fixed SVG input for rectangles that had radii specified that were larger than possible given the rectangle size.
- Fixed SVG import of files with mixed CSS data and style data
- Fixed error that prevented G-Code from running in Version 0.16
- Fixed bug that could cause program to enter infinite loop after lost connection with laser
- Made a slightly better error message for when an operation is attempted and the laser has not been initialized.

Changes in Version 0.18

- Fixed import of polygons and polylines items in SVG files without the customary commas
- Fixed bug that caused moving to the corners to not work for SVG files if the "Use Input CSYS" was selected for DXF files.

Changes in Version 0.19

- Fixed SVG import error for SVG files with extra spaces in point definitions

Changes in Version 0.20

- Fixed bug that resulted in 45 degree angles (and other shapes not straight lines) being cut faster than horizontal and vertical lines.
- Added keyboard shortcuts for some main window functions
- Fixed divide by zero error when running g-code with very slow feed rates
- Added support for hidden layers in DXF files
- Improved interpretation of some DXF files
- Added ability to save and run EGV files. Can run EGV files made by LaserDRW and generate files that can be run from LaserDRW.
- Changed behavior after number of timeouts is exceeded during a design run. K40 Whisperer will continue to try running the job until the user stops it. Previously and error window would pop up and the job would be terminated without user intervention. During pre-run moves the error window will still pop up.
- Added logic to wait for the laser to finish running a job before the interface becomes active again.

For the full history look at the
K40 Whisperer Change Log


This should be considered experimental software. I have tested it but there may still be some unknown issues.

(Right click on the link and select "Save target as" or "Save link as")
K40 Whisperer for Windows (32 bit) K40 Whisperer for Windows (64 bit) K40 Whisperer Source

Installation Instructions:

Setting up K40 Whisperer on Windows

Linux: Setup instructions for Linux are included via the README_Linux.txt file in the "K40_Whisperer-x.xx_src.zip" file.

Mac: Setup instructions for Mac are included via the README_MacOS.md file in the "K40_Whisperer-x.xx_src.zip" file.
(I can't help with Mac specific questions. I have no experience installing software on a Mac.)

Trouble Shooting:

Why blue or red items (or text) are not detected and how to fix it: Vector Colors and Text in K40 Whisperer
Why there are errors on SVG import and how to fix it: Input SVG File Errors

Creating Input for K40 Whisperer

1. Create your a design in Inkscape.
- Use RED lines to indicate cutting.
- Use BLUE lines to indicate vector engraving.
- Use BLACK to indicate raster engraving (this can be shapes, paths or images)
2. Adjust the size of the document to match the area you want to export (You can use "File" - "Document Properties" - "Resize Page to Content" to make the page the same size as your design)
3. Within Inkscape select "Save" to save the design as an SVG file.
4. Open the SVG file you just saved in K40 Whisperer.

Halftone (grayscale) Images with K40 Whisperer

In addition to red, blue and black you can also do greyscale with K40 Whisperer. The stock boards that work with K40 Whisperer are not able to controlling the power output by the laser. However, grayscale can be created by creating a halftone image (dithering) of the raster image. Below is an example of an image that was engraved with the halftoning option turned on in K40 Whisperer.
The truck photo came from Wikimedia Commons: Madrid_-_Fargo_Power-Wagon

In order to generate the halftone image in K40 Whisperer the Halftone setting in the Raster settings needs to be selected. When the Halftone option is turned on the image displayed in K40 Whisperer will be shown in grayscale. There are some settings for the output levels. The defaults should work pretty well. Here is a brief explanation of the settings:

Slope, Black: This is the ratio of the output level vs the input level on the dark end of the grayscale spectrum. Increasing this value will make the darker areas of the image get darker at a faster rate but but more of the image will remain lighter. If a lot of your image appears too dark you can increase this value. (A value of 1.0 is no adjustment. The K40 Whisperer default has some adjustment based on my experimenting)

Slope, White: This is the ratio of the output level vs the input level on the white end of the grayscale spectrum. Decreasing this value will result in the lighter parts of the image become lighter at a slower rate as you approach the white side of the grayscale spectrum. (A value of 1.0 is no adjustment. The K40 Whisperer default has some adjustment based on my experimenting)

Transition: This setting determined how abruptly the transition from the black slope to the white slope occurs. The larger the number the sharper the transition.

K40 Whisperer Videos

These videos are the closest thing I have to a manual at this point in time. A text based manual will come eventually but these videos will have to do until that time comes.


Making a Design in Inkscape

Engraving a Picture Using K40 Whisperer

Advanced Settings in K40 Whisperer

Using G-Code with K40 Whisperer

Related Links

Laser Draw Inkscape Extension: Save Laser Draw (LYZ) files from Inkscape.

Scorch's Home
Scorch Works Home
Scorch Works Blog
@scorchworks On Twitter