Kinematic 0.5.0 is out. Modeling and sculpting in the viewport, a timeline on every graph, photo and sound editing. What's new

Make things you can hold.

Draw for the pen plotter, model parts for the 3D printer, and let a sensor on a dev board move the picture, the sound and the light. It all happens in one free app, from the first sketch on the bench to the finished piece on the wall.

Plotter artistsHardware hackersExhibit buildersMakerspacesStudents
SVG for the plotter, STL for the printerSerial, OSC and DMX for boards and lightsExperimental on Raspberry Pi 5Free, even for commercial use
one vase, drawn for the plotter and shown solid for the printer
The graph behind it
  1. NurbsCurve
  2. NurbsRevolve
  3. NurbsConvert
  4. 3DGeoTwist
  5. GeometryToSvg

Twist the vase and the plotter drawing follows. Save the lines as an SVG and the same mesh as an STL.

Your work

Plot, print and build in Kinematic.

The jobs that come up on the bench every week, from a drawing for the plotter to a piece that answers the room. Each one is a handful of nodes in the same graph.

01

Plot, print and cut.

The things that leave the bench: lines on paper, parts in plastic, shapes cut from wood or vinyl.

Lissajous curves drawn as single vector lines
Lissajous curves as vector lines

Draw for the pen plotter

Spirals, noise contours and Lissajous figures as clean single lines. Save them as an SVG your plotter software opens.

SvgLissajousSvgToStringFileWrite
Vector drawing →
a vase outline revolved, then twisted, its grain spiraling up the side
an outline revolved, then twisted

Print a twisted vase

Revolve half an outline into a vase, twist it as it rises, and save it as an STL for the slicer.

NurbsRevolve3DGeoTwist3DGeoExportSTL
Make a twisted vase →
a leaf logo drawn with the pen: a ring, a leaf and a stem
a leaf logo drawn with the pen

Cut a logo on the laser

Draw it with the pen, turn any lettering into outlines, and grow or shrink each outline before you save the SVG for the cutter.

SvgPathSvgTextOutlineSvgPathOffset
Draw a leaf logo →
02

Make it react.

Pieces that notice what is going on around them. The hand model downloads once, then runs on your own machine.

a dancer drawn on 2,560 pixel lights

Light an LED strip

Any picture or value becomes pixel colors in the order your strip wants, sent over Art-Net, sACN or a USB DMX adapter.

ImageToDmxArtNetSendInterface
Pixel mapping →
an open palm held up to a webcam, read as a named gesture
an open palm, read as a named gesture

Use your hand as a switch

Fist, open palm, thumbs up and more arrive from a plain webcam as named triggers for a light, a sound or a board.

VideoCaptureInterfaceLocalAIImageToHandGestures
Gestures →
colored spots found and boxed by the blob tracker
spots found and boxed by the tracker

Track a dot on the wall

Bright spots or moving things are found and followed, each with an ID that stays put, like a laser pointer on a wall.

ImageBlobTrackNode
Cameras and tracking →
the Glow knob on its panel, turned up, and the ball it lights
a Glow knob on its panel, and the ball it lights

Put the knobs on a panel

Sliders, buttons and knobs for the piece on a second screen, or on a phone or tablet over OSC.

UIPanelUISliderUIButton
Control panels →
Work you know, done here

Draw for the pen plotter.

Grow a pattern, flatten a 3D model or trace a photo, and each one ends up as clean vector lines. Change a number and the drawing redraws, so you can try twenty versions before the pen touches paper.

  • Patterns that plot well: noise contours, spirals, Voronoi cells and packed circles
    SvgNoiseSvgSpiralSvgVoronoiSvgCirclePacking
  • Any 3D model flattened into lines, in perspective or flat, with the hidden back dropped
    GeometryToSvg
  • A photo traced into smooth curves, at the threshold you pick
    ImageTrace
  • Lettering turned into outlines from your own font, so the pen draws the letters
    SvgTextOutline
  • Curves broken into short straight runs, extra points thinned out, outlines offset into rings
    SvgFlattenSvgPathSimplifySvgPathOffset
  • One branch of the graph per pen color, each saved as its own SVG
    SvgToStringFileWrite
noise contours drawn as vector lines
noise contours drawn as lines
a photo of an iron roof traced into clean curves at three levels
a photo of a roof traced into curves
two spirals turning against each other
Work you know, done here

Model parts for the 3D printer.

Box-model a bracket, sculpt a figure from a ball, or start from a scan of something real. When it looks right, turn it around in the viewport and save it for the slicer.

  • Model from a box with rounded edges and clean cut-outs, and mirror it so you only build half
    3DGeoPolyBevel3DGeoBoolean3DGeoMirror
  • Sculpt with a pen tablet, then lift a shell off the sculpt for a mask, a helmet or a strap
    3DGeoSculpt3DGeoExtractShell
  • Give a flat surface real thickness, or hollow a solid into a thin wall
    3DGeoThicken3DGeoSdfShell
  • Build a surface from a scan, or open a part someone else made as an STL
    3DGeoSplatToSurface3DGeoImportSTL
  • Cut the triangle count so the slicer copes, then save an STL or an OBJ
    3DGeoPolyreduce3DGeoExportSTL3DGeoExportOBJ
a creature sculpted from a plain ball
a sculpted dragon bust cut down to a light mesh, ready to save for the printer
a sculpt cut down to a light mesh
a scanned basket of shells beside the surface built from it
a scanned basket and the surface built from it
scan by Marc (superspl.at), CC BY 4.0
What you gain: one file

