Free Plot is a small Mac-friendly vinyl cutter control app for HPGL-compatible cutters such as the VEVOR KI-375S.
The native app is a Swift WKWebView wrapper with a Swift local backend. It does not need Electron, npm, or a Python runtime.
cd NativeApp
./build_app.shThe built app is created at:
Free Plot Native.app
The build script creates a universal macOS binary for Apple Silicon and Intel Macs, including the 2017 iMac Pro.
The legacy browser workflow is still available for development:
python3 free_plot_server.pyThen open http://127.0.0.1:8787 in your browser.
- Native Mac app runs without npm, Electron, or Python packages.
- Imports SVG files directly in the browser.
- Previews cut paths on a 285 mm x 360 mm KI-375S work area.
- Supports drag positioning, fit-to-material, scale, rotation, X/Y origin, and X/Y mirroring.
- Supports multi-selecting and deleting cut lines in the preview.
- Exports HPGL/PLT files.
- Scans macOS USB devices and
/dev/cu.*or/dev/tty.*serial ports. - Sends HPGL through the native local backend to the selected serial device.
- Sends directly to USB printer-class cutters such as the detected XILI/STM32 controller.
- Includes a 10 mm square/triangle test cut.
If your cutter appears as a /dev/cu.* port, start with baud rate 9600. If it does not respond, try 19200 and 38400.
If your cutter appears as STM32 USB DEVICE / XILI, use USB Test or Send USB instead of the serial buttons.
For heat transfer vinyl, use Mirror X before sending.
The app has native SVG support now. The next layer should add conversion for DXF, PDF, EPS, AI, PLT, and HPGL, most likely by calling Inkscape or another converter when installed.