Abbott Analytical Products

Fishing Lure Mobile:

Brief Summary of Project:

This project did not involve any special CAD/CAM/CNC knowledge. The design concept was borrowed from a similar fishing lure mobile that was seen at a cafe/garden shop. The cafe version was selling for over $80. Hanging on display it was about 36 to 48 inches long. It had about eight/ten large lures with their hooks. Separating each lure was a piece of wood. The wood varied in quality from ink pen blank to "rough-hewn". The cable used to suspend the various lures and wooden pieces was large with correspongingly large metal cable clamps. Both the cable and clamps exhibited a light rust pinta. The lures appeared to be squashed between the piece of wood. The retailer did not back-off the price.

Retail Version:

Enhanced Version:

The "borrowed" design concept has been executed twice now as gifts. This proved to be a good activity for involving the wife: wood, colors, beads, lure arrangement, etc. This version of the borrowed design concept has a shorter suspension length. The hole for threading the cable through the lures were located individually at the "balance spot" of each lure. As such the lures are positioned on the cable without yawl or twisting about their dorsal axis. The center holes for wooden pieces were located at the geometric center of the top face of each piece. Between each lure and piece of wood there is a bead that improves articulation of the assembly. A heavy duty salt water swivel was added to allow additional articulation at the top loop of the cable. Finally at the bottom loop of cable, an appropriate spinner lure was added for additional color and "bling".

Fishing Lure Mobile: Balance, drilling, layout, assembled.

Parts List:

Part Quantity Subtotal Source Part Detail Description





3 Ft

1 Kit


1 Pack


$ 0.78

$ 1.28


$ 3.06


$ 0.00





Blue Hawk 1/16 in Weldless Galvanized Steel Cable
Diameter 0.062 inch
Safe Working Load 96 lbs
Color/Finish Family Silver
Blue Hawk Ferrule & Stop Kit
1/16 in Aluminum
2 Ferrule & 2 Stoppers per Kit
Fresh Water Lures
Less Hooks
Brushed Bead Mix
Length: 8mm Diameter: 14mm
Package contains 30 grams of beads
Wooden Ink Pen Blanks
Bundle pricing
Various type.
Matched to size

Discussion of Process Flow
This project was designed, kitted, milled, and assembled on-the-fly. The equipment and tools listed below could have been replaced by any array of power and/or hand tools. The process steps listed further below are a good rendering of the actions taken to create the project.

With the exception of purchasing slightly exotic woods, this project was executed "on the cheap".

The real challenges were:

Shop Equipment:

Tool Bits: (Adjust T?? P?? to suit Tooltable)

Process Steps:

The project was executed in the following stepwise manner

Acquire Parts From the Part List
Identify Balance Spot of Each Lure
Balance Lure on Vise Mounted Straight Edge
View Lure's Top Side from Above
As Equilibrium is Achieved,
Place Sharpie mark
at the intersection of Straight Edge and Lure
as viewed from above.
Repeat until all lures are marked
Start LinuxCNC Session
Move to Sherline Vertical Mill
Install Holding Vises
Install the 5/64 DeWalt medium length drill bit
Install Lure to Be Drilled
Using the Ice Pick
Eyeball the "best fit" point on the lure's Balance Spot
Manually drive the Ice Pick into the lure to create a "Starter Hole"
Attempt to align Lure along X/Y Axes
Move the drill bit to a point just above the Starter Hole
Drill the 5/64 in Hole through the Lure
Slowly, cautiously monitor the progress of the drilling operation
Once the drill cleanly exits the bottom of the lure stop movement in the -Z direction.
Slowly, gently reverse movement (+Z) of the spindle driven drill.
Return the drill pint to the Z home/safe location
Repeat until all lures are drilled
Identify Center of Top Face of Each Wooden Blank
Inspect Blank to Identify "Best" Side Faces for Showing
With the Top Face identified
Mark the center point with an Ice Pick "Starter Hole"
Repeat until all blanks have their center "Starter Hole"
Move to the Drill Press
If the Blanks are the Same Size
Stack as many as possible given the Drill Press's Throat
The Blanks should be stacked with the Starter Hole/Top Fact facing Up
If the Blanks are sized grossly different
drilling must be individually executed
Install the Snappy 5/64 in long length drill
Load the "Stack (one or more Blanks" to be drilled
Align the Stack
Members of the Stack have faces aligned
The top most member's Top Face Starter Hole
Should Be Directly beneath the drill bit
Slowly drill the hole through the Stack
Slowly withdraw the drill bit to its home
Repeat until all Stacks are drilled
Final Assembly
Layout components in the desired sequence top to bottom
Select one end of the cable as the threading end.
Trim the end of the thread cable
Temporarily clamp the other end
Threading the assembly
Thread bottom most component to the temporary clamped end
Repeat with the next bottom most component
Insure orientation Top/Bottom is maintained
Inspect once the last component has been inserted
Create the Top Loop of the Assembly
Insert cable into one channel of the ferrule
Insert the Swivel (if desired)
Form Loop
Insert cable into second channel of the ferrule
Insert cable into Stopper
Snug the Stopper/Ferrule
To the point where Loop/Cable
Sizing Can Still Be Adjusted
With "Modest" Effort
Create the Bottom Loop of the Assembly
Insert cable into one channel of the ferrule
Insert the Bottom "Eye Catcher"
Form Loop
Insert cable into second channel of the ferrule
Insert cable into Stopper
Snug the Stopper/Ferrule
To the point where Loop/Cable
Sizing Can Still Be Adjusted
With "Modest" Effort
Make Final Adjustments to Loop/Cable Sizes.
Make Final Distorting Clamp on Ferrules/Stoppers
Remove Excess Cable Length Runout From Stoppers
Carefully Brush the Work Area with Strong Magnets
To Remove Metal Strands/Debris resulting from Cable Trimming!
Perform a Final Inspection
Install Lure Mobile as Desired

Lessons Learned

Wooden Puzzle Box:

Brief Summary of Project:
The intent was to create suitable wooden puzzle box as a specific gift. The project involve creating matching puzzle box components with interlocking dovetail slots/tabs. This variant of prior wooden boxes required additional CAD skill and on-the-fly design changes at milling. The major project break came from rotating the design center line 45 degrees. The design manufacturibility feasibility was verifeid simulation runs on a standalone LinuxCNC PC and then using scrap material on a Sherline 8580 NexGen controlled by LinuxCNC 2.8.

General Puzzle Box Images

Discussion of Process Flow

The development of the puzzle box involved a couple of false starts, going down various rabbit holes, using spikes as needed, employing maturing iterations during the design process, and more than a few scrap runs at the CNC bench. The PuzzleBox desgin was rendered using FreeCAD. The desgin was executed in builder's grade yellow pine using Sherline 8580 NexGen running under LinuxCNC/Ubtunu. A short period of sanding, surface preparation, and staining yielded a Rosewood stained Puzzlebox. The presentation of the Puzzlebox as a gift was well received.

Design Rendering: FreeCAD Phase

The first false start involved FreeCAD 19. This version of FreeCad proved to be unusable as installed. The FreeCAD 19 installation required a complete restoratiion of the system backup image (Clonezilla). Special thanks go to Mark Ganson for his efforts to introduce me to FreeCAD 19 and the Dovetail Design desing feature it offers. Time constraints and my uncertainity of using the feature forced abandoment of this effort.

Upon restoring FreeCAD 18.4 the focus was on creating the bottom of the puzzlebox object first. Early in the design process it became obvious the desgin simplification that could be derived from translating the design (bottom and lid) 45 degrees. This allowed for changing one dimension at a time as one moved along the centerline or above/below.

Once the bottom design of the puzzlebox was achieved the matching puzzlebox lid was created mirroring the surface features of the bottom. At this point there was no attempt to generate dovetail cuts for the slots or tab. Instead the effort centered on identifying cut regions and no cut regions for the bottom and the lid. The concept was to specify first the major milling cuts on the bottom and create the associated toolpath gcode. Then the dovetail cuts for the the bottom and lid would be sepcified. This portion of the FreeCAD project desgin data was captured in the corresponding spreadsheet. As the design evolved the decision was made to put the locking mechnaism (locking pin, strong magnetic material, the locking mechnism hole) on the Lid at one end of the Lid's center slot along the Lid's centerline.

Two "raw" Job tasks outputs were derived from the FreeCAD Phase of the project. These two bodies of gcode were then split into two sets of gcode programs. Each gcode program had a suitable header added, various variables defiend, o-code inserted, substituted variables, adjusted for tooling difference between FreeCAD and the LinuxCNC tooltables, and added LinuxCNC specifc syntax.

Design Dovetail Cut: LinuxCNC Simulation Phase

FreeCAD 18.04 does not exactly provide features/tasks for creating the long slots and tabs that the puzzlebox required. It does provide the capability to generate gcode outputs that support creation of outlines/boundaries and the creation of channel cleanouts (pockets) that will accommodate the slot/tab features of the puzzlebox.

Both the slot and tab features of the puzzlebox are composed of a long dovetail cut and a channel cleanout. These sequence of development and production followed gcode for Object Outline with Cut/No-Cut Regions, gcode for four Dovetail Cuts, and for Channel Cleanout. FreeCAD design rendered outputs yielded a collection of gcode for the Object Outlines and for the Channel Cleanouts. The FreeCAD spreadsheet for the project also provided a library of data for the manual development of the eight Dovetail Cuts (four each for Bottom and Lid).

LinuxCNC provides three sets of syntax that supported the gcode generation. The first set of syntax was the standard gcode . The next set of syntax provided was o-code. The final set of syntax is composed of user defined programs referenced as m-code (100-199).

  1. Set project specific variables.
  2. Set general dovetail cut specifc variables
  3. Identifiy bevel shape specific variables for usage in dovetail cutting loop subroutines.
  4. Set bevel location variables
  5. As deemed needed, execute a first test cut for each of the four dovetails/bevels.
  6. Execute a dovetail cut loop subroutine for each of the four bevels:
  7. Start next dovetail cut loop for bevel's subroutine
  8. Move to the next bevel
  9. Repeat Steps 6,7,8 until done

Design Execution: LinuxCNC Production Phase

The suggested sequence/order of milling to use in the CAM phase of the project is given in the following two sets of gcode.
gcode File Tool Purpose Comments

Gcode For Puzzlebox Bottom
Use Home and Check Holes to verify before starting
s001_02_104.01c_02_179.983_038_outline_boxBottom.ngc Dremel Scribe Displays cut and no cut regions for bottom and slots. Abort at anytime confidence is reached.
s002_03_104.03_26_038_dovetail_slot_bevel_single.ngc Dovetail Cutter Forms dovetail groove of slot Creates four bevels
s003_01_104.01_04_179.983_038_boxBottom .ngc 1/4 inch longshaft tool Executes the mill cutting tasks for slots and cylinder. Provide "rough" mate for lid's "pin-key"
s004_04_104.01_03_179.984_038_contours.ngc 1/4 inch longshaft tool Cuts tags and contours for bottom. Same toolpath as used on Lid. If issues arise use a bandsaw with high tpi.
Gcode For Puzzlebox Lid Use Home and Check holes to verify before starting
s005_03_104.02c_02_179_985_outline_lid.ngc Dremel Scribe Marks the cut/no-cut regions of the lid and outline Abort at anytime confidence is reached.
s006_06_104.04_19_038_dovetail_tab_bevel.ngc Dovetail Cutter Forms dovetail shape of the tab Creates four bevels.
s007_07_104_038_179_982_lid.ngc 1/4 inch longshaft tool Executes the mill cutting tasks for tabs, cylinder, and lock. Creates "pin-key" hole

1/4 inch longshaft tool Cuts tags and contours for lid. Same toolpath as used on bottom. If issues arise use a bandsaw with high tpi.

Check Holes:

For a level of confidence that "all is well", properly Home-d, and running without issues "Check Holes" were created and readily used to test the validity of CNC control. This is not a requirement, but a best practice in AAP's shop. Test holes were created immediately after the first, original setting and verification of "HOME". Suggested Check Holes' dimensions are provided further below. Drop back tp testing the currently active tool as often as deemed neccessary. One of the best "decision points" is the "Abort or Continue" dialogue. That dialogue window provides enough time to think, decide, and abort to test.

Dremel Scribe Engraver

Hole1: x0.00, y3.00 z See Note1, Note2
Hole2: x0.00, y-3.00 z See Note1
Hole3: x6.00, y-3.00 z See Note1

1/4 inch longshaft
Hole1: x0.00, y2.00 z See Note1

NOTE1: z should be set to suit the unique CNC setup that allows the operator to repeatably place the
end mill into the Check Hole feature or to gap check Home at the Zero point on the Z-axis. For the Dremel
scribe the depth should be as shallow as possible but visible. For the 1/4 inch longshaft make it deep enough
to allow a determination that the tool is or is not marring/cutting the sides of the hole as it progress toward
the bottom of the hole.

Use the MDI tabsheet to locate the endmill bit over the test Check Holes and the Z-Axis jog to reach
the "test depth touch".
MDI Tabsheet Commands

NOTE2: Use one of the many jogging devices/features of LinuxCNC to manipulate z axis travel: down/up. Attempt
lower the endmill (scribe or longshaft) to just "touch" the Check Hole of interest. The jogging device may be used
to reset X, Y Home as required. If resets are require it is wise to and retest Check Holes, Home, and objects
tOutline as neccessary to achieve repeatability.
One of various possible jogging devices/approaches.

Sites with Helpful Insight regarding skills and knowledge required for this project are listed below:
  1. FreeCAD Spreadsheet utilization in the design process
  2. Rudimentary Dovetail Cut Degsign: 047 FreeCAD dovetails
  3. Ballpark Dovetail Cut Calculator
  4. Real World Dovetail Cut Milling: Matching Slot and Tab Dovetails video provided a recommended the slot and then work the fit of the tab.

Puzzle Box Design Supporting Artifacts

Tool Table Entries Tool and Pocket identifiers are those defined by the toolable used by the LinuxCNC based CNC (simulator and Sherline 8580 NexGen). Corresponding gcode and tooltable modifications are required to conform to each unique CAD/CAM setup.

Useful Images:

General Knowledge Design Simulation Project

45 Degree Triangle

30-60 Degree Trianlge

Layout for Dovetail Cuts

LinuxCNC Setup
Add Lines to *.ini

Add Files to Folders

Dialogue Messages
Verify Location

Verify Readiness to "GO"

Shop Support

FreeCAD 18.04



Jobs to gCode

Puzzle Bottom

Outline Start-- Stop

Bevel Cuts ---- First Cut

More First Cut Testing

Bevel Cuts For Record

Cleanout of Channel

Cylinder + Drill Cuts

Contour + Tags

Puzzle Lid


Bevel Dovetails Cuts

Cleanout + Drill

Contour and Tags

Finished Puzzlebox

Display Puzzlebox

Test Bottom - Lid

Test Runs for Lid

Almost Good Lid

Check Holes
Move To Test Hole

Not Used

Please send comments or questions using e-mail, voice telephone at 919-846-7705. (Last update: June 4, 2021 tar)