saxi  by nornagon

CLI tool for driving an AxiDraw pen plotter

created 8 years ago
491 stars

Top 63.7% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides tools and a library for controlling the AxiDraw pen plotter, aimed at users who want an easy-to-use, precise, and automated drawing experience. It offers features like automatic scaling, centering, path optimization, and layer splitting, with a web-based UI for convenient operation, even on embedded systems like the Raspberry Pi.

How It Works

Saxi utilizes the AxiDraw's low-level LM command for precise, constant-acceleration motion planning, inspired by the original axi project. It optimizes pen-up travel time by reordering and reversing paths and can split SVG layers based on stroke colors or group IDs. The system includes a web UI, eliminating the need for complex local installations like X11 or Inkscape.

Quick Start & Requirements

  • Install globally: $ npm i -g saxi
  • Run: $ saxi
  • Requires Node.js.
  • Connects to AxiDraw via USB (e.g., /dev/tty.usbmodem1461).
  • Official documentation: https://github.com/alexrudd2/saxi (development moved here)

Highlighted Details

  • Supports custom motion planning for smooth and fast plotting.
  • Web-based UI accessible via http://0.0.0.0:9080.
  • Can run on Raspberry Pi for untethered operation.
  • Fallback to less accurate XM command for older EBB firmware versions.

Maintenance & Community

Development has moved to https://github.com/alexrudd2/saxi. The original repository is archived.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The original repository is archived, with development moved to a different location. Users should refer to the new repository for the latest updates and support.

Health Check
Last commit

5 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
2
Star History
7 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.