DISCLAIMER: This is an unofficial, community-developed driver. This project is not affiliated with, endorsed by, or sponsored by Epilog Laser. Use at your own risk. The authors assume no liability for any damage to your equipment, materials, or property, or for any personal injuries. Always follow proper laser safety procedures.
A native macOS CUPS printer driver for Epilog Zing laser engravers. Print directly to your laser cutter from any macOS application.
Note: This project is a Swift port of the Epilog driver from LibLaserCut, originally written in Java by Thomas Oster and contributors.
- Raster Engraving - Standard bitmap engraving with adjustable power and speed
- 3D Greyscale Engraving - Variable-depth engraving using 8-bit greyscale power modulation
- Vector Cutting - HPGL vector path support for cutting operations
- Multiple Resolutions - 100, 200, 250, 400, 500, and 1000 DPI
- Universal Binary - Native support for Apple Silicon (M1/M2/M3) and Intel Macs
The first test engraving done with this driver.
| Model | Engraving Area |
|---|---|
| Epilog Zing 16 | 16" x 12" (406 x 305 mm) |
| Epilog Zing 24 | 24" x 12" (610 x 305 mm) |
- Download the latest
.pkginstaller from Releases - Double-click to run the installer
- Follow the on-screen instructions
# Clone the repository
git clone https://github.com/leftouterjoins/EpilogDriver.git
cd EpilogDriver
# Build and install
make release
sudo make installAfter installation, add your Epilog Zing:
- Open System Settings → Printers & Scanners
- Click + to add a printer
- Select the IP tab
- Configure:
- Address: Your laser's IP (default:
192.168.3.4) - Protocol: Line Printer Daemon - LPD
- Queue: (leave empty)
- Name: Epilog Zing
- Use: Select "Epilog Zing 16" or "Epilog Zing 24"
- Address: Your laser's IP (default:
lpadmin -p "Epilog-Zing" -E \
-v lpd://192.168.3.4 \
-P /Library/Printers/PPDs/Contents/Resources/EpilogZing16.ppd \
-D "Epilog Zing 16"When printing, you can adjust these settings in the print dialog:
| Setting | Range | Description |
|---|---|---|
| Resolution | 100-1000 DPI | Higher = finer detail, slower |
| Raster Power | 1-100% | Laser power for engraving |
| Raster Speed | 1-100% | Head movement speed |
| Raster Mode | Standard/3D | 1-bit bitmap or 8-bit greyscale |
| Vector Power | 0-100% | Laser power for cutting |
| Vector Speed | 1-100% | Cutting speed |
| Vector Frequency | 500-5000 Hz | Pulse frequency |
Select "3D Greyscale (8-bit)" raster mode for variable-depth engraving. Darker areas receive more power, creating depth variation in the material.
- Default Epilog IP:
192.168.3.4 - Protocol: LPD (Line Printer Daemon)
- Port: 515
- Ensure your Mac and laser are on the same network
- macOS 12.0 or later
- Xcode Command Line Tools
- Swift 5.9+
# Debug build
make build
# Release build (universal binary)
make release
# Run tests
make test
# Build installer package
make package
# Install to system
sudo make install
# Uninstall
sudo make uninstallEpilogDriver/
├── Sources/
│ ├── RasterToEpilog/ # CUPS filter
│ │ ├── main.swift
│ │ ├── EpilogJob.swift
│ │ ├── RasterEncoder.swift
│ │ ├── VectorEncoder.swift
│ │ └── ...
│ └── CUPSBridge/ # C bridging for CUPS
├── PPD/ # Printer description files
├── Installer/ # Package installer scripts
├── Tests/ # Unit tests
└── Makefile
To remove the driver from your system:
- Open Finder
- Press Cmd+Shift+G to open "Go to Folder"
- Enter:
/Library/Printers/Epilog - Double-click "Uninstall Epilog Driver.command"
- Follow the prompts (you'll be asked for your password)
Or via Terminal:
open "/Library/Printers/Epilog/Uninstall Epilog Driver.command"- Verify network connectivity:
ping 192.168.3.4 - Check port 515 is accessible
- Ensure laser is powered on and connected
tail -f /var/log/cups/error_log# Test with a PDF file
cupsfilter -p /Library/Printers/PPDs/Contents/Resources/EpilogZing16.ppd \
-m application/vnd.cups-raster test.pdf > output.prnContributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
LGPL-3.0 - see LICENSE for details.
This project is a derivative work of LibLaserCut and is licensed under the same terms.
- Based on VisiCut's LibLaserCut Epilog driver by Thomas Oster
- Uses Apple's CUPS printing system
- VisiCut - Laser cutter control software
- LibLaserCut - Java library for laser cutters
