Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

penplot-qt

Screenshot

Desktop app for driving a UUNA TEK 3.0 pen plotter (A3) from Linux. penplot-qt converts SVG drawings to G-code locally and streams the result to the plotter over USB serial. Unlike the vendor's Inkscape extension, no cloud service and no Inkscape installation are required.

Features

  • SVG to G-code conversion (svgelements-based; curves flattened to polylines, pen lifted between subpaths, optional travel sorting)
  • Preview at true scale with paper size, placement offsets and a working-area outline — placement on paper matches the SVG page layout
  • Serial workflow: connect, pen setup, homing, controller reset, print
  • Pause/resume and a two-press emergency stop with guided recovery (feed-hold, soft reset, unlock, park at machine home)

Requirements

  • Python 3.10+
  • PyQt6, svgelements, pyserial (see requirements.txt)
  • Read/write access to the serial port. On most distributions this means adding your user to the dialout (Debian/Ubuntu) or uucp (Arch) group and logging back in.

Setup and run

python3 -m venv venv
venv/bin/pip install -r requirements.txt
venv/bin/python3 main.py

Usage

  1. Load SVG… — pick a drawing. Set the paper size/orientation to match the loaded paper.
  2. Convert → G-code — inspect the result in the G-code pane. Save it with Save G-code… if desired.
  3. Connect — select the serial port (usually /dev/ttyUSB0, 115200 baud). Connecting takes a few seconds while the controller is woken and identified.
  4. Pen Setup — moves the holder to the Pen setup X/Y position (just outside the right edge of an A4 landscape page by default) and lowers it so the pen can be inserted with the tip just touching the paper. Set Pen setup X/Y in the Parameters panel to move the setup point clear of the printable area for other paper sizes.
  5. Print — streams the G-code. Pause toggles a feed-hold; STOP (press twice to confirm) halts immediately and then offers a one-click recovery that resets the controller and parks the carriage.

Placement and homing

  • The SVG page maps 1:1 onto the paper in millimetres: SVG (0, 0) is placed at the machine origin plus Offset X/Y, or the page is centred on the paper when Center on paper is checked. A drawing that sits in the top-left corner of the SVG page prints in the top-left corner of the paper.
  • The machine only knows its true origin after a homing cycle. If prints land in the wrong place after a power cycle, use Home ($H) once before printing.

License

GNU General Public License v3 or later; see LICENSE.

third_party/gcodesender.py is taken from the vendor's Inkscape extension (GPLv3+); see third_party/README.md for details.

About

Linux desktop app for UNNA TEK 3.0 pen plotter

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages