QR Code Stenciler Final Update
This post is a brief alert to announce the final (updated, v.1.1) release of the F.A.T. Lab’s QR_STENCILER software. This tool is a free, fully-automated utility that converts QR codes into vector-based stencil patterns suitable for laser-cutting. The QR_STENCILER is described in full detail in our 19 July blog post.
The newest version of the QR_STENCILER adds the following functionality:
- Options allowing both black-on-white and white-on-black (“reverse”) stenciling;
- A graphical user interface with checkboxes and sliders from the ControlP5 library;
- Rounded corner options (including both circular arcs and Bezier curves);
- Precompiled executables for Mac OSX, Windows and Linux;
- Vector path simplification for improved lasercutting.
Moreover, the QR_STENCILER can now be downloaded from the following 3 locations:
- As a ZIP file From the F.A.T. Lab website (Version 1.1, 3 August 2011, 15MB), including compiled Mac/Win/Linux applications.
- As a Java applet on OpenProcessing.org. This is primarily for pedagogic purposes and quick reference, as the in-browser Java virtual machine does not permit the exporting of stencil PDFs.
- As a code repository on Github. Any future updates to this project will be found there.
Thank you for your interest in this project, and happy stenciling.
The F.A.T. Lab staff
QR_STENCILER and QR_HOBO_CODES
Yep, it’s a QR code stencil generator! The F.A.T. Lab is pleased to present QR_STENCILER, a free, fully-automated utility which converts QR codes into vector-based stencil patterns suitable for laser-cutting. Additionally, we present QR_HOBO_CODES, a series of one hundred QR stencil designs which, covertly marked in urban spaces, may be used to warn people about danger or clue them into good situations. The QR_STENCILER and the QR_HOBO_CODES join the Adjustable Pie Chart Stencil in our suite of homebrew "infoviz graffiti" tools for locative and situated information display.
CONTENTS
ABOUT THIS PROJECT
QR codes are a form of two-dimensional barcode which are widely used to convey URLs and other short texts through camera-based smartphones. A variety of free tools exist to generate QR codes (such as the Google Charts API) and to read them (such as TapMedia’s free QR Reader for iPhone app). Our QR_STENCILER is a Java-based software utility which loads a user-specified QR code image — from which it then generates a lasercutter-ready, topologically correct stencil .PDF. As Fred Trotter has pointed out, QR codes contain stencil islands in unpredictable configurations. QR_STENCILER automatically detects and bridges these islands, using thin lines that are minimally disruptive to the highly robust QR algorithm. It does so through the use of two basic image processing techniques: connected component labeling (sometimes called blob detection) and 8-connected chain coding (sometimes called contour tracing). QR_STENCILER was created with Processing, a free, cross-platform programming toolkit for the arts.

Closeup of a QR code lasercut in 1/8"-thick fiberboard. The QR_STENCILER automatically thickens corners between squares (left) and generates "bridges" to connect stencil islands (center). The level (amount) of island bridging is user-adjustable.
Accompanying the QR_STENCILER are the QR_HOBO_CODES (see below), a set of 100 lasercutter-ready QR stencil designs created with the QR_STENCILER software. These stencils can be understood as a covert markup scheme for urban spaces — providing directions, information, and warnings to digital nomads and other indigenterati. We present these as modern equivalents of the chalk-based "hobo signs" developed by 19th century vagabonds and migratory workers to cope with the difficulty of nomadic life. Indeed, our set of QR stencils port a number of classic hobo annotations to the QR format ("turn right here", "dangerous dog", "food for work") as well as some new ones, with a nod to warchalking, that are specific to contemporary conditions ("insecure wifi", "hidden cameras", "vegans beware").

