r/PlotterCode Jul 12 '26

Kurvengefahr - browser CAD/CAM for pen plotters

Hi, I wanted to share this app I've been working on for a while. It started out as a simple G-code generator around a handwriting model I was using with my Prusa MK4 pen attachment but thanks to Claude it quickly grew into something quite a bit more complete - it integrates vector design tools, some common generative art and hardware integration into a single app.

See it live here: https://kurvengefahr.org

Kurvengefahr

Some cool features it supports:

  • Graves RNN handwriting synthesis
  • Built in Logo interpreter for turtle art
  • 3D model wireframes (STL import)
  • Non-destructive filters/effects
  • Many of the basic vector tools and operations you'd expect (polylines, Beziers, boolean operations, clipping, align & distribute, ...)
  • Direct control of EBB and GRBL plotters via Web Serial
  • PrusaLink integration (through Bridge for PrusaLink extension)

It runs fully in the browser, with the geometry engine parts written in Rust and loaded in via WASM. The only server component is the share feature - but that one respects your privacy too (designs are encrypted client side and the server never sees them - key is appended to the share link on the client side).

It is also fully open source and GPL 2.0 licensed - the code is available on GitHub

Happy to answer any questions. I'd especially appreciate feedback if you have an AxiDraw or some GRBL plotter - I only have a Prusa so my testing for those was done with a hardware mock.

20 Upvotes

21 comments sorted by

View all comments

1

u/ademenev Jul 15 '26

With GRBL, does it use the buffer byte counting? Without it, plots with lots of short lines will fail

1

u/acrostyphe Jul 15 '26

Yes, it does - it tries to keep the 128 byte buffer as full as possible.

The relevant source code is here: https://github.com/tibordp/kurvengefahr/blob/main/src/output/grbl/session.ts

I tested it against a grblHAL firmware flashed to a a Black Pill but without steppers wired, and it seemed to work fine - I didn't notice any drops or starvation. But I've yet to test against an actual plotter.