K40 Whisperer Error

K40 Whisperer – Input SVG File Errors

K40 Whisperer is a bit finicky about the SVG files that it will accept.  If you are importing files from sources other than a recent version of Inkscape (v.91 or v.92) you will likely be confronted with an error indicating that the SVG scale cannot be determined (i.e. “Cannot determine SVG scale.”).  This error or an error indicating that the  “Units not set in SVG File” is displayed when K40 Whisperer does not have enough information to conclusively determine the intended physical size of the design in the SVG file. K40 Whisperer attempts to provide some guidance to assist in getting the SVG file into a format with the needed information. However, the information provided is sometimes incomplete.  I am working toward making K40 Whisperer more flexible with respect to the file formats it will accept but until that task is completed here are a couple of procedures to make your SVG files work with K40 Whisperer.

Procedure Option A:

    1. Open a new SVG file in Inkscape V.91 or newer.
    2. Select “File”-“Import” to import the SVG design you want to use.
    3. Format the page size as needed (usually done by selecting “File”-“Document Properties”-“Resize page to drawing or selection”)
    4. Verify the “Units” are set to “mm” or “inches” in the “Custom Size” section of the “Page” Tab in the Document properties
    5. Save the new SVG file.

Procedure Option B:

    1. Open the SVG file you want to use in Inkscape V.92 or newer
    2. Selecting “File”-“Documents Properties”
    3. On the “Page” tab locate the “Scale x:” value and note the value.  Change the value to another number and press enter.  The new value can be anything.  (Increasing the value by a small number like .001 makes it easy to change it back in the next step.)
    4. Change the “Scale x:” value back to the original value and press enter.
    5. Verify the “Units” are set to “mm” or “inches” in the “Custom Size” section of the “Page” Tab in the Document properties.
    6. Save the SVG file.

These procedures will each result in an SVG file that contains the necessary information to indicate the real physical size intended for the SVG file. This information is partially encoded in the viewbox attribute which is added to the SVG file when either of these procedures are followed.

Color and Text

K40 Whisperer – Vector Colors and Text

In K40 Whisperer the red and blue vector paths in SVG files are converted to vector cut and vector engrave paths respectively.  A few people have experienced problems getting the red and blue lines to come into K40 Whisperer properly.  Here are a few of the common pitfalls that people encounter when reading SVG files into K40 Whisperer.

1. Blue and red colors in images are not converted to vectors.

If there is an image in the SVG file that contains blue or red the colors in the image are not recognized as a vector cut or engrave feature because the colored portion of an image is raster data not SVG path data.  K40 Whisperer does not convert raster images to paths. If you want to convert a raster image to vector engrave or cut paths you can use the bitmap trace feature in Inkscape  to convert bitmap image to paths before sending the SVG file to K40 Whisperer.  The trace bitmap feature in Inkscape is located in the menu bar under “Path”-“Trace Bitmap”.

2. Fill colors are not interpreted as vectors; only the stroke colors for objects are converted to vector cut/engrave paths.

Shapes/lines in SVG files have fill colors and stroke colors.  Only the stroke colors are interpreted as vector cut/engrave features.  K40 Whisperer does not try to convert the filled portion of a shape to a vector path.

3. Text is a special kind of object usually defined by fill color.  Text stroke color needs to be set and the text needs to be converted to paths in order to be interpreted as vector data.

3a. Although text may look like strokes (depending on the font) generally standard fonts consist of outlines that are filled with a color.  So if you want to vector cut a standard font you need to change the stroke color for the font.  Then you can vector cut the outline of the font (see 3b for an additional step necessary to make this work).  If you don’t want to cut/engrave the outline of characters you will need to use a special font that consists of strokes not outlines, these fonts are commonly referred to as stick fonts.  There are a variety of stick fonts available in the Inkscape Extension for Hershey Text.  To access the Hershey Text fonts in Inkscape go to “Extensions”-“Render”-“Hershey Text…”.  You can use the dialog that opens to create the text then change the stroke color to red/blue to engrave/cut. (3b. below does not apply to Hershey text).

3b. In order to vector engrave/cut the outline of standard text you also need to convert the text to paths in Inkscape using the menu options “Path”-“Object to Path”.  After the text is converted to paths K40 Whisperer will recognize the text as vector engrave/cut data if the color coding of red/blue is used. In the future K40 Whisperer will be able to convert text to paths on the fly but for now it needs to be done manually.


K40 Whisperer– K40 (Cheap Chinese Laser) Control Software

After months of reverse engineering I am happy to announce that the initial version of K40 Whisperer is available for download under the GPL License.  K40 Whisperer is software written to interpret SVG and DXF data and in turn communicate the design information to the K40 Laser Cutter (using the stock M2 Nano Controller board).  This software is essentially a replacement for the Laser Draw (LaserDRW) software that comes with the stock K40 laser.  When using K40 Whisperer the USB key that is required for Laser Draw is not required.  The initial release only supports the M2 version of the K40 controller board.  If I can get other K40 owners to test with other versions of the controller board future versions will support more board versions.

K40 Whisperer has been tested with Windows (XP, Vista and 10) and Linux.  It should also work on a modern MAC computer, although this has not been tested.  Full instructions for setting up K40 Whisperer are available on the K40 Whisperer web page.  Linux instructions have not yet been written.

K40 Whisperer attempts to solve some of the basic problems with Laser Draw such as the difficulty with properly scaling designs and combining engraving and cutting on one work piece.  A previous attempt at solving these problems was the Laser Draw Inkscape Extension which allows users to send data from Inkscape to Laser Draw.  This Inkscape extension is also available on the Scorch Works web page.

Below is a screen video providing an overview of the operation of K40 Whisperer.

Laser Draw Inkscape Extension for K40 Laser Cutters

A couple of months ago I wrote an Inkscape extension that allows users to save LYZ files that are compatible with Laser Draw (LaserDRW).  Laser Draw is the software that comes with many of the cheap chinese laser cutters.  The Inkscape extension makes it easier for users to get consistently scaled output.  This is especially helpful when doing multiple operations on a single work piece (i.e. raster engraving, vector engraving and cutting).

The Inkscape Extension is free and open source (GPL).  The extension is available for download on its web page: Laser Draw Inkscape Extension.

On the ScorchWorks YouTube Channel there are a couple of relevant videos.  The first video talks about the extension and goes through making a design from scratch in Inkscape.

The second video walks through modifying an existing design for use with the Inkscape extension.

Spring Loaded K40 Laser Platform

I built a spring loaded platform for my K40 laser.  The purpose of the platform is to allow for the use of different thicknesses of material while maintaining the correct distance to the surface of the material so the laser is always focused at the material surface.  I achieve this by having springs push the platform up to a hard stop formed by a piece of angle aluminum.  When an item is placed on the platform a small portion of the material is pushed under the hard stop surface.  Then the springs push the material up until the top surface of the material is positioned at the laser focus height by the hard stop.

I don’t have detailed plans but I tried to give enough information in the video for someone to replicate the design if desired. Below is a list of the materials I used and the tools needed to perform the build.

If you have questions I can be contacted by e-mail at the address in the image at the bottom of the Scorch Works Home Page.

Materials used:

  • Aluminum flat bar, 1 inch x 1/8 inch x 36 inch long  (Home Depot has 48 inch lengths)
  • Angle aluminum, 1 inch x 1/8 inch x 36 inch long  (Home Depot has 48 inch lengths)
  • Angle aluminum, 3/4 inch x 1/8 inch x 36 inch long  (Home Depot has 48 inch lengths)
  • (Qty 4)  Spring, 3/8 in diameter,1-7/8 inch long, 0.025 wire diameter   (From local hardware store)
  • (Qty 8) Machine screw, 10-24 x 2-1/2 inch long
  • (Qty 8) Machine screw, 6-32 x 3/4 inch long (for holding brackets to rails and 3D printed parts to the top brackets)
  • Drinking straw to cover the threads on four of the 10-24 screws (optional, but nice to have)
  • (Qty 4) 3D printed standoffs to set the height of the angle aluminum hard stops (these could be replaced by small diameter pipe or tube cut to length or a small piece of wood with holes drilled)
  • (Qty 4) 3D printed spacers to extend the travel of the springs (these could be replaced by small diameter pipe or tube cut to length or a small piece of wood with holes drilled)
  • Expanded metal sheet, 1/2 inch x 12 inch x 24 inch (Home Depot)

