Skip to content

Repository files navigation

English | Deutsch | Español | Français | Polski | Čeština | Norsk

VEVOR Vinyl Cutter macOS Driver — CH554_CDC / USB 0483:5750 / Inkcut

License

VEVOR cutter not detected or not working on Mac? This free, open-source macOS USB transport connects VEVOR and Anhui Anyu vinyl cutters to Inkcut when they identify as CH554_CDC with USB ID 0483:5750.

No SignCut subscription, no Windows VM. This is a user-space libusb/pyusb transport — not a kernel extension, nothing to disable in macOS security settings.

Why this project

SignCut Pro This project
Price Subscription Free forever (GPLv3)
Source Closed Open — audit it, fix it, extend it
Cutting app Vendor app Inkcut — open source, cross-platform
USB protocol documented No public docs Fully reverse-engineered and published (docs/PROTOCOL.md)

What you get that nothing else on macOS offers for these cutters:

  • It finishes big jobs. NAK-based USB flow control with duplicate-safe retries — no more jobs that die at the last cut, no doubled letters, no ruined vinyl.
  • It survives the firmware's quirks. Keep-alive against the idle-crash, self-healing reconnect with a pipe probe before anything is cut, automatic recovery from a wedged USB stack.
  • A real workflow, not just a driver. Drop a PDF or Illustrator file straight into Inkcut, slow anti-slip pre-feed of the roll, every job ends 15 mm past the cut ready for the next one.
  • Every finding documented. The full USB + DMPL protocol notes are published so the community can support more cutters — nobody has to reverse-engineer this hardware again.

If this gets your cutter working, star the repo — it is how other stranded Mac owners find it.

Match your device before installing

Run in Terminal:

system_profiler SPUSBDataType | grep -B 1 -A 5 "CH554"

(or check Apple menu → About → System Report → USB). This project targets cutters showing:

  • Product: CH554_CDC
  • Vendor ID: 0x0483 — Product ID: 0x5750

A matching USB identity is required, but compatibility is confirmed only for the tested-hardware table below. The same USB ID is used across many rebrands — VEVOR (KH/KI/KW/SK series), ANAgraph, Arthur, Art Creation, Cutter Pros, GoldCut, HELITIN, JinKa, SAGA, Secabo, Seron, US Cutter — but firmware may differ; reports welcome.

Fix a VEVOR cutter not detected or not cutting on Mac

If you are searching for VEVOR vinyl cutter software for Mac, a CH554_CDC Mac driver, or how to use a VEVOR cutter (plotter) with Inkcut, you have probably hit one of these:

  • Cutter shows up in the USB tree but no serial port (/dev/cu.*) appears — Inkcut has nothing to connect to
  • Sending a job does nothing, or the carriage moves once and freezes
  • Letters and shapes cut on top of each other (duplicated cuts)
  • Works right after power-on, then dies while idle until the next power cycle
  • Inkcut errors like OSError: … is not opened

On the tested device, these symptoms were caused by one or more of the USB initialization, idle-suspend, protocol, and write-pacing behaviors described below. Other devices may fail for different reasons — see docs/TROUBLESHOOTING.md.

What we found (tested device; details in docs/PROTOCOL.md)

  1. A CDC serial port wearing a printer-class costume. The firmware presents USB printer-class descriptors, but printer-class control requests STALL while CDC requests are accepted. The cutter buffers data without cutting until SET_LINE_CODING (9600 8N1) is sent and DTR/RTS are asserted via SET_CONTROL_LINE_STATE.
  2. The CH554 USB stack crashes when the idle port suspends. A keep-alive (re-assert DTR/RTS every 15 s) prevents it; a USB port reset usually revives a wedged device without a power cycle.
  3. The native language is DMPL. Init ;:H A L0 EC1 U, tool up/down U/D, comma delimiter, space terminator, 0.025 mm/step (1016 steps/inch). The HPGL mode half-works but wedged the firmware repeatedly in our testing. The firmware ignores DMPL V (velocity) commands — all pacing must happen host-side.
  4. The DMPL axes are transposed. On this firmware the first coordinate drives the media feed rollers and the second the carriage — opposite of what Inkcut's device engine assumes. Compensating with Swap X/Y fixes the geometry but silently points Inkcut's feed logic (pre-feed, feed-past-cut, origin tracking) at the carriage. The transport ships a protocol-level swap_axes option (plus mirror) so the feed logic physically reaches the rollers.
  5. The internal buffer is tiny, and USB NAK is the only flow control. The whole ring buffer holds a few hundred moves; large jobs overflow it mid-stream. pyusb (libusb) raises a bulk-write timeout only when zero bytes were transferred — a partially accepted transfer returns a short count — so retrying a timed-out chunk at the same offset is duplicate-safe. The transport uses exactly that as flow control: a dedicated writer thread retries while the cutter chews through its buffer, aborts only after 90 s with no progress, and a drain barrier keeps the job (and disconnect) from completing while data is still queued.

What's in this repository

