Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
How to Use Visolate for Isolation Routing: The Complete PCB Engineer’s Guide
As a PCB engineer who’s spent years perfecting in-house prototyping workflows, I’ve tried just about every Gerber-to-G-code tool out there. Visolate consistently stands out for one brilliant reason: it uses Voronoi diagrams to calculate the most efficient toolpaths possible. Instead of tracing around every single trace like most tools, Visolate finds the mathematical midpoint between adjacent traces and mills only there. The result? Shorter milling times, wider traces, and better current-carrying capacity on your boards.
In this guide, I’ll walk you through everything you need to know about using Visolate for isolation routing, from installation to generating production-ready G-code.
What Is Visolate and Why Should You Use It?
Visolate is an open-source Java application developed originally at MIT’s Distributed Robotics Laboratory. The name comes from “Voronoi Isolate,” which perfectly describes what it does: it isolates PCB traces using Voronoi diagram mathematics rather than simple outline tracing.
The Voronoi Advantage Explained
Traditional isolation routing tools work by tracing a path around each copper trace. When two traces run parallel, you end up with two separate cutting passes between them, even when they’re so close the passes might overlap. This wastes time and can cause issues with closely-spaced features.
Visolate takes a smarter approach. It calculates a generalized Voronoi diagram using your PCB traces as “seeds.” Think of it like this: imagine starting small fires simultaneously at every trace on your board. As each fire expands uniformly, it eventually meets fires from neighboring traces. The boundaries where these fires meet are your Voronoi cutting paths.
According to research published by MIT, this approach delivers an average toolpath length reduction of approximately 37% compared to standard outline methods. That’s significant time savings on every board you mill.
Key Benefits of Using Visolate
Benefit
Traditional Outline Method
Visolate Voronoi Method
Toolpath Length
Longer (two passes between adjacent traces)
Shorter (~37% reduction on average)
Trace Width
Fixed at design width
Maximized automatically
Current Capacity
Limited by designed trace width
Improved due to wider traces
Milling Time
Longer
Significantly reduced
Tool Wear
Higher (more cutting distance)
Lower
Close-Spaced Traces
Potential overlap issues
Single clean cut
System Requirements and Installation
Visolate is a Java application, which means it runs on Windows, Linux, and macOS without modification. However, it does have some specific requirements due to its unique GPU-based calculation method.
Software Dependencies
The application uses your graphics card’s 3D capabilities to perform geometric calculations, which is actually quite clever. This means you need Java 3D libraries installed alongside the Java Runtime Environment.
Install the Java Development Kit (JDK) from Oracle or adopt OpenJDK
Download Java 3D libraries from the official repository
Place the JAR files in your Java extensions directory
For macOS:
The process is similar to Linux. Use Homebrew to install dependencies:
bash
brew install openjdk
Then manually install Java 3D libraries.
Downloading Visolate
Source
Version
Link Type
GitHub (Traumflug)
3.1.1
Latest maintained version
SourceForge
2.1.6
Legacy version
Ubuntu Repositories
2.1.6
Package manager installation
The GitHub version maintained by Traumflug is recommended since it includes important fixes for modern operating systems and respects trace thickness in calculations.
Running Visolate
Once installed, launch Visolate from the terminal:
bash
java -jar visolate-3.1.1.jar
If you see error messages about missing libraries, double-check that Java 3D is properly installed and accessible to your Java runtime.
Windows Tip: Create a batch file containing java -jar visolate-3.1.1.jar in the same directory as the JAR file. This also opens a console window where you can see diagnostic messages, which is helpful for troubleshooting.
Preparing Your Gerber Files
Before loading files into Visolate, you need properly formatted Gerber outputs from your PCB design software. This is where many engineers run into their first problems.
Supported Gerber Features
Visolate reads RS-274X format Gerber files, but there’s a catch: polygon fills (G36/G37 commands) aren’t fully supported. If your design uses filled polygons, you’ll see a “TBD polygon mode” error.
Quick Fix for Polygon Issues:
Open your Gerber file in a text editor and remove:
All lines containing “G36”
All lines containing “G37”
Everything between G36/G37 pairs
Yes, you lose some geometry, but for many boards this workaround is sufficient.
gEDA/PCB Specific Considerations
If you’re using gEDA/PCB, the software generates non-round pins using polygons. For Voronoi milling, round pins work just fine. Edit your .pcb file and remove all instances of “octagon” and “square” from pin definitions, then re-export your Gerber.
Exporting from KiCad
KiCad exports in Gerber X2 format by default, which has caused compatibility issues with Visolate in some cases. Try exporting in legacy Gerber format if you encounter problems. Check the “Use Protel filename extensions” option for better compatibility with older tools.
Step-by-Step: Generating Toolpaths with Visolate
Now let’s walk through the actual process of converting a Gerber file to G-code.
Step 1: Load Your Gerber File
Click the “Browse” button at the top of the Visolate window and select your copper layer Gerber file. After loading, click “Fit” to center the design in the display area.
If your board doesn’t appear, check the terminal window for error messages. Common issues include unsupported Gerber commands or coordinate system mismatches.
Step 2: Fix Topology
Click the “Fix Topology” button. This step analyzes your design and identifies separate electrical networks. Visolate needs this information to understand which copper areas should remain isolated from each other.
The terminal will display how many nets were found and how many half-edge loops were created. This gives you a sanity check that the file was parsed correctly.
Step 3: Select Your Toolpath Type
Here’s where Visolate shines. You have two main options:
Voronoi Mode: Calculates the mathematically optimal path equidistant from all traces. This maximizes trace width and minimizes cutting distance.
Outline Mode: Traditional trace-following approach. Use this when you need precise control over trace width or when Voronoi results don’t suit your design.
Select your preference in the Processing section of the interface.
Step 4: Configure Tool Parameters
Set your tool diameter in the G-Code section. This value affects path offset calculations. For V-bits, enter the effective cutting width at your intended depth, not the tip diameter.
Step 5: Adjust DPI (Resolution)
The DPI setting controls the accuracy of your G-code output. Higher values produce more precise toolpaths with more G-code lines.
DPI Setting
Use Case
File Size Impact
100-500
Simple designs, fast milling
Small
500-1000
General prototyping
Medium
1000-3000
Fine-pitch components
Large
3000-5000
Maximum precision required
Very large
For most hobby work, 1000 DPI provides a good balance. Professional prototyping might warrant 2000-3000 DPI.
Step 6: Generate and Review Toolpaths
Click “Make Toolpaths” and watch the magic happen. Visolate will render the calculated paths on screen. Review them carefully, looking for:
Uncut areas between traces
Paths that come too close to traces
Missing isolation around pads
Unusual artifacts or errors
Step 7: Configure G-Code Output
Before saving, configure your G-code parameters:
Coordinate Origin: Use “left upper coordinates” to set where G-code 0,0 will be
Absolute vs Relative: Most CNC controllers prefer absolute coordinates
Z-depths: Set your cutting depth and safe travel height
Step 8: Save the G-Code
Click the save button in the G-Code section and choose your output filename. Always preview the resulting G-code in a simulator before sending it to your machine.
Visolate G-Code Settings Reference
Here’s a quick reference table for typical G-code settings:
Parameter
Typical Value
Notes
Z-Safe (Travel Height)
0.5-2.0 mm
Higher is safer, slower
Z-Work (Cut Depth)
-0.05 to -0.15 mm
Depends on copper thickness
Feed Rate
100-400 mm/min
Slower for V-bits
Spindle Speed
10,000-30,000 RPM
Higher is generally better
Tool Diameter
0.1-0.5 mm
Effective width at cut depth
Choosing the Right Cutting Tool
Tool selection dramatically affects your isolation routing results. Here’s what works in practice.
V-Bits (Engraving Bits)
V-bits are popular because they’re strong, fast, and can achieve very fine isolation widths. The tradeoff is that cut width varies with depth, so board flatness becomes critical.
Angle
Tip Size
Best For
10-20°
0.1 mm
Fine-pitch SMD, tight spacing
30°
0.1-0.2 mm
General prototyping
45-60°
0.2-0.3 mm
Wider traces, easier alignment
90°
0.3+ mm
Quick prototypes, large spacing
Sharper tips (10-20°) give finer cuts but are more sensitive to leveling errors. Every 0.1mm of depth variation changes cut width by 17% with a 10° bit, versus 200% with a 90° bit.
Flat End Mills
Flat end mills produce consistent cut widths regardless of depth, making them more forgiving of board warpage. However, small diameters (under 0.5mm) are fragile and require slower feed rates.
For most hobby CNC machines, a 30° V-bit with a 0.1-0.2mm tip offers the best balance of precision and durability.
Dealing with Board Flatness Issues
This is arguably the biggest challenge in PCB milling. Even slight warpage causes V-bits to cut wider or narrower than intended.
Auto-Leveling Solutions
Many G-code senders (bCNC, ChiliPeppr, Universal Gcode Sender) offer PCB auto-leveling. The process works like this:
Probe multiple points across your board surface
Build a height map of surface variations
Modify Z-coordinates in real-time during milling
This requires a conductive probe setup, usually just a wire clipped to the tool and another to the copper surface.
Bed Flattening Alternative
If auto-leveling isn’t available, try bed flattening:
Mount a sacrificial board to your CNC bed
Mill the surface flat using a large end mill
Secure your PCB blank directly to the flattened surface
This eliminates bed-induced height variations, though you’re still subject to any warpage in the PCB material itself.
Physical Fixturing Tips
Use double-sided tape rated for CNC work
Apply tape in a grid pattern to prevent bubbles
Consider vacuum holddown for critical work
For bowed boards, a center screw can help flatten
Command-Line and Automation
Visolate supports command-line operation for batch processing. This is valuable when you need consistent, repeatable results.
Auto mode still requires an X display and graphics card since calculations happen on the GPU.
Troubleshooting Common Problems
“TBD Polygon Mode” Error
Cause: Your Gerber contains polygon fills (G36/G37) Solution: Edit the Gerber to remove polygon commands, or regenerate from your PCB software without filled polygons
Toolpaths Missing Between Close Traces
Cause: DPI too low to resolve fine details Solution: Increase DPI setting to 2000 or higher
G-Code Origin in Wrong Location
Cause: Coordinate system mismatch Solution: Use “left upper coordinates” setting and verify with a G-code previewer before milling
Traces Not Fully Isolated
Cause: Tool diameter set incorrectly Solution: Measure your actual cut width with a test cut and adjust the tool diameter parameter accordingly
Application Won’t Start
Cause: Missing Java 3D libraries Solution: Verify all dependencies are installed and accessible to Java runtime
Alternative Software Options
While Visolate excels at Voronoi toolpath generation, other tools might better suit certain workflows:
Software
Strengths
Weaknesses
FlatCAM
Excellent multi-pass support, active development
Steeper learning curve
pcb2gcode
Command-line, good integration with build systems
Configuration heavy
Line Grinder
Windows-native, double-sided board support
Windows only
CopperCAM
Commercial, excellent results
Paid software
For pure Voronoi-based routing, Visolate remains unique in the open-source space.
Useful Resources and Downloads
Here are the essential links for getting started with Visolate and PCB isolation routing:
MIT Research Paper: “Voronoi Toolpaths for PCB Mechanical Etch” (IEEE ICRA 2005)
RepRap Wiki PCB Milling Guide: reprap.org/wiki/PCB_Milling
FlatCAM Documentation: flatcam.org/manual
Complementary Tools:
FlatCAM: flatcam.org
KiCad: kicad.org
gEDA: geda-project.org
FAQs About Visolate and Isolation Routing
Can Visolate generate drilling G-code?
No, Visolate focuses specifically on isolation milling toolpaths. For drilling, you’ll need a separate tool like FlatCAM or pcb2gcode to process your Excellon drill files.
Does Visolate work with Gerber X2 files?
Visolate was designed for RS-274X (Gerber X1) format. Gerber X2 files may cause parsing errors. If you’re using KiCad or other modern EDA tools, try exporting in legacy format for better compatibility.
What’s the minimum trace spacing Visolate can handle?
The practical limit depends more on your CNC machine’s precision and your cutting tool than on Visolate itself. The software can generate toolpaths for very fine features, but achieving them requires proper leveling and a quality V-bit. Most hobby setups work reliably down to 0.3-0.5mm trace spacing.
Why does Visolate need a graphics card?
Visolate uses your GPU to perform geometric calculations using 3D rendering techniques. This was an innovative approach when the software was developed at MIT, allowing complex Voronoi diagram computation using standard graphics hardware rather than custom algorithms.
Can I use Visolate for double-sided boards?
Yes, but you’ll need to process each side separately and handle the alignment yourself. Export separate Gerber files for top and bottom copper layers, generate toolpaths for each, and use registration pins or a flip jig on your CNC machine.
Conclusion
Visolate offers a mathematically elegant solution to PCB isolation routing that most other tools can’t match. The Voronoi approach genuinely reduces milling time while maximizing trace width, which matters for power delivery and signal integrity.
The software has its quirks, certainly. The Gerber parser limitations and dependency on Java 3D can cause headaches. But once you have it running, the results speak for themselves. Those fat traces and efficient toolpaths make prototyping faster and produce boards that just work better.
If you’re serious about in-house PCB fabrication, add Visolate to your toolkit. Combined with proper board leveling and the right cutting tools, it can transform your prototyping workflow.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.