Sensors, sound and light in one file.

The reading from your board, the sound it plays and the lights it dims live in the same graph as your models and drawings. Nothing is exported from one app to the next, so you change the piece while it runs.

  • Read a sensor on an Arduino or an ESP32: each line of numbers becomes a live channel, with ready port settings for both
    SerialOperationSerialReceiveInterface
  • Send values back to the same board or another one: a color, an angle or a line of text
    SerialSendInterface
  • Boards on Wi-Fi talk over OSC, WebSockets and webhooks
    OSCReceiveWebSocketServerInterfaceWebhooksServerInterface
  • Turn a reading into sound: an oscillator's pitch, a filter's sweep
    AudioOscillatorAudioLowPass
  • Print a receipt at the press of a button: text and printer codes over serial, with line presets for receipt printers
    UIButtonPythonScriptNodeSerialSendInterface
a light reading lights a printed lamp: the darker the room, the brighter it glows
a driven value plays the board here
two hands held up to a webcam, playing a synth
two hands playing a synth from a webcam
a shape that swells with a voice
Taking it live

Leave it running.

A piece on a shelf, in a window or at a fair has to look after itself. These are the parts that keep it going when you walk away.

terminal
$ kinematic devices --kind serial
$ kinematic run bench.kin --watchdog 30s
$ kinematic piece.kin --kiosk --display 1 \
    --restart-on-panic 10 --watchdog 30s --offline

Kiosk mode opens straight into the piece on the display you name, with the edit keys off and the screen kept awake. Give it a restart count and a crash starts it again on its own.

one key and the editor steps aside
Run an installation for a season →

See what is plugged in

List the serial ports, cameras, MIDI devices and displays this machine can see, before you open the graph.

Build it before the parts arrive

A loop:// test port stands in for the board, so the graph can be finished with nothing plugged in.

Keep going when the cable is pulled

The port can reopen by itself when the board comes back, and the graph can tell whether the board is there right now.

Run it with no screen

A headless run opens no window at all, and a watchdog ends it if nothing has moved for as long as you set.

Sealed off the network

The hand and body models download once. After that, an offline launch never waits on a download.

On a Raspberry Pi 5

Experimental: a .deb for 64-bit Raspberry Pi OS. 3D renders use a lighter mode there, so test the piece on the board itself.

Kinematic for Raspberry Pi →
How it fits

Your boards, machines and files.

What plugs in, what it drives, and the files that come and go. Every entry is on the full list of what Kinematic works with.

Reads
Arduino, ESP32 and other dev boards
Lines of numbers over USB serial become live channels. Ready port settings for both.
Boards on Wi-Fi
OSC, WebSockets and webhooks, both ways.
Webcams
Hands, bodies, faces and bright spots, read as live values and triggers.
Depth cameras
Orbbec Astra, Gemini and Femto, with color, depth and IR. RealSense-style cameras on Linux.
MIDI controllers
Move a knob to map it, or pick a ready map for popular controllers.
Gamepads and keyboards
Sticks, triggers and keys as live values and triggers.
Drives
Pen plotters
SVG files of clean lines, flattened from 3D if you like.
3D printers
STL or OBJ for your slicer.
Laser and vinyl cutters
SVG outlines for the cutter's own software.
LED strips and pixels
Art-Net, sACN or a USB DMX adapter, in the color order your strip wants.
Receipt printers
Text and printer codes over serial, with line presets.
Your own boards
Numbers or text sent back over serial, OSC or the web.
Files Opens
SVGSTL, OBJ, PLYglTF, FBX, USDSplats: PLY, SPZ, SOGPNG, JPEG, TIFFFonts: TTF, OTFCSV and JSON tables
Saves
SVGSTL, OBJ, PLYglTF, FBX, USDPNG and EXRMP4 and MOVCSV and JSON tablesText files
Everything it works with →
Where to start

Tutorials and demos.

Short lessons that end with something you can print, plot or plug in, and demos that come with the app. Take one apart and keep what you need.

Before you start the build

What it does not yet do.

Better to know now. Something here would stop your project? Reach out.

  • Driving the machineKinematic saves SVG and STL. It does not run a plotter, a laser or a CNC machine itself, and it makes no G-code. Your machine's own software does that step.
  • DXF filesNo DXF yet. Cutters and CNC software that open SVG work today.
  • Hatch fillsNo hatch fill for the plotter yet. Shapes plot as outlines, and offset rings or contour lines can fill them instead.
  • Shorter pen travelLines are saved in the order they were made. Nothing sorts them yet to cut down the pen-up travel.
  • 3MF and color printsPrints save as STL or OBJ. No 3MF yet, and STL carries no color.
  • Size and axis on exportSTL saves the mesh in scene units, with no unit or axis choice yet. Set the size in your slicer.
  • MQTT and FirmataNeither is supported yet. A board can print plain lines of numbers over serial, or talk OSC or WebSockets over Wi-Fi.
  • GPIO pins on a Raspberry PiThe Pi's own pins are not read yet. Put a small board on USB serial for buttons and sensors.
Your next build

Download Kinematic.

Free. No account and no license key, so it goes on every machine in the makerspace, even for commercial use. macOS, Windows and Linux, with experimental Raspberry Pi 5 support.

a motor on a hinge, batting falling balls away