Digital Painting With Real Brushes: Light Strokes for IPad




Introduction: Digital Painting With Real Brushes: Light Strokes for IPad

Digital painting apps provide some amazing simulated brushes, but if you miss the expressiveness of painting with real brushes and other physical tools, then this Instructable is for you. It shows how to build the Light Strokes hardware that enables digital painting on the iPad using actual brushes, sponges, rags, or almost anything you'd care to paint with. You can even do digital finger painting. The hardware works in combination with the Light Strokes app, available for free from the App Store. You can see it in action on prototype hardware in the first video.

Light Strokes uses an optical effect you may have noticed when looking down through a glass of water and seeing just your fingertips against the side of the glass. Everywhere else, the background is seen by total internal reflection (TIR). Instead of a glass of water, here we use a Fresnel prism, consisting of thousands of tiny facets. The iPad's camera is placed where it can only see the parts of fingers, brushes, or other tools that are in optical contact with the top of that prism, the painting surface. Wetting the tools helps to eliminate the layer of air needed for TIR. As you move the tools, the Light Strokes app processes the camera's images of the contact areas into painted strokes, with your choice of colors and effects.

The materials and supplies are given at the beginning of each of the steps, with part numbers and links to manufacturers/suppliers. You will also need the following tools:

Step 1: Laminate Painting Surface

The painting surface is the most critical component. Scratches can show up as unwanted lines in every painting, and beads of water can paint unwanted spots. You will need: 

  • Tempered Glass, 10" x 12-1/2" x 3/16" - Glass is more wettable and scratch-resistant than most plastics, and tempered glass has even greater strength and scratch resistance. Most glass companies can supply tempered glass, cut it to size before tempering. Ask them to sand (not bevel) the edges, and for "no logo" or "paper logo only" (instead of marking the glass itself).

  • Fresnel prism - This is made by 3M as "Brightness Enhancement Film" (BEF), and you'll need the kind that uses 90° prism facets oriented in parallel, such as BEF4 GT 90/24 or BEF2 T 155n, available in 450 mm square sheets from 3M distributors (American Polarizers Inc. XN400032068 or XN400033769). BEF comes with protective films on both its flat and prismatic sides, which should be kept on for as long as possible since the prisms are easily scratched. 

  • Adhesive - The flat surface of the BEF must be laminated to the glass in a way that doesn't damage the prisms, remains clear, and contains no air bubbles (which can also spoil every painting). This lamination method comes from an Instructable by Ian Charnas. It uses a UV-curable Liquid Optically Clear Adhesive (LOCA) (DUV TP-2500), which comes in a 50 g syringe, though only about 15 g is needed for one painting surface.

