Golan Levin
@golan
Artist, researcher, educator, instigator. Chaotic Good.
For each joystick it produces a 12-bit X, Y, and R (radius) value which is unique for every location in a 2-meter hemisphere around the device. The conversions for angles are straightforward; with a little trig the device essentially provides spherical coordinates.
I can't look away from these lost interfaces. I want to document them carefully and return them to the commons before they disappear: to empower artists, preserve public knowledge, and keep capable hardware out of landfills.
I'm increasingly interested in how reverse engineering can be a form of cultural stewardship. Every abandoned instrument, sensor, or HID controller contains knowledge that can disappear long before the hardware itself fails.
My work fully restores open access to the device, providing the first completely open-source implementation of the Sensel Morph's raw pressure data pipeline. It provides full access to device data over OSC, Syphon, and WebSockets, via both Processing and Python — without requiring the original SDK.
The Morph is one of the most expressive pressure-sensing interfaces ever made. Unfortunately, Sensel effectively abandoned its SDK by 2020. Even worse, they used closed-source decompression code in its USB protocol. As operating systems evolved, the Morph was effectively condemned to become e-waste.
The Sensel Morph offers a 185×105 pressure image (with ~14 usable bits of dynamic range); up to 16 contact ellipses; and a labels image with temporally coherent tracking IDs. It even has a 3D accelerometer. It transmits all of this data at up to 150 Hz, depending on settings.
I'm thrilled to announce another liberated device: A fully open-source interface to the remarkable Sensel Morph touchpad (2017), featuring OSC, Syphon, and WebSocket transport in both Processing and Python. github.com/CreativeInqu...
Others have been here before; a handful of artists have used it in Max/MSP, and my effort built on libgametrak, an older C library by Géry Casiez. My contribution was to create and publish a collection of shims for popular creative coding protocols, inclusing OSC, MIDI, and WebSockets.
Today I liberated the GameTrak (c.2004), an unusual 3D sensor featuring two XY joysticks with retractable tethers. It’s ~$20 on eBay and very expressive: 6 channels of 12-bit data at 75Hz. It now emits data for #Processing and #p5.js over OSC, MIDI, WebSocket, and stdout. github.com/CreativeInqu...
This evening, building on the work of others, I helped liberate the TEMP_er1 USB temperature sensor. This is an inexpensive (~$25), unbranded, white-label HID device that does one thing well. Now its data stream can be accessed in Python, #Processing, and via OSC. github.com/CreativeInqu...
On Monday evening I liberated the MS6252B digital USB anemometer. This is a nice wind/humidity/temperature sensor, about $130 on Amazon (www.amazon.com/MS6252B-Hand...) with shit/nonexistent software. Now it talks to Python and #Processing: github.com/CreativeInqu...
On a reverse-engineering streak, and pleased to present many new additions to my archive of monoline fonts —including 40+ decompiled AutoCAD SHX fonts; the Tektronix 7000-series oscilloscope display fonts; and Glen Kleinschmidt's Fourier Synthesis Character Generator. github.com/golanlevin/p...
This study conducts a Fourier analysis of the wave contours in five paintings by Bridget Riley, in order to estimate the extent and character of their harmonic distortion. github.com/golanlevin/r...
Fun reminder that my popup solo exhibition at the @bantamtools.bsky.social Machine Arts Gallery (Peekskill, NY) continues until June 12! I'm showing several different collections of #plotterArt works examining cells and organic form. Works are for sale online, too. bantamtools.com/collections/...
I've just made a #p5js restoration of "Painting with Interactive Pixels", a 1998 Java app by @dagsvanaes.bsky.social in which each "ink" color has its own behavior. PIP influenced me greatly in '98 — and has not been viewable on the web in 20 years: golanlevin.github.io/pip/index.html
Plottimation also works with other types of frame-sheets, such as risographs! The great Kelli Anderson has kindly provided some of her riso frame-sheets for Plottimation's demo bundle.
This bubble-butt friend was scribed into an intaglio plate by a @bantamtools.bsky.social plotter; etched and printed; and then turned into a GIF using my Plottimation software, which handles all of the frame alignment. golanlevin.github.io/plottimation/
Here's another blobby #plotterArt walk-cycle, realized last week at @bantamtools.bsky.social and assembled with my free Plottimation software, golanlevin.github.io/plottimation/
Plottimation — my free online software for making GIF #animation from #risograph or #plotterArt frame-sheets — is now in version 1.16 after extensive improvements! golanlevin.github.io/plottimation/
Friends! Join me this Thursday evening at the @bantamtools.bsky.social Machine Arts Gallery in Peekskill for a popup solo show of blobby #plotterArt and computational intaglio! bantamtools.com/pages/gallery 🤖🎨🦠
My first-ever intaglio, made this morning in a generous residency at @bantamtools.bsky.social
TTF, OTF and other system fonts are "outline fonts" that define shapes filled between closed contours. Single-stroke fonts are totally different, they represent letters with skeletons, the way we might write them by hand. So basically, no; ...or at least, not without major display issues.
I'm delighted to announce the forensic recovery of the original single-stroke font data from Vib-Ribbon (1999) — exhumed from Playstation ROMs — and now part of my archive of procedural skeleton fonts for #p5js: github.com/golanlevin/p... #mediaArchaeology #typography #plotterArt #creativeCoding
Plottimation, my tool for converting #plotterArt frame-sheets into animated GIFs, is now in version 1.09 after extensive improvements :) golanlevin.github.io/plottimation/