Examples of 19th- and 20th-Century "hobo signs". Sources: Fran DeLorenzo (left), Wikipedia (right).
DOWNLOAD & INSTRUCTIONS
QR_STENCILER has been tested in MacOSX 10.6.8, but (since Processing is a cross-platform toolkit) it should work in Windows or Linux as well.
- Make yourself a QR code image which embeds a short piece of text. GoQR.me, Google and Kaywa all provide free online QR generators. To reduce the complexity of the stencil, we recommend generating your code with the shortest possible texts, and with lower levels of error correction (L-level or M-level). At the same time, we recommend generating QR code images with more pixel resolution, such as 500x500px; for QR_STENCILER, the ideal input image has a “grid size” of about 20 image-pixels per QR grid-cell. (See this QR code for an example; it has 23-pixel grid-cells in an overall image size of 540x540px.)
- Download QR_STENCILER.zip, and unzip this to a folder. The QR_STENCILER is also available from this Github repository.
- Although the zip includes compiled executables for Mac, Windows and Linux, we recommend running the QR_STENCILER from the Processing development environment. Download and install the Processing development tool. The QR_STENCILER works with Processing v.1.5.1 or later.
- Put your QR code image in the folder, ‘QR_STENCILER/data/’
- Launch Processing and open ‘QR_STENCILER.pde’
- Press ‘Run’ (Command-R) to start the stenciler.
- You will be prompted to Open your QR code image. (A default “hello world” QR code will be opened if none is provided).
- After opening the QR code image, the program will generate a stencil .PDF in the ‘data’ folder. Note that there are some options (checkboxes, sliders) which you can use to alter the generated stencils in various ways, including (for example) generating “reverse” (white-on-black) stencils.
- The .PDF can be opened in your favorite CAD program, for laser-cutting materials like cardboard, delrin, MDF or acrylic. If you need to find a lasercutter, consider Ponoko.com, which ships anywhere. You can also Google ‘lasercutting service‘ to find a bureau near you, or check the Architecture or Design departments of your local university. (Of course, you could always print out the PDF on paper if you prefer to cut the stencil by hand. Cheap!)
- For non-permanent outdoor marking materials, we recommend Erwin Strait-Line 64908 powdered chalk; black spray chalk; black finger paint; and Crayola Sidewalk Paint.
- After marking your stencil, test it with a QR code reader, such as TapMedia’s free QR Reader for iPhone app.
LICENSE
The QR_STENCILER software is provided "as is", without warranty of any kind. QR_STENCILER is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. You are free to distribute, remix, and modify QR_STENCILER, so long as you share alike and provide attribution to FFFFF.AT. The repackaging of QR_STENCILER as or into commercial software, is expressly prohibited. Please note that QR_STENCILER also enjoys protections under the GRL Repercussions 3.0 license. More details about QR_STENCILER’s license and warranty can be found in the preamble to its main code file, QR_STENCILER.pde; for other uses, please contact us. The 100 QR_HOBO_CODES and their respective stencils are hereby dedicated to the public domain.
![]() 25-minute wait png | stencil |
![]() assholes png | stencil |
![]() bad coffee png | stencil |
![]() bad food png | stencil |
![]() bad tempered owner png | stencil |
![]() bad water png | stencil |
![]() be alert png | stencil |
![]() be quiet png | stencil |
![]() be ready to defend yourself png | stencil |
![]() beware pickpockets png | stencil |
![]() bike thieves png | stencil |
![]() boring png | stencil |
![]() broken meter png | stencil |
![]() camera perverts png | stencil |
![]() camp here png | stencil |
![]() cars ticketed png | stencil |
![]() caveat emptor png | stencil |
![]() changing table png | stencil |
![]() cheap drinks png | stencil |
![]() check cashing png | stencil |
![]() civilized place png | stencil |
![]() contraception available png | stencil |
![]() cops active png | stencil |
![]() cops inactive png | stencil |
![]() danger png | stencil |
![]() dangerous homophobes png | stencil |
![]() dangerous neighborhood png | stencil |
![]() dishonest scalpers here png | stencil |
![]() dog png | stencil |
![]() food for work png | stencil |
![]() free doctor png | stencil |
![]() free out-of-date food png | stencil |
![]() free wifi png | stencil |
![]() get out fast png | stencil |
![]() go straight png | stencil |
![]() good cheap food png | stencil |
![]() good coffee png | stencil |
![]() good for a handout png | stencil |
![]() good to kids png | stencil |
![]() good veg-burger png | stencil |
![]() good water png | stencil |
![]() GPS is incorrect png | stencil |
![]() great dumpster png | stencil |
![]() habla espanol png | stencil |
![]() has showers png | stencil |
![]() help if sick png | stencil |
![]() here is the place png | stencil |
![]() hidden cameras png | stencil |
![]() high-fee ATM png | stencil |
![]() hold your tongue png | stencil |
![]() insecure wifi png | stencil |
![]() it’s fake png | stencil |
![]() just ignore him png | stencil |
![]() keep away png | stencil |
![]() keep going png | stencil |
![]() kind family png | stencil |
![]() lax oversight png | stencil |
![]() look down png | stencil |
![]() look up png | stencil |
![]() lots of outlets png | stencil |
![]() mean to children png | stencil |
![]() nice bathroom png | stencil |
![]() no bathrooms png | stencil |
![]() no changing table png | stencil |
![]() no fee ATM png | stencil |
![]() no outlets png | stencil |
![]() no pets png | stencil |
![]() no privacy png | stencil |
![]() open late png | stencil |
![]() over-priced png | stencil |
![]() over-rated png | stencil |
![]() owner gives to GOP png | stencil |
![]() owner has a gun png | stencil |
![]() perverts png | stencil |
![]() pissoir png | stencil |
![]() Plan B sold here png | stencil |
![]() prostitution sting png | stencil |
![]() scammers png | stencil |
![]() sleep in barn png | stencil |
![]() speed trap png | stencil |
![]() stay low png | stencil |
![]() strong phone signal png | stencil |
![]() talk religion get food png | stencil |
![]() tell a hard luck story here png | stencil |
![]() test market png | stencil |
![]() those aren’t real png | stencil |
![]() toll road png | stencil |
![]() tramp camp png | stencil |
![]() tramps arrested on sight png | stencil |
![]() turn left here png | stencil |
![]() turn right here png | stencil |
![]() unexpectedly good coffee png | stencil |
![]() unsafe area png | stencil |
![]() use gloves png | stencil |
![]() used frying oil available png | stencil |
![]() vegans beware png | stencil |
![]() well guarded png | stencil |
![]() will give to get rid of you png | stencil |
![]() work available png | stencil |
![]() worth saving png | stencil |
ACKNOWLEDGMENTS
QR_STENCILER was created by Golan Levin and Asa Foster III with support from the STUDIO for Creative Inquiry at Carnegie Mellon University. Thanks to Ben Fry, Andreas Schlegel, Marcus Beausang, Neil Brown & Judy Robertson for the terrific code they have made available online. A tip of the hat to Fred Trotter, Jovino, Ric Johnson, le Suedois, Patrick Donnelly, David J. Burden, Matt Jones and others who have gone down similar or related paths. Additional thanks to Andrea Boykowycz for creative input. Some of the QR_HOBO_CODES are adapted from or inspired by designs presented elsewhere by Fran DeLorenzo and Cockeyed.com. "QR code" is trademarked by Denso Wave, Inc.
KEYWORDS
Barcode, QR code, stencil, QR code stencil, graffiti, grafitti, graffiti research, graf technology, street art, culture jamming, tactical media, urban messaging, locative media, situated visualization, contextual computing, lasercut, laser cutter, digital fabrication, template, chalk signs, chalk, spray paint, spraypaint, fffffat lab, hobo culture, hobo signs, warchalking.
Infoviz + Graffiti: a Pie Chart Stencil
We present the design of an adjustable lasercut stencil pattern for pie-chart graffiti.
The pattern includes a complete set of re-arrangeable letters and numbers.
Changing the stencil’s message and pie-chart percentage is straightforward.
The stencil has a few noteworthy design features:
- The letters are designed to be held in place with adhesive tape.
- The pie chart pointer is held in place by an adjustable-tension bolt and wing-nut.
- A small cutout arrow indicates which portion of the pie chart is described by your text.
- The perimeter of the pie chart is etched with 100 tick-marks, making it easy to adjust.
- The letters (a new stencilized version of Trade Gothic) preserve correct character widths and are provided in proportion to letter frequency (e.g. ETAOIN SHRDLU).
Here are the stencil designs (Illustrator CS4 .PDF format):
Complete fabrication info (including high-res photos) is available here. If you’d like to make one for yourself, you’ll need:
- 1/8″ (3mm) thick sheet material, suitable for lasercutting. I used MDF, but acrylic is fine.
- A one-inch 1/4″-20 bolt, wing-nut and suitable pair of washers.
- Scotch tape or masking tape (to hold the letter in the stencil)
- 1 quart-capacity Ziploc bag (for storing the letters)
- Spray paint
- A laser cutter!
Acknowledgements
This four-hour Speed Project was developed by Golan Levin with support from the STUDIO for Creative Inquiry. Thanks to Asa Foster III for production assistance.
Obama GML Playa
Obama redraws the greatest hits and your favorite selections from the #000000book library of GML tags, in the Obama GML Playa by Golan Levin & Jérôme Saint-Clair.
To view the Obama GML Playa go to http://graffitimarkuplanguage.com/obama-gml-playa
Built with Processing, 2010 / Source code: Playa.zip
Uses the new Processing GML Library GML4U by Jérôme Saint-Clair and Toxiclibs by Karsten “Toxi” Schmidt. White House photo by Pete Souza (Government Work).
GML + RoboTagger
A labor-saving device for graffiti artists. An assistive tool or telematic proxy for taggers working in harsh environments. Long-needed relief for graffiti artists with RSI. Or simply, pure research into as-yet-untrammeled intersections of automation and architecture. We give you: the ROBOTAGGER, an industrial robot arm programmed with GML, the new “Graffiti Markup Language” created by Evan Roth and pals at the FAT Lab.
This quick project came together over the past weekend in CMU’s Digital Fabrication Laboratory (dFAB), directed by my pal, Professor Jeremy Ficca. Inspired by a tweet from Evan Roth, one of the co-creators of GML, we reckoned it would be easy to transcode GML into a file format suitable for robotic CAD/CAM machining. The result is a small Processing utility that converts GML into DXF and CSV (you can download the GML-to-DXF source code here). After tinkering around for a while we developed a pipeline for converting the GML/DXF strokes from 000000book.com into machining paths for the dFAB’s ABB IRB-4400, an eight foot tall industrial robot arm. One of our first tags, which you can see in the video, was made from GML produced by TEMPT ONE (Tony Quan), a graffiti writer with Lou Gehrig’s disease who produced the GML recording with the FAT Lab’s well-known EyeWriter software. Although there’s been a lot of data loss and translation along the way, it’s not completely unreasonable to think of the Robotagger as a prosthesis for Tony. I hope we can pursue this possibility a little further.
Speaking of future directions, there are lots of interesting research topics latent here in automated calligraphy. We were astonished to realize just how important the force-feedback of pressure is to the visual quality of the drawings. (The first 20 seconds of the video shows what I mean in an extreme way – we shattered a marker and sent ink everywhere when our estimate of the Z-plane turned out to be off by a quarter-inch. Looks like we need to get that force-measuring software extension that ABB sells.) Going forward, we’re interested in exploring robotic performances of higher-dimensional gesture data, such as that produced by Wacom tablets, which provides high-resolution information about the pressure, azimuth and elevation (yaw and pitch) of the tagger’s stylus. Watch this space — I’ll be developing some tools to help the next version of GML encode this information.
The Robotagger is a collaboration of Jeremy Ficca’s dFAB at CMU; the STUDIO for Creative Inquiry at Carnegie Mellon, which I direct; and the FAT Lab’s GML initiative. We used the Sharpie Magnum and the wonderful 2-inch Montana Hardcore markers, which (AFAIK) are the largest magic markers in commercial production. (And of course, for the deep history of prior work blending graffiti and automation, don’t forget to check out the spraycan-enabled Graffiti Writer robot [1998-2000] by the Institute for Applied Autonomy, and Jürg Lehni’s wall-spraying Hektor robot [2002].) [Extra link: RoboTagger on Youtube]

















































































