Tools Needed:

  • Screw driver
  • Hand Drill
  • Set of Drill bits
  • Hacksaw (or metal cutting band saw)
  • 10-24 Tap
  • 6-32 Tap

Prism Shaped Name Plate for Kaitlyn

I made a three sided nameplate for my goddaughter Kaitlyn’s 1st birthday.  The main body is basswood and “Kaitlyn” is inlayed on each side of the equilateral triangle.  The inlays were done using the v-carve inlay technique.  Each side has a different font and inlay wood type (walnut, wenge and padauk).  I used F-Engrave to generate the g-code for the inlays.  Below are some pictures of the final product and below I have a few in process pictures.





Here are a few in process pictures:

Pre inlay, the name has just been v-carved into the basswood


Here is one side ready for gluing the wenge inlay wood into the basswood.  I started with a rectangular piece of basswood and when I cut it into the triangular shape I saved the cutoff parts to make a fixture for holding the part while v-carving on each flat side.  I made the fixture by gluing the cutoff parts to a piece of scrap.  You can see the edge of the fixture under the basswood in the picture below.


Here is the part with all of the inlay parts glued into the basswood.  The last step in the inlay process is removing the excess material from the inlay wood.


Finally a few close-ups for fun so you can see some of the detail.


Everything went pretty smoothly except for the padauk side.  Red dust from the padauk spread all over the surface of the basswood while I was sanding the inlayed wood down.  I managed to remove most of the dust and finished by scraping the surface instead of sanding.  If I do a padauk inlay again I might try sealing the surface of the base material to minimize the amount of dust that can get trapped in the base material.

commentators (Custom)

BattleBots Spinning Top Arena with Makey Robot Fighting Tops

I made a mold for injection molding Makey Robot spinning tops a few weeks ago. The tops are designed to be giveaway items at Maker Faire Milwaukee 2016.  I plan to injection mold them and hand them out during the Maker Faire.  Below you can see a picture of the aluminum mold and a few of the Makey tops that I have molded while testing the new mold.


With all these tops around the house I thought it would be interesting to have a small fighting arena for them.  It made sense to model the arena after the BattleBots arena since the tops that will be fighting in it will be Makey Robot tops.  Our family loves to watch BattleBots and I thought it would be a fun build just in time for the BattleBots season finally on Thursday (September 1, 2016).

Below you can see a short video of the arena and tops in action (we had a little fun with the intro.)  At the end of the video there is a an abbreviated build video.

SnapShot(26) (Custom)

Solar Wobbler Modification


Somewhere along the line the flower broke off of the solar wobbler that we had lying around the house.  When it broke I shoved it in a drawer thinking that I would modify it into something new someday.  I finally got around to pulling it back out of the drawer and fixing it up.  Below I layout the steps that I took to modify the wobbler.  More of the process can be seen in my Wobbler YouTube Video.  The 3D model of the wobbler I 3D printed is available on Thingiverse (3D Wobbler).

Step 1: Break your solar wobbler (mission accomplished)

SnapShot(1) (Custom)

Step 2: Carefully separate the two halves of the base outer housing.

SnapShot(2) (Custom)

Step 3: Remove the outer housing parts.

SnapShot(3) (Custom)

Step 4: Remove the leaf and flower components and remove the magnet

SnapShot(5) (Custom)

Step 5: Print a new wobbler part.  Use one of mine or design your own. The OpenSCAD files for my wobbler design is available on Thingiverse so you can modify it to make your own design.

SnapShot(6) (Custom)