Before beginning the lamination, you should know how the BEF is oriented. The film on its smooth side is yellow, while the one on its prismatic side is clear. If you place it smooth side down, with the corner notch at bottom right, then the prism facets (facing up) will run left/right, as shown in the picture. That's the same orientation you'll want when laminating, with the longer (12-1/2") dimension of the glass also running left/right.

To double check, remove a small piece of both films at a corner (which will be discarded later). Note that you can hear the prisms when you scratch them with your fingernail in the direction perpendicular to their grooves. There's no such texture when scratching the smooth side, in either direction. If you shine a narrow beam of light through the exposed BEF from the prism side, it spreads only in the direction perpendicular to the prism direction.

Prepare to Laminate

Cover your work surface to protect it from the LOCA, and wear rubber gloves to protect your hands and avoid fingerprints on the glass or BEF.

Trim off the two sides of the BEF opposite the notched corner, leaving the sheet about 14-1/2" x 12" (with the longer side parallel to the prism grooves) to make it easier to handle, while still leaving a ~1" margin on each side. Your cuts need not be perfectly straight or square, as long as you keep the two original edges that meet at the notch, for alignment.

Clean the glass, and tape to it a piece of black plastic just smaller than the glass itself, to completely mask off one side. That will protect it from any adhesive overflow and make it easier to see any bubbles against the black background. To keep that overflow from getting under the glass, place it masked side down on a support just smaller than the glass and ~3/4" thick.

Apply Adhesive

Wipe the exposed glass surface with 99% isopropyl alcohol (IPA) and allow it to evaporate. Apply the LOCA to the glass in the pattern shown. Leaving the clear protective film on the BEF's prismatic side, remove the yellow film from its smooth side, and place it smooth side down on the LOCA and glass, with the prism direction parallel to the long dimension of the glass. The BEF notch should be located as in the picture.

Starting from the center and working outwards, use the small brayer to push out any bubbles and distribute the LOCA, until it covers the entire glass surface. The LOCA won't harden till it's exposed to UV light, so you can take your time. Bubbles less than 3/4" from an edge are only a cosmetic issue, as the camera won't see them. But any bubbles closer in must be eliminated. After they've all been removed, use the larger brayer to make the lamination flat and even. Make sure that the BEF overhangs the edges of the glass all around, so that any excess LOCA stays under the smooth side of the BEF, away from the brayer, and away from the edges of the BEF, where capillary action could pull it into the prisms.

Measure the distance from the long edge of the glass to the original edge of the BEF (adjacent the notch) at both sides to verify that the prisms are parallel to the glass. If not, rotate the BEF to make them so. The painting surface will still work if the prism direction is off by a couple of degrees, but try to get it as close as possible.

Cure Adhesive

Suspend the UV lamp ~7" above the glass, centered with its long dimension parallel to that of the glass, to get even coverage. (Note that the lamp's enclosure is off-center in its shorter dimension.) Turn on the lamp and leave it undisturbed for about 24 hours. Curing is complete when the excess LOCA at the edges is no longer tacky.

After the LOCA is completely cured, trim off the excess BEF and LOCA by pressing down with a sharp knife along all edges of the glass. Remove the tape and black plastic, along with any uncured LOCA, from the other side of the glass, being careful not to get any LOCA on the glass itself. Set the completed laminate and its protective film safely aside, until you're ready to seal it into the enclosure in Step 8.

Step 2: Cut Mirrors

There are three mirrors inside the enclosure, which let the iPad's camera view the painting surface from the angle needed for the TIR trick to work. They must be first (or front) surface mirrors, because the extra reflections from ordinary second surface mirrors would obscure the details of painting tools. They can all be cut from:

The top and back mirrors are at 90° to each other and give the iPad's rear-facing camera a forward-facing, centered view of the painting surface. The bottom mirror lets that surface be viewed from below. 

The attachment shows the dimensions of each mirror.

Leave the blue protective film on the mirror while cutting it with a glass cutter, from the back (glass) side, slicing the film with a knife between the pieces after each cut. That film should be left on for as long as possible, to avoid any damage to those surfaces.

Note that the drawing for the asymmetrical top mirror is shown looking at the mirrored side, even though you'll cut it from the glass side. You can cut its shape out of a full-scale printout, and use that (upside down) as a template.

Running pliers make the job easier, as does a glass cutter with a small hone angle, like the Fletcher 01-128's 114°, for this thin glass. Mineral oil can be used as a cutting oil.

After cutting each mirror, lightly sand any sharp edges and clean off any remaining oil, but leave the blue film in place for now.

Step 3: Print Enclosure Parts

The exploded view shows the 11 printed parts that make up the enclosure, attached here as STL files (in mm). They should be printed out of black material, to minimize internal stray light.

The iPad supports are designed for the iPad Pro 12.9-inch, 1st or 2nd generation. Other models will require modifications to those parts to put the camera lens at the center of the opening in the left support.

You can use PLA as long as you don't plan on exposing the unit to direct sunlight, which would warp it. Print at a resolution of 0.2 mm, with 15% infill, which requires just under 2 kg of PLA (Duramic 3D PLA PLUS), including supports and brims (and re-usable jigs printed in Step 5). A heated glass bed coated with hair spray allows the parts to separate easily from the build plate when it cools. Some of the parts are a tight fit for the CR10Mini's build volume. The method of breaking up larger parts to fit the printer is one I learned from an Instructable by Rafael Fiol.

The Cura screenshots show how to place the models for slicing with minimal supports.

The base plate can be printed standing vertically on its front edge, but it needs supporting buttresses to print reliably. "Base Plate with print supports.stl" includes those, which snap off after printing. "Base Plate.stl" omits the buttresses, in case your printer doesn't need them.

The top mirror baffle can be printed with the back of the face that holds the mirror laid flat on the build plate. However, the support Cura generates for the bottom of its flange doesn't print reliably, so I added a more robust support in the "Top Mirror Baffle with print support.stl" and turned off Cura's support generation. "Top Mirror Baffle.stl" omits that extra support, in case you don't need it.

The "complete printed enclosure.stl" shows how all the parts fit together.

Step 4: Assemble Enclosure and Mirrors

Materials and supplies needed:

Machine screws hold the printed parts together with nuts captured in recesses (generally a press fit) at each through hole. Remove any print support from those recesses before pressing the nuts into place. Where it's tight, a round head screw with a washer can be screwed in from the other side to pull recalcitrant nuts into place. Put a bit of E6000 on the edge of each nut (avoiding its threads), even if its fit seems tight, to help prevent its being accidentally pushed out during assembly. The E6000 doesn't need to be wiped flush with the print, except for the two nuts used to fasten the two front panels together, which need to accept a flat overlay.

Don't forget the nut in the top mirror baffle, next to the camera opening, and the three in the bottom of the iPad supports.

The #6 nuts around the LED openings on each side are relatively loose fits, so they need a good drop of E6000 to hold them in place.

Add White Tape

Apply some white tape to the region marked with an embossed line on both the left and right side front pieces, just under where the painting surface goes. This improves sensitivity near the side edges of the painting surface, by reflecting some light there. Trim the tape to that area with a knife.

Install Mirrors

Next, install the top and back mirrors using the following procedure (hold off on the bottom mirror for now):

  1. Clean the back of the mirror (the exposed, glass side) with 90% IPA, and allow it to dry.
  2. Cut four ~1" long pieces of 1/16"-thick double-sided foam tape (3/4" wide for the back mirror and 1/2" wide for the top mirror), and stick them near the corners of the mirror, on the glass side, with one of their shorter sides near the edge of the mirror. 
  3. Partially peel the backing from the tape pieces, folding it back on itself to extend beyond the mirror edge, but don't remove it yet. 
  4. Place the mirror into position at its outline incised into the enclosure, with the blue film side up.
  5. With tweezers or needle-nose pliers, remove the partially peeled tape backing, and press gently on each corner, securing the mirror in place.
  6. Remove the blue film.

After this point you should avoid touching or wiping the mirrored surfaces, so as not to leave fingerprints or scratches.

Combine Split Parts

Before bolting all the pieces together, the seams in the split front panel and split iPad support need to be sealed against water that could enter there and cause damage inside the enclosure.

Insert the dowel pin into the 1/8" diameter holes at the tops of the pair of front panel parts, to help align them. Apply a thin coat of silicone sealant to both the butt joint at top and the lap joint below it. Fasten them together with two 3/8" stainless steel screws (stainless because water can drip onto them from the painting surface, and 3/8" to keep the inside surface flat). Wipe off the excess sealant with mineral spirits.

Also apply sealant to the butt joint between the two halves of the iPad support (the lap joint above it doesn't need sealing). Then bolt them together with three 1/2" screws, and wipe off the excess sealant.

Allow both seals to cure for 24 hours.

Assemble Parts

The video shows the rest of the parts being assembled. The order of attachment is as follows, with all the screws being 1/2", except as noted:

  1. Joined front panels to left and right side back panels (two screws each)
  2. Back side panels to base plate (four screws, with two 1-1/2" long ones in front)
  3. Back cover to back side panels(four screws)
  4. Back mirror baffle to back cover (four screws)
  5. Joined iPad supports to front sides (two screws), to back mirror baffle (four screws), and to back cover (two screws)
  6. Top mirror baffle to back mirror baffle (five screws) and to left iPad support (one screw)

Turn the unit upside down and stick four small (1/2" square x 1/8" thick) rubber feet on the bottom, two near the back corners of the base plate and two near the front corners of the front panels.

Turn it back over and stick four rubber pads, 8 mm diameter x 2 mm thick, on the iPad supports as shown in the photo. These should keep the iPad from moving when you touch its screen to make menu selections, etc. Rest an iPad on the supports (retained by the rim at bottom) and touch various points on its screen to test its stability. Rearrange the pads as needed.

Tie the printed plug to one end of a 6" cord and tie the other to the eyelet on the back of the left iPad support. The plug can be left hanging there when the iPad is in place. Otherwise, it should be left in the camera opening to keep out dust.

If your base plate is warped away from where it meets the front panels, glue them together with E6000, giving it 24 hours to cure before proceeding.

Now install the bottom mirror, using the same procedure as used for the back mirror, but leaving its protective blue film on for now, since there's more work to be done nearby.

Install Black Background

The background the camera sees when no tool is present needs to be as dark as possible, so it's covered in black velvet. The pieces you'll need are shown in the attached Black Background Dimensions (which you can print out at 100% scale to use as a pattern), but the procedure is different for the two small pieces vs. the one large one. Cut the larger one slightly oversize, you'll trim it down later.

The two small pieces are for the shelf-like baffles above the LED openings on each side. Before cutting them, apply clear nail polish to the back of the velvet along the lines to be cut, and allow it to dry. Cut them out, shake off any loose threads or flocking, and cover the back of each piece with thin permanent double-sided tape. Then for each side, with a long edge of the velvet against the inside wall of the enclosure, and a short edge aligned with the back edge of the baffle, tape the piece down on top of the baffle, fuzzy side up. Fold the inside edge of the velvet down and under the baffle, taping it to the bottom side (where it need not reach the wall), and to itself where the baffle tapers off towards the front. Place a small (~1/2" x ~2") piece of duct tape over the velvet's edge on the bottom of the baffle, where it will be invisible to the camera and to users, to hold it in place.

Now back to the larger piece of velvet. If it has any wrinkles, iron it on low heat, with no water or steam, fuzzy side down. Slowly remove the paper backing from the self-adhesive vinyl, as you stick it to the back of the velvet, while following the line of adhesion with a large brayer. After all the backing paper is removed, run the brayer over the vinyl to press it on firmly and smoothly. Trim the velvet and vinyl to its final dimensions. Apply clear nail polish around all the edges to keep the velvet from fraying, and allow it to dry. Then shake off any stray fibers.

Stick a piece of 3/4" wide thin double-sided tape just below the shelf on which the drawing surface will rest, inside the front of the enclosure. Holding the velvet/vinyl from its cut corners at the top, lower it into the front of the enclosure, velvet side out, aligning its side edges with the walls of the enclosure and its top with the double-sided tape. Stick the vinyl to that tape, again just below where the painting surface will go, such that it won't sit on the velvet/vinyl. Lay the rest of it flat against the inside surface of the enclosure, continuing on down to the bottom, almost to the bottom mirror. Tack down the bottom of the vinyl with a small (~1") piece of thin double-sided tape at the center of the lower edge. (Don’t use tape along the whole bottom edge, nor along the sides, so the velvet won't buckle when the temperature changes.)

Use a piece of sticky tape to remove any stray threads or fuzz from the velvet and the area around it.

Step 5: Build Lights

Bright lighting is needed to make the system responsive to light-colored drawing tools, against the black background reflected from the painting surface where no tools are present. Light Strokes uses a pair of high-power LEDs mounted on heatsinks with lenses and acrylic rods to distribute their light. 

The lights require two of each of the following:


  • Four #4-40 x 3/8" round head machine screws

Modify Heatsinks

The four holes at the corners of each heatsink must be drilled out slightly to 5/32" diameter, to accept #6 screws freely. Also, the fins at the bottom of each heatsink must be trimmed off (e.g. via table saw) at a 70° angle, so that they don't touch the table on which the unit will sit. Debur the cut edges.

Two holes must also be drilled (with a #43 drill) in each heatsink and tapped for #4-40 screws at the locations shown in the attached Heatsink Drill Drawing. Note that the left and right heatsinks will then become mirror images of each other, to be mounted on each side with their flat surfaces facing each other and their forward #4-40 holes lower than the holes towards the back.These holes are near the bottom, where the fins are trimmed, and must be placed precisely to avoid hitting the fins. You can print the "heatsink drill guide.stl", and use it to position a drill at the proper locations, flipping it over for either the left or right heatsink.

Assemble LEDs with Lenses

You will also need to print two copies of the "LED Lens Holder.stl" in black PETG (colorFabb nGen). Black to avoid stray light again, and PETG to avoid heat deformation. They can both be printed at once, at 0.12 mm resolution and 50% infill, requiring about 6 g of PETG. Remove all support material and any stray bits of PETG from the bottom where the lens holder mates with the Endor Star.

Solder each length of zip cord to one of the Endor Stars: the striped (positive) lead to the + pad at top left of the Star and the unstriped lead to the - pad at its lower lower right.

Install a 20 mm elliptical spot lens in each printed lens holder by first placing the lens' tab in the holder's slot. With the lens level and a soft cloth under your fingers, press down on the center of the lens until it snaps into place, below the small tabs on each side that lock it there. Turn the holder over and verify that the lens is straight, i.e. that its circular opening is concentric with that of the bottom of the holder.

Now insert a #4-40 screw into each of the clearance holes in each holder. It's a tight fit at first, requiring them to be screwed in at an angle, until they clear the wide part of the lens holder.

Next, place a holder on each Endor Star, with the positive lead closest to the strain-relief loop on the holder. Make sure that they mate tightly and flatly, with no print support or other errant PETG in the way. Thread a 4" zip tie through that loop, and close it around both the positive and negative leads, leaving some play in each lead to the solder joints. Cinch the zip tie down tightly. You should now have two identical wired LED/lens assemblies.

Mount LEDs

Before attaching the LED assemblies to the heat sink, clean off the bottom of each Endor Star, and the corresponding area between the #4-40 threaded holes on each heatsink, with IPA. After that's dried, apply a drop of Arctic Silver to the bottom of an Endor Star, position the screws in its holder over the threaded holes, with the strain relief and leads aimed towards the top of the heatsink, and screw them down tightly. Insert an acrylic rod into the arms of the holder. Repeat for the other LED and heatsink.

Make Gaskets

A foam rubber gasket is used between each heatsink and the PLA enclosure to help keep out dust, provide thermal insulation, and to allow adjusting the LEDs' aim. You can use the heatsinks themselves as guides to cutting pieces of that size from a larger sheet. The attached Gasket Dimensions shows the holes that must then be cut out of those pieces. You can print the "gasket cutting jig.stl" and use it to position those holes. It accepts a 3/16" hollow punch to make the four #6 clearance holes in the corners, and you can also use it to mark the rectangular hole in the center to be cut out with a knife.

Step 6: Install Lights

The LEDs get wired in series to a constant-current LED driver that's powered by an AC adapter. You'll need each of the following:

First, place the heatsinks against the bosses on the left and right side front panels, with the gaskets sandwiched between them, and with the LED leads inside the enclosure. The trimmed fins and LEDs should be at the bottom, and the acrylic rods should be tilted with their tops towards the front of the unit, as shown in the photo of the right LED. If they're tilted backwards, switch them before proceeding.

Use the #6 screws to fasten each heatsink to the enclosure. Turn the screws until the gaskets are just touching both the heatsink and the enclosure.

Route each pair of leads underneath the velvet-covered baffle and around the small hook underneath the iPad support on the same side. Then run both pairs through the large hook on the Back Panel. It may be helpful to temporarily place a mirror above the bottom mirror (still protected by its blue film), in order to check the routing, as shown in the photo.

Connect LEDs

With the leads from both LEDs extending from the larger hook, cut the longer one (from the right LED) to match the shorter one. Splice the striped (positive) lead from one LED (it doesn't matter which one) to the un-striped (negative) lead of the other LED, and insulate that splice, e.g. with shrink tubing. Solder the remaining striped lead to the +Vout pin of the LED driver, and the remaining unstriped lead to its -Vout.

With a 5-1/2" length of hookup wire (or just the unstriped lead from the leftover piece of zip cord), connect the -Vin pin of the LED driver to the sleeve (negative) of the power jack. The power jack pinout diagram indicates which of its solder lugs is connected to its outer sleeve (negative) and which to its central pin (positive).

Solder a 3-1/2" length of hookup wire (or that much of the striped leftover) to +Vin of the LED driver, and solder a separate 2-1/2" length to the central pin of the power connector. Pull the free ends of those two wires from the inside of the enclosure out through the rectangular hole in the back cover, and solder them to the two switch terminals (it doesn't matter which wire goes to which terminal).

Test LEDs

At this point, the LED circuit is complete (nothing should be connected to the shunt on the power jack or the DIM input on the LED driver), and you should test it before buttoning things up. Plug the AC adapter into a wall outlet and its DC output into the power jack. Flip the switch on, and both LEDs should light up. If not, unplug the power and check your wiring. If neither LED comes on, and you're sure that your AC adapter isn't center negative, or uses the wrong size plug, you might have gotten the polarity wrong somewhere in the wiring, or have an open circuit from a bad connection. If only one LED comes on, the other one must have been shorted out, probably at one end of its leads or the other, assuming the leads themselves haven't been damaged.

Finish Installation

Once the LEDs are working, turn them off and unplug the AC adapter from the power jack. You can now snap the switch into its hole. Push the power jack from the inside into its circular hole below the switch, and secure it from the outside with its washer and nut. The LED driver can be stuck to the back cover above the switch with double-sided foam tape and/or some E6000.

The extra slack in the LED leads allows the LEDs/heatsinks/gaskets to be pulled away from the enclosure for maintenance without desoldering. Coil up those wires, tie them with a twist-tie, and hang them from the large hook out of the way of the camera. Again, a temporary mirror may help to see what you're doing, as in the final photo.

After the painting surface is sealed in place, you can remove the left side back panel to access that slack when necessary.

Step 7: Check Your Work

Before permanently sealing in the painting surface, you should check the mirror and LED installation. You will need:

  • 10-1/8" x 11" scrap of clear plastic, 1/8" to 1/4" thick
  • 8-1/2" x 11" printed test pattern

Download the first image (the test pattern with black lines and circles), and print it at 100% scale (200 dpi). It's OK if the printer's margin cuts it off slightly, as long as the whole dashed rectangle is shown and the distance between the thicker lines is 1".

Mark the centers of the the 11" edges of the scrap of clear plastic, so that you can align it with the center seams in the enclosure, and mark points up 7/8" from the bottom on each of its 10-1/8" edges, to align with the printed test pattern. (If your print isn't centered on the page, you would need to adjust where those marks go to center it.)

Plug the AC adapter back into the power jack, and turn on the LEDs. Remove the blue film from the bottom mirror and temporarily lay the scrap of plastic centered in the opening where the painting surface will go. Place your iPad on the supports with its rear camera at the upper left (and no plug in the camera opening), and open the Camera app. With your hand on the plastic you should see it on the iPad, as shown in the photo (which also demonstrates that a simple flat piece of plastic can't be used as a painting surface, since the camera sees everything above that plastic as well, not just things in contact with it.)

Check Camera's View

Place the printed test pattern face down on the clear plastic, lined up with the marks on each side to center it. Download the Light Strokes app to your iPad, launch it, and touch the gear icon at far right to open the settings panel. Leave most of the settings at their defaults, but turn on Preprocess and touch the Autofocus: Once button. Touch the Test Pattern button to display live video (quantized to 8 levels) with a red test pattern superimposed over it. Touch the screen twice to dismiss the settings panel and the menu. You should see something like the "Initial view of test pattern..." image here. If you touch the screen again to bring back the menu and go to settings again, you should be able to adjust the Preprocess controls (X and Y offsets and scales) to get the image of your printed test pattern to roughly line up with the red one superimposed on it. Don't worry about getting them exactly aligned, since that will change once the painting surface is installed. But if they're so far off that they can't be brought close to one another with those controls, then one or more of your mirrors is probably not laying flat and parallel to the enclosure surface on which it's mounted. In that case, you'll need to check for loose mounting tape, or mirror edges resting on an adjacent wall instead. Fix any such issues before proceeding.

Check Lighting

Now replace the test pattern with a plain sheet of white paper, and make sure that there are no room lights shining on it from overhead. On the Light Strokes settings panel, touch the Show Video button to display live video without quantization and without a superimposed test pattern. You should see something like the image here, with a fairly symmetrical pattern of streaks, though the streaks from each side will not be identical. If the pattern is far from symmetrical, then one or both of the LED assemblies may have a problem. You can temporarily block either LED with a black cloth to help see which LED might be problematic. Note that the left LED mainly illuminates the right side of the painting surface and vice versa. If there's a problem, check that the Endor Star modules are lying flat against the heatsinks and are properly mated with the pins in the bottom of the printed holders. Also check that the Carclo lenses are properly seated, parallel to the circular top of their holder, and that the acrylic rods are seated within the recesses of the holder's arms.

At this point you should also make sure there isn't anything in the way of the camera's view. With the white paper still in place, reduce the Zoom setting to about 1.50X, to make sure you're seeing everything the camera might see once the painting surface is in place. Dismiss the settings panel and hide the menu bar to see the complete image. If you see any thick dark lines across the otherwise bright screen, it probably means an LED lead is getting in the way. You'll then need to re-route and stow them outside of the the camera's view.

If all looks good, remove the paper and scrap of plastic from the painting surface opening.

Check Background

Now it's time to remove the protective film from the bottom (prismatic side) of the painting surface you laminated in Step 1. Once exposed, only handle it by its edges, as the prism facets are delicate. Place it in its opening at the front of the enclosure, prism side down and glass side up.

Before sealing it in place, you should check for any dust or debris inside the enclosure that would be visible to the camera. Turn the LEDs on, and use a cloth slightly dampened with glass cleaner to wipe away any smudges from the glass. Don't let liquid reach the edge of the painting surface, where it could wick into the prisms below. In fact, you need not wipe all the way to the edge since there's a ~1" margin outside the camera's view.

Open the Light Strokes app's settings again. Set the Zoom back to 1.55X, touch the Paint button, and dismiss the settings panel. In the center of the menu, touch the Texture On/Off button once to enable it, and touch the trash can icon at left to clear the screen. You should get a completely white screen, assuming that you haven't changed the default settings of 50% Threshold, 0.033 Exposure, and 24 ISO, and overhead lights are still off.

Go back to settings, and gradually raise the ISO value until you just start to see some pink or blue dots being painted on the screen. (If you go too far and much of the screen gets painted over, just lower the ISO and clear the screen again.) Those are caused by the brightest parts of the background. At these Threshold and Exposure settings, you should be able to raise the ISO to at least 200 without seeing the background causing painting. Don't worry about areas painted at an edge of the screen, those will go away once you complete the alignment in the next step. Blobs in the middle of the screen are most likely due to smudges on the glass that still need to be cleaned off.

If you're getting dots painted at ISO values below 200, they're probably due to specks of dust on the bottom mirror or the black velvet. You can select Show Video and raise the ISO and/or lower the Threshold to help see those spots more clearly and identify their location. You can also use the iPad's Camera app to that end, but bear in mind that its view is reversed top to bottom and left to right. You can even put your eye up to the camera opening, when the iPad isn't there, to see directly what the camera sees, with the same reversals. Once you've located the source of any spots, tilt the painting surface up, resting it on its bottom edge, and remove the offending debris, e.g. from the velvet with a piece of sticky tape or from the mirror or prisms with the touch of a clean soft lens brush. Then put the painting surface back in place.

After the painting surface is sealed in place, you can find and remove visible dust in the same way, except that then the easiest access will be by removing one of the side back panels.

Step 8: Install Painting Surface

Paint brushes and other tools need to be wetted to make frictionless optical contact with the painting surface The painting surface is sealed in place to prevent that water from getting inside the enclosure.

Space the painting surface 1/8" in from each side of the enclosure. Put a couple small pieces of 1/8" diameter acrylic rod, or other such padding, in the space at the front edge, to hold the painting surface in that position. That padding will then be sealed in place.

Mask off all four edges of the glass and the adjacent top sides of the enclosure. Squeeze black silicone sealant into that gap, and smooth it flat with the edge of a piece of card stock. Then immediately remove the masking, before the sealant has time to skin over. Allow the sealant to cure for 24 hours before proceeding to the next step.

Step 9: Setup and Paint

Calibrate Video

For this step you'll need a version of the printed test pattern from step 7 that can be wet. You could either get that print laminated, or order a print on water-resistant synthetic (plastic) paper from a service bureau (FedEx).

In the Light Strokes app, on the settings panel, select Default Settings to undo any changes you've made. Spray both the painting surface and the test pattern print with water, and place the pattern face down in the center of the painting surface. With the iPad in place and the LEDs on, go back to the settings panel and again turn on Preprocess, touch Autofocus: Once, and Test Pattern. A squeegee helps to remove most of the black blobs (due to air bubbles) so they won't obscure the image.

Note: there is a new, simpler video calibration procedure in version 3.0 and later of the Light Strokes app, as detailed in step 4 of this Instructable. Only use the following procedure if you are using an older version of the app.

Then perform the following procedure (as shown for my unit in the video):

Adjust the X and Y offsets to align the center of the image of the test pattern with the one shown in red on the screen. Adjust the X and Y scales to align the vertical and horizontal lines in the image with those in red. You can tilt the printed test pattern slightly if needed to get it aligned.

If the vertical lines in the image aren't parallel, adjust the Keystone setting to make them so. You may then need to go back and re-adjust the X and Y settings. Ideally the dashed rectangle on the printed pattern would line up with the edges of the iPad's screen, but the alignment need not be perfect.

Aim LEDs

Now you just need to aim the LEDs to make the lighting more uniform. To do that, turn off any overhead lights, and turn the printed test pattern over. Spray that all-white side with water, place it on the wet painting surface, and again squeegee out most of the bubbles.

Touch Show Video on the settings panel, dismiss that screen and the menu, and you should see something like the "before aiming LEDs" image, with a hot spot at center near the top, and a darker patch below it. Tightening the #6 screws on the bottom of both heatsinks aims the LEDs closer to the center of the painting surface, reducing that dark patch. Tightening the forward screws aims the LEDs more towards the top corners. The goal is to make the center brighter (and therefore more sensitive), without letting it get too dark near the edges. It can be helpful to change the video mode from Show Video to Test Pattern, since its quantization makes the larger variations easier to see by hiding the lesser ones. The lighting need not be perfectly uniform, but darker areas with lower sensitivity tend to be more noticeable in the center than at the edges. The "after" images show the lighting after adjustment on my unit, as well as the heatsink gasket's compression. When you're done, make sure that each gasket is in contact with both the heatsink and the enclosure and that all the screw heads are seated against the heatsinks.


Now you're finally ready to paint! Place the unit on a low table (e.g. 20-24" tall) that puts the painting surface at a comfortable height. On the settings panel select Paint, and set the ISO just high enough that you can easily paint in the full paint color with a wet white brush. Set the Threshold just high enough that the screen clears completely when you touch the trashcan icon. You may also need to clean the glass and turn off nearby or overhead lights to have that happen. If a bright part of the enclosure prevents clearing at an edge, you can adjust the X and/or Y offsets to hide it, since the center of the painting area doesn't need to be at the exact center of the glass. For off-white tools and finger painting, you may need raise the ISO and the Threshold. 

If you get lost with unusual combinations of settings, you can always revert back to the Default Settings. But before doing that, jot down your values for the X and Y offsets, scales, and Keystone, so that you can restore them without having to align the video again.

Besides brushes and other traditional painting tools, you can paint with anything that's light-colored and wet. Feel free to experiment with milk, cooked pasta, cut vegetables, plastic utensils, or anything else that won't scratch the painting surface. If you want to rest your hand on the surface while painting, put a piece of black plastic or cloth under it. You can add a couple drops of a low-foaming surfactant (Veggie Wash or Edwal LFN) to the water, to make water beads less visible. You can also clean off excess water after swiping right on the iPad to temporarily freeze painting, then swipe left to resume. 

The app's settings and painting controls are fully described in its User Guide.

Have fun painting!

Be the First to Share


    • For the Home Contest

      For the Home Contest
    • Make It Bridge

      Make It Bridge
    • Big and Small Contest

      Big and Small Contest



    1 year ago



    1 year ago

    Very nice work! Congratulations!

    Painting with real and wet brushes making use of Frustrated Total Internal Reflection has been demonstrated in 2009 with the "FluidPaint" System at University Hasselt, Belgium.

    white paper: P. Vandoren, L. Claesen, T. Van Laerhoven, J. Taelman, C. Raymaekers, E. Flerackers, F. Van Reeth, "FluidPaint: an Interactive Digital Painting System using Real Wet Brushes", ITS '09: Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces, Nov. 23-25, 2009, ACM, ISBN: 978-1-60558-733-2


    Reply 1 year ago

    Thanks. It was actually demonstrated even earlier, in 1985 at SIGGRAPH in San Francisco, as cited in that white paper: Greene, R. The Drawing Prism: A Versatile Graphic Input Device. In Proc. SIGGRAPH 1985, ACM Press (1985), 303-310


    1 year ago

    holy moly, this is fantastic- to echo others, this is way beyond my level of technical understanding, but i can grok that this will be a gamechanger for a lot of artists. if it's something you want to do, i hope you can expand this project. maybe shark tank? :P (genuinely though- thank you for posting this, this is so cool!)


    Reply 1 year ago

    Thank you, Mr. Wonderful ;-)

    Alberto Brama
    Alberto Brama

    1 year ago on Step 8

    I confirm that this is very impressive. Good job!


    Reply 1 year ago

    Thank you.


    1 year ago

    great work! amazing!fantastic! Can the optical structure be changed to reduce the volume? For example, using optical fibers or corners to transmit light.


    Reply 1 year ago

    Or use an external camera


    Reply 1 year ago

    Thanks, good questions! Earlier versions of the hardware did use an external camera, but still also used mirrors to fold the optical path to reduce the volume. In the current system, if there were no mirrors, the camera would be about 18" behind and below the painting surface. Using a wider angle camera lens could reduce that, but would also increase the variation in the camera's angle of view of that surface and hence in its sensitivity, to the point of not working at all in some places if the camera got too close. A telecentric lens can address that problem, but is extremely expensive at this size.

    A coherent fiber optic taper might also work, but even small ones (1" dia.) cost over $1K: I don't know of a source for ones that could cover an ~8"x10" painting surface, but you can bet the cost would be prohibitive.


    1 year ago

    As others have mentioned, this is very impressive and beyond comprehension. It is quite amazing. The quality and detail of your instructions are equally impressive. Thank you for sharing!


    Reply 1 year ago

    Thank you & you're welcome. I hope lots of people make it and use it.


    1 year ago

    Wow...just read through your tutorial on how you built this project... and realized, that many would buy your Digital Painting with Real Brushes. I sincerely hope that someone puts money into your project so it can be distributed on a world wide basis. I can just imagine how printing out, scaling up, adding layers for 3-D printing on to canvas...what an amazing gift to art.


    Reply 1 year ago

    Thank you, that would be nice.


    1 year ago

    I love meaty technical projects like this, and the detailed writeup. Well done, Rick!


    Reply 1 year ago

    Thanks Mike!


    1 year ago

    that's fantastic. 0.0


    1 year ago