Oct 11, 2023

///

My first algorithmic embroidery project. Every stitch comes from the code, right down to where the needle moves next. I'm still really proud of that.

Look around

Starts in lonely mode, my intended view on a screen. L switches to a closer view. Open this artwork separately ↗

/// #0

This output

/// #0

Find another one

Change the view

Watch the embroidery & download the stitch file
///

The stitches will show up here.

DST simulator

Follow the needle

The simulator reads the same DST file an embroidery machine uses, one stitch at a time.

Pick an artwork, then make its stitch file.

From the algorithm to fabric

The stitches up close

An early embroidery study. The individual threads and their paths are visible here.

The first test of #0

An embroidered test made right after minting /// #0.

Artwork example

The algorithm places every stitch

The embroidery and the finished physical piece were the point of /// from the beginning. The digital piece represents the individual artwork and records its ownership; it also carries the instructions for making the embroidery.

I wanted to make something an embroidery machine could use straight from the algorithm. That meant figuring out the stitching while I was figuring out the image: where the needle goes, when it moves without stitching, where the thread gets cut.

The renderer here writes those decisions into a DST file. You can watch it being sewn above, then download the same file for a machine. Getting that to work is the part of this project I'm most proud of.

How the stitching works

The standard embroidery field is three inches wide by one inch tall. Each colored line belongs to an ordered run that the machine can sew.

  1. Build The Mark

    The hash chooses the angle, arrow logic, slash widths, spacing, and one of five types based on racing.

  2. Put Down A Foundation

    The algorithm generates underlayment first. Those hidden stitches stabilize the fabric before the visible color goes on top.

  3. Route Every Color

    Fill and border stitches are grouped into ordered runs across a fixed 15-thread machine setup, including travel and cut logic between areas.

  4. Write The DST

    This renderer encodes needle moves, color changes, jumps, and the end command into a DST file. The original Art Blocks version exports embroidery paths as SVG.

Five types

Angle and arrow direction give each type its shape. Color and border styles vary within every type.

Chicane example, /// #0
486 / 2,000

Chicane

A slower bend with an arrow-like turn.

DRS example, /// #1
452 / 2,000

DRS

The quickest, most stretched-out line through the system.

Straightaway example, /// #2
449 / 2,000

Straightaway

Slanted slashes moving together in a steady direction.

Fast Corner example, /// #6
493 / 2,000

Fast Corner

A sharper turn that feels like it is already leaving the frame.

Grid example, /// #51
120 / 2,000

Grid

The rare flat-angle version. Less corner, more starting grid.

Twelve color systems

Different ways of arranging the same thread colors.

  1. Two Color Gradient275
  2. Long Gradient258
  3. Short Gradient214
  4. Solid Single Color206
  5. Random Color Split201
  6. Solid Gradient Colors181
  7. Alternating Solid Colors179
  8. Solid Random Colors155
  9. Two Color Split103
  10. Patchwork172
  11. Hyper Single26
  12. Hyper All30

Learning what the machine needs

/// #2 · Straightaway

The visible fill and border follow the thread paths generated by the algorithm.

Artwork example

Usually an image goes through a separate digitizing step before it can be embroidered. That is where someone decides stitch direction, density, underlayment, cuts, and color order.

I wanted the algorithm to handle those decisions itself. Every turn it made in the image had to be a turn the needle could actually make.

Working it out in thread

Early embroidery studies, from individual outlines and fills to a composition on a sleeve.

Testing outlines and fills

Different stitch tests on the same piece of fabric.

Testing color and borders

Early studies on dark fabric.

On a sleeve

An early study on clothing.

Artwork example

Color has an order because the machine has an order

The production machine was loaded with navy, the bright spectrum, white, and grey in a fixed sequence. The algorithm builds the interior passes first, then comes around again for the borders. It keeps unused needle slots in order too, so the next artwork can use the same setup.

We loaded the same thread colors in the same order for every output. If an artwork didn't use a color, the machine skipped that color and moved to the next. We didn't have to rethread it for each artwork.

  • Underlayment stabilizes the fabric before the visible fill
  • Fill stitch length is generated at roughly 1 mm
  • Color channels are ordered for a 15-needle production setup
  • Borders are routed after the interior stitch passes

The thread palette

One setup for different artworks

A thread-color study for the shared machine setup. Every output used the same color order, skipping colors it didn't need.

Artwork example

A turn, a straight, a starting grid

Three of the five types, shown close up so you can see the fill and borders. The live viewer can also pull the whole composition back into lonely mode.

Chicane · /// #0

A slower bend with an arrow-like turn.