Step 6: If needed finish the hole in the bottom of the wobbler to the tap drill size for a 1/4-20 screw thread ( #7 drill bit is best but a 7/32 bit would also work).

SnapShot(7) (Custom)

Step 7: Tap the hole in the bottom of the wobbler with a 1/4-20 tap.

SnapShot(12) (Custom)

Step 8: Finish the hole for the shaft (a small nail).  The finished size of the hole should be slightly smaller than the nail to produce a press fit.

SnapShot(9) (Custom)

Step 9: Insert the nail in the finished hole

SnapShot(13) (Custom)

Step 10: Press the nail into the hole using a vice, arbor press or pounding into the hole.

SnapShot(14) (Custom)SnapShot(15) (Custom)

Step 11: Screw in a small piece of threaded rod into the hole in the bottom of the wobbler

SnapShot(19) (Custom)

Step 12: Lock the threaded rod in place with a nut.

SnapShot(21) (Custom)

Step 13: Place the magnet on the bottom of the threaded rod.

SnapShot(22) (Custom) SnapShot(23) (Custom)

Step 14: Install the wobbler and check the clearance between the magnet and coil.  You want the magnet to be close to the coil without any possibility of making contact.  At this point it is a good idea to make sure everything is working properly.  Set the wobble on a table in a strong light.  If the wobble is not working well try flipping the magnet over.  The wobbler will work better with one of the two magnet sides facing the coil because the coil is only energized in one direction not an alternating direction.

SnapShot(24) (Custom)

Step 15: Reassemble the wobbler.  Before assembling mine I panted the housing black with Spray paint.

SnapShot(25) (Custom)

Step 16: Wobble….


My design is very simple and it works but I can only imagine that there are more creative people out there that can come up with far more elaborate designs for these cheap solar toys. Below is another version I made with my logo in place of the HackADay Jolly Wrencher.


Homemade EDM (Electric Discharge Machining) Machine

I made the majority of this homemade EDM a long time ago.  Recently I have been finishing this project by making a better structure for the linear actuation, adding labels to the controls and other miscellaneous items.  In the video below I discuss the EDM and show a couple of the parts that I have cut.  At the end of the video you can see a short clip of the EDM in action.  At the end of this BLOG post I included pictures of a neodymium hard drive magnet cut using this EDM.

My homemade plunge EDM (electric discharge machining) machine built based on the book “Build an EDM” by Robert Langolois.  The book consists of a series of articles that originally appeared in The Home Shop Machinist.

I deviated from the book in a couple of ways. First I sourced some of the components from scrap electronics and an electric clothes dryer that I picked up for free on the side of the road. The main transformer came from a microwave oven along with a cooling fan. A smaller transformer was sourced from an old stereo. The heating coil that I used as a power resistor was also taken from the old electric clothes dryer.

Additionally I used a sand cast aluminum part to support the linear actuator components and finished the whole thing off with a few custom 3D printed parts to fasten the linear actuator parts together.

Here are a couple pictures of a neodymium hard drive magnet that I cut using the EDM.  Here is the before picture with the electrode that I used:
This picture shows the magnet set up for cutting. The magnet is placed on a utility knife blade which is clamped into a small plastic vice.
KIMG0032 (Medium)
Finally here are the two parts created by cutting through the magnet with the EDM.



ScorchCAD Updates (Version 2016.05.04)


In the past week I have updated ScorchCAD a couple of times.  The first update helped verify that the autocomplete function in the ScorchCAD Editor was causing cashing and other bad behavior on some android devices.  Since the autocomplete function was causing problems I added a menu option in the editor to disable the feature.  In the latest version the autocomplete function is turned off by default.  The reason I did this is because I imagine it would be very frustrating to download ScorchCAD and have it crash or otherwise act badly in the first few seconds of trying to write code in the editor.  So if you like the auto complete function you will need to enable it on your device after the upgrade.

The second Item that I want to mention here is another menu option that I added in the editor.  This item is called “Link File”.  “Link File” will automatically generate the OpenSCAD code to “include” a file from your devices file system.  The file to link is selected using a file selection dialog then the code to include the selected file is automatically generated.  This essentially links the external file to ScorchCAD allowing the user to edit the linked (included) file using an external editor of their choice.  To compile a file that was edited with an external editor it is just a matter of switching back to ScorchCAD and selecting the compile button.  The link command will also work with STL and DXF files.  STL and DXF files will automatically generate an “import” command rather than “include”.