Halftone is an app I’ve written for making halftone-style carves with Inventables’s Easel CNC design platform. A halftone image uses different sized dots to represent light and dark areas.

Upload an image, and Halftone will convert it to a grid of holes with each hole sized to reflect the brightness of the image at that point. Darker areas are represented by wider holes; if you’re going to backlight your carve, you can invert it and have lighter areas use wider holes.

Using Halftone

Choose an image to upload:

Halftone will generate the appropriate cuts at the default resolution.

Increase the resolution to raise the number of holes that will be carved.

This is the result of running Halftone on the above image at a resolution of 100. This carve used a 1/16″ bit, so any holes smaller than that were skipped.

Setting Up Halftone

Halftone hasn’t yet been approved by Inventables for public use, but until it is, you can run it by following these steps:

Visit http://easel.inventables.com/apps and click “New App.” Create a new app called Halftone. (You may need to request access to the app development system from Inventables first.) Upload a thumbnail and choose API version 2.0.0.

Replace all of the code in the editor with the code from https://raw.githubusercontent.com/cfinke/Halftone/master/halftone.js Click Save.

Open or refresh Easel, click on the Apps button, and if you scroll all the way down, you should see your Halftone app, ready to use.

If you stop now, Halftone should work just fine, but it will be sending your images to my server for processing. If you’re not comfortable with that, follow these steps to set up image processing on your own server:

Copy the code from https://raw.githubusercontent.com/cfinke/Halftone/master/server.php and upload it to a location of your choosing. Modify your Halftone app code in Easel and replace https://easel.efinke.com/halftone/ with the URL that you uploaded the code to in the previous step.

Your images should now be processed on your own server.

All of the code for Halftone is available on GitHub. If you have any issues with it, feel free to comment below, open a GitHub issue, or email me directly at cfinke@gmail.com. If you use Halftone to carve something, post a picture of it in the comments; I’d love to see it.