DRS · /// #1

The quickest, most stretched-out line through the system.

Grid · /// #51

The rare flat-angle version. Less corner, more starting grid.

Artwork example

Lonely mode

Lonely mode is how I intended the artwork to be viewed on a screen. The whole composition gets much smaller and sits near the bottom, with all that space above it. I often felt lonely while navigating everything that happened over the years, and I still do sometimes.

I couldn't use it for the default preview because it would have looked almost blank on an artwork page. This viewer starts in lonely mode; L switches between that and the closer view. Enter, noise, and the finish line take the work somewhere else again.

  • Enter — party mode
  • N — noise
  • Space — switch the background
  • O — outline view
  • F — finish line
  • L — lonely mode: the whole composition, much smaller and bottom justified in a lot of open space
  • D — download the DST embroidery file

Pick a hat, claim the artwork

At our booth during the Austin GP, people could pick a hat they liked. Each came with an IYK card they could tap to claim the individual artwork.

The embroidery was the first thing they encountered. The card connected the hat to its digital artwork.

From the worktable to the booth

Hats and their claim cards

Preparing the embroidered hats and IYK cards for the Austin GP activation.

At the Austin GP booth

Visitors could choose a hat and tap its IYK card to claim the artwork.

Helping people choose

The activation in progress.

Artwork example

The physical idea was already moving

Friendship Bracelets came first and seeded the idea that a digital artwork could tell you how to make something physical. Heart + Craft came out before /// too, less than seven weeks earlier. Those ideas were developing alongside each other.

/// was where I got into generating the instructions for an embroidery machine. A lot of what I learned here carried into Generative Goods and later into LIFT.

Behind the scenes with Mara

Mara and me at the race

A visit behind the scenes during the Austin GP.

Artwork example

My wife Mara and I were also invited to the race. We got to go behind the scenes and see how things worked. This is us at the Red Bull Racing garage.

Go make the machine file

Choose an artwork in the viewer, then open the embroidery section to watch it stitch or download its DST. On slash.snowfro.com, add ?id=100 to open /// #100; the full identifier ?id=2000100 works too. Press D there to download the file directly.

Connections to the other work
What you see
Three or more forward slashes
What it contains
An algorithm that plans the embroidery stitches and generates a DST file
What came before
My work with color and physical production
Where it leads
The embroidery in LIFT and subsequent work with Generative Goods
A few more details
Every Needle Drop
Fill stitches, underlayment, borders, travel moves, and cuts are all generated by the artwork. There is no bitmap-to-embroidery conversion step afterward.
A 15-Needle System
The thread order is fixed so a production machine can move from one output to the next without being rethreaded every time.
Three By One
The embroidery field starts at three inches wide by one inch tall.
DST Comes Straight Out
Press D in the renderer on this page to download its DST file. The original Art Blocks version exports embroidery paths as SVG.

The stitch file is part of the artwork

The image shows where the thread ends up. The DST describes the route there: each stitch, travel move, cut, and color change. It is another form of the same work, and the simulator lets you follow it in order.

Three or more forward slashes, with every embroidery stitch worked out by the algorithm.

Explore the variations, view the composition in lonely mode, and watch how it becomes stitches.

Original project example

/// #0

/// #0: minimal racing-inspired slashes built from embroidery-ready thread paths.

Artwork example

Image and live view served by the official Art Blocks media and generator services.

Open the original live view ↗

Edition, dates & provenance
  1. Release / first mintsourced
  2. Art Blocks activationcontext
  3. Last mintcontext
Art Blocks · Ethereum
0x8cdbd7010bd197848e95c1fd7f6e870aac9b0d3c

The collection lives on Art Blocks. I linked the Red Bull collaboration context and the other records below.

Sources & research notes

Official / primary

  • Art Blocks collection ↗

    The official /// reference for project facts and public links.

    Useful for: project-facts · official-links

    official project · primary · full text
  • Art Blocks API docs ↗

    Official documentation for /// mechanics and technical context.

    Useful for: mechanics · technical-context

    official doc · primary · full text
  • NFTNow feature ↗

    Additional Official / primary context for ///; primary sources carry the core facts.

    Useful for: press-context · project-context

    press profile · supporting · full text
  • Oracle Red Bull Racing announcement ↗

    The official /// reference for project facts and public links.

    Useful for: project-facts · official-links

    official project · primary · full text

Marketplace / provenance

  • OpenSea /// collection ↗

    Secondary market and provenance context only.

    Useful for: provenance · contract-or-token-reference

    marketplace · supporting · full text
Complete project data (JSON) ↗