Component Description Status
inkcut-usb-transport/ Native pyusb/libusb transport plugin for Inkcut: CDC init, DTR/RTS keep-alive, self-healing connect on a worker thread (auto USB reset + pipe probe before any cutting, GUI never freezes), queued writer thread with NAK-based flow control and duplicate-safe retries, drain barrier before job completion Working on the tested device
inkcut-pdf-import/ Open PDF and Adobe Illustrator (.ai) files directly in Inkcut — converted off the UI thread on open (via poppler), with caching, drag-and-drop, multi-page warning, and the original file name kept in the UI/history Working on the tested device
inkcut-prefeed/ Material pre-feed: slowly feeds the vinyl out to the job's full length and back before cutting, host-paced in small steps, so the roll never drags or slips mid-cut Working on the tested device
Device profiles VEVOR KH-870 / KH-720 driver entries (DMPL-first, USB, correct cutting widths 78/63 cm) with the swap_axes/mirror setup for the transposed firmware + feed-past-cut workflow (each job ends past the cut + 15 mm, ready for the next) Working on the tested device
Inkcut UX patches Graphic panel: editable total layout size when stepping up copies, Illustrator-style quick rotate buttons (90° left/right, 180°); app opens at a comfortable window size Working on the tested device
plotter_usb_bridge.py Standalone FIFO → USB daemon (launchd): anything that can write a file can drive the cutter Working on the tested device
patches/ Unified diffs against upstream Inkcut for everything not shipped as a standalone component: pre-feed, flow-control integration, PDF/AI import integration, VEVOR profiles/axes, UX additions, raw-transport stale-connection fix Available
docs/PROTOCOL.md Full USB + DMPL protocol notes and evidence for this cutter family Available
docs/TROUBLESHOOTING.md Symptom → cause → fix Available

Upstream status: submitted to Inkcut as #427 (device-layer groundwork), #428 (native USB transport), #429 (PDF/AI import) and #430 (layout panel). Until they are merged, use the installer below.

Installation

Three lines in Terminal (Homebrew required):

git clone https://github.com/mcmartnor/vevor-cutter-macos.git
cd vevor-cutter-macos
./install.sh

The script never asks for sudo and installs nothing outside a Python virtualenv (~/.inkcut-venv). Re-run with ./install.sh --check to verify the install and see whether the cutter is visible on USB. Linux users: ./install-linux.sh (tested on Debian 13). Full details, including the manual steps, are in docs/INSTALL.md.

Tested on the hardware listed below. If you have a different VEVOR or Anhui Anyu model, please open an Issue with the result — the device table is built from reports.

Tested hardware

Model / rebrand USB identity macOS CPU Inkcut Result
VEVOR KH-870 (D-type mainboard, 870 mm) 0483:5750 / CH554_CDC macOS 26.5 Apple Silicon 2.1.8 Full workflow confirmed on vinyl via the native USB transport: PDF/AI import → pre-feed → cut with flow control → feed past cut, correct end position

Roadmap

  • Upstream to Inkcut: submitted — #427, #428, #429, #430 are open and awaiting review
  • More cutters: community compatibility matrix — the transport's VID/PID/endpoint/baud are configurable, so other rebrands and chips can be tested and reported via Issues
  • Print-queue sharing: a CUPS backend so any macOS app can print straight to the cutter as if it were a printer
  • Measure media width by jogging: the firmware answers no position queries (probed), but the host tracks every absolute move — jog the head to the foil edge and one click sets the material width from the tracked position
  • Polished macOS app: a signed Inkcut.app bundle with icon, so setup is drag-and-drop
  • Linux support: install-linux.sh ships and is tested on Debian 13 (apt/dnf/pacman, patches apply, Inkcut starts). Driving a cutter over USB on Linux is not verified — cdc_acm still has to be detached before the interface can be claimed

Scope and alternatives

This project targets macOS cutters identifying as CH554_CDC / 0483:5750. It does not claim compatibility with other VEVOR USB identities.

  • Inkcut — the open-source cutting application this transport integrates with
  • SignCut Pro — paid vendor-supported workflow for the same hardware
  • vevor-cutter-linux, VECTOCUT — prior open-source work for related models/OSes; verify their supported USB identities separately

Research that helped map the terrain: zi3.dev on the KW-780A, abysm.org on 0483:5750 printer mode.

Support and contributing

Open a GitHub issue and include: exact cutter brand/model, USB vendor/product ID and product string, macOS version and CPU (Apple Silicon/Intel), Inkcut/Python versions, and relevant logs.

If this project saved you a SignCut subscription or a Windows VM, a GitHub star helps more Mac owners find it — and compatibility reports (working or not) directly grow the tested-hardware table.

About

Free macOS driver + Inkcut workflow for VEVOR / Anhui Anyu vinyl cutters (CH554_CDC, USB 0483:5750): native libusb transport with flow control, PDF/AI import, anti-slip pre-feed. No SignCut subscription, no Windows VM.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages