Prototyping Microfluidics: CNC Machining Serpentine Microchannels - Speeds and Feeds Testing
Published by Alex Hwu on Dec 16th 2024
Prototyping microfluidics using a CNC machine is a valuable skill. Hobbyist CNC machines are a resourceful tool for learning the concepts and process. In general, CNC prototyping will be limited to depth accuracies, surface finishes, and specific applications but let’s see the process of testing speeds and feeds for some 400-micron width serpentine channels machined on a $300 CNC.
Disclaimer: This is for educational purposes only and not instructional. Operating CNC without proper training and safety precautions can lead to bodily injuries.
Speeds and Feeds
Speeds and feeds refers to the cutting parameters of the tool (cutting speed and feed rate). During the CNC machining process, the spinning tool is fed across a workpiece at specific depths to cut (chip) away material. Identifying proper speeds and feeds is required for different material/tool combinations and can be an intimidating process. Non-optimal cutting parameters could lead to poorly defined cuts, workpiece burning/melting, tool breakage, and injuries. While intimidating, the best way to set speeds and feeds is to incrementally test different cutting parameters demonstrated below.
Materials Used
3018-PROVer V2
• GS-775M Motor Upgrade
• MDF Spoilboard for 3018 (1/9/25 update: not recommended because of non-uniform flatness)
• 3D-Printer Tent (Protective Shield & Cleanliness)
Computer with Fusion 360 & Candle (Grbl Control)
Acrylic Sheet Clear Plexiglass 5” x 7” 0.04” Thick (1mm)
0.3mm Carbide End Mill
Painter’s Tape
Super Glue
Canned Compressed Air
G-Code for Serpentine Channel Design
Setting up my G-Code is accessible thanks to Fusion 360’s free license. In the video, I pattern a set serpentine channels (0.4 mm Width x 0.2 mm Depth) and go through the entire process of configuring the channels as 2D pockets for machining which includes adding my 0.3mm End Mill to my tool library. I keep my Spindle Speed at 20000 RPM, Plunge feed rate at 50 mm/min, max cut depth at 0.1 mm and vary my cutting feed rate from 100 mm/min to 300 mm/min in 50 mm/min increments to assess the cut quality for the different channels. Finally, I post-process using Grbl (installation instructions for Fusion 360) to obtain my G-Code for testing.
Work Piece Mounting
Securing thin plastics to the work bench can be tricky when using clamps. Uneven clamping pressure will cause the acrylic to bow in the center, resulting in poor depth uniformity. I would typically use double-sided adhesive but I could not find any off-the-shelf adhesives that adhered to the craft liner protecting the acrylic so I end up using painter’s tape and super glue, which I would consider a safety hazard. Improperly secured work pieces can be dangerous. I avoid machining regions of acrylic that are not lying entirely flat and set the machining surface at an area where the glue has a good adhesion on the acrylic.
Serpentine Machining
When machining acrylic, cast acrylic, which typically has nonuniform thickness, is preferred over extruded acrylic. Extruded acrylic has a lower melting point, making it more susceptible to gumming up the tool but I just ended up buying whatever was on Amazon to show that it is still possible to machine extruded acrylic. After mounting my work piece and loading the first file, I zero my z-axis and set my origin at a location where the acrylic is lying flat (setting origin and z-axis). I load and cut my G-Code files one at a time while maintaining the same origin but ensuring I re-zero my z-axis for each G-Code file to compensate for nonuniform flatness across the work piece. While machining, I use canned compressed air to minimize accumulation on the tool and in the channel.
Results
From bird's eye view (in video above), the channels turned out better than expected. I was breaking tools when using Plunge feed rates greater than 50 mm/min. The image below shows full focused of the top and bottom of the microchannels (courtesy of Ehsan Shamloo). The machining marks and burrs at the edge of the channels are quite evident but should these be a reason why one wouldn't use a CNC for prototyping or research?
Limitations
Depth Accuracy: While burrs will slightly increase channel widths, cut depths will be a main consideration for whether CNC is suitable for prototyping. A variety of variables can affect the final depth of the CNC’d feature. Some of the main considerations include flatness of the spoilboard, thickness uniformity of the work piece or stock material, perpendicularity of the CNC’s z-axis (tram), tool wear, and method used to zero my z-axis. When zeroing the z-axis of each G-Code file, I noticed a difference of 40 microns to 90 microns between the different machining areas, which could be attributed to the thickness of the paper. I wouldn't be surprised if the channels were off by 100 microns.
Surface Finish: The CNC’d channels and chambers will have machining marks. The increased roughness also means an increased surface area, which can affect flow profiles and protein adhesion (adsorption).
Application Dependent: A CNC can be a versatile tool for prototyping microfluidics. Given the previously mentioned limitations, my budget CNC is clearly not meant for features <100 microns, end-stage product development, or high-precision volume requirements. However, if one needs to test proof-of-concept and want fast iteration, it will do the job.