Introduction: Robot Foam Cutter

In the course of making stuff for myself and my customers, I frequently perform tedious tasks that could be automated. One of these is cutting foam sheets from a large roll. In the picture you see the roll of foam I start with and the desired end result, which is a stack of 12" by 71/4" pieces of foam. I've used paper cutters, rulers and razor blades, and so on and always dreaded when I ran out and had to cut more.

I've been experimenting with the Actobotics™ robot assembly system from ServoCity, and while cutting my last batch of foam realized that I should be able to make an affordable machine to do this for me. The second picture shows the result: the Robot Foam Cutter.

While you may not need a machine to do the same thing, this Instructable may give you some ideas for automating some of the tedious things you need to do.

UPDATE: I've attached a bill of materials (BOM) spreadsheet with prices in the parts section. My total cost for this project, not counting parts on hand, was about $300. Depending on your frame of reference, this may seem scary expensive or pocket change. For me time is money, and sometimes I have more money than time. For the amount of time this has saved me in the past, and will in the future, it is well worth it.

A word about the design philosophy...

To keep things simple, I used stepper motors. I can control exactly how many full or partial revolutions they make. Then I don't need to use any limit switches or measuring tools. While this simplifies the design, it does require some precision so that there is no slippage. I use a cogged belt to move the carriage back and forth. A specified number of motor steps will move it to one end, and the same number of steps will return it to the original position. The foam material is fed by some toothed wheels (gears) that grab it firmly enough to measure out an exact amount but not firmly enough to damage the foam sheet. Some experimenting was needed to come up with the right combination of materials and mechanics to get this to work right. I hope you enjoy the results.

Happy building!

Be sure to click on the pictures to see more detail.

Step 1: Materials

When I bought a sampling of Actobotics™ parts, I also bought the hardware kit which includes a variety of their socket head screws. They work great for the most part, but sometimes the large heads get in the way. The picture shows some low profile socket head screws that I got from Fastener Express. I selected some with black oxide finish because they show up better in the pictures.

UPDATE: I've attached a Bill Of Materials (BOM) with prices.

Below I list the main parts and tools needed for this project.


  • Plywood base - 3/4" x 15" x 18"
  • #4 x 3/8" Pan-head sheet metal screws
  • #6 x 3/4" Pan-head sheet metal screws
  • Teflon® (PTFE) sheet 0.03" thick, or other slippery plastic
  • Double-sided carpet tape
  • #0 Philips screwdriver
  • #1 Philips screwdriver
  • Assorted ball-head hex drivers
  • Long tweezers (for holding parts in place where fingers can't reach)
  • 1/16" Drill bit
  • Glue (Amazing Goop®)
  • (2) #24 X-ACTO® blades


  • Arduino Nano
  • (2) Pololu Stepper Drivers (#1183)
  • Solderless Prototyping Board
  • 12VDC 1.5A Regulated Power Supply
  • 2.1mm Power Jack
  • (3) Small Push Buttons
  • Prototyping Jumpers
  • (2) NEMA 14 Stepper Motor 1.5A 56oz-in (eBay)
  • Fiberglass wire sleeving
  • Heatshrink tubing


  • 18" Channel (585462)
  • (2) 9" Channel (585450)
  • (3) 1/4" Hub Spacer (545376)
  • (2) NEMA 14 Stepper Mount (555156)
  • (3) 1/4" Set Screw Hub (545548)
  • (2) 36 Tooth 32P Gear (RHA32-36-36)
  • 5mm to 1/4" Shaft Coupler (625120)
  • 1/4" to 1/4" Shaft Coupler (625104)
  • 1/4" x 1.5" D-Shaft (634064)
  • 1/4" x 1.75" D-Shaft (634066)
  • 1/4" x 12" D-Shaft (634094)
  • (3) 1/4" x 1/2" Flanged Bearing (535198)
  • (3) 1/4" Shaft Spacer (633104)
  • (3) 1/4" Shaft Collar (6432K12)
  • 1/4" 15T Timing Belt Pulley (615434)
  • Timing Belt Material (615412)
  • XL Belt Mount A (585502)
  • Channel Slider D (585554)
  • (3) Quad Hub Mount D (545324)
  • Flat Dual Channel Bracket (585422)
  • Assorted 6-32 socket head screws

Other Parts

  • Low-profile socket-head 6-32 screws from Fastener-Express
  • RepRap Timing Belt Pulley for 5mm shaft, 5mm pitch (eBay)
  • Angle-aluminum guide 1/2" x 1/2" x 1/8" x 14" long

Step 2: Preparing the Base.

My base for the project is a piece of a recycled desk top, consisting of 3/4" MDF topped by 1/4" oak plywood. You want it to be large enough so everything fits and heavy enough to stay in place when the machine is operating.

My base is 18" by 15". I will refer to one of the 18" edges as the Front Edge. I used my table saw to cut a 1/4" deep slot parallel to the front and 4" in. The cutter will extend into this slot so that there is a clean cut when it passes through the foam.

One 9" channel is positioned parallel to a center line drawn from the top edge to the bottom edge. #4 x 3/8" pan head sheet metal screws are used to fasten it so that the inside edge is 6" from the center line. Use the 1/16" drill to prepare pilot holes for the screws.

The channel is positioned 5/8" back from the slot. This is the distance that the cutting assembly extends from the ends of the channels, and provides room for attaching the angle-aluminum guide.

Step 3: Position 2nd Base Channel

Once the first feed guide is positioned and fastened, we need to do a partial assembly to properly position the second feed guide.

Take the second 9" channel and position it on the base, parallel to the first one, about 12" apart, measured from the inside edges. Place the 18" channel on top. Refer to the first picture above. Place two 1/4" hub spacers between the 9" and 18" channels. Fasten the hub spacer on the left with two 5/8" screws and nuts. The white circles and black markings show how everything should line up.

Fastening the right side is a little trickier. The foam material to be cut varies in width from 12" to 12 1/8" so we need to leave at least 12 1/8" between the inside edges of the 9" channels. There is not a convenient hole pattern that matches up with this so the 1/4" hub spacer is used to offset everything the correct amount. Use the second picture as a guide: Fasten a 1/4" screw from the top through the red hole of the 18" channel to the threaded hole marked in red on the hub spacer. Fasten another 1/4" screw from the bottom through the 9" channel, using the holes marked in green as a guide. Tighten all the screws to take out the slack but still allow movement.

Using the right-angle guide, position the second 9" channel so it is parallel to the first one, with 12 3/16" between the inside edges, and 5/8" back from the slot. Drill some guide holes with the 1/16" drill bit and fasten the channel to the base.

Remove the 18" channel.

Step 4: Building the Feed Mechanism

The feed mechanism consists of some gears, shafts, bearings and a stepper motor. The components are shown in the first picture.

The teeth of the gears will dig into the foam and feed it forward as the gears turn. The small 1" x 2" Teflon® pad, shown in the second picture, assures that the foam slides smoothly, and adds a little extra pressure between the gears and the foam. The Teflon® is held in place with double-sided carpet tape.

Not everyone has scrap pieces of Teflon® lying around, mine was a left-over from another project. A suitable alternative is to cut a piece of high-density polyethylene from a gallon water jug or milk bottle. Rubbing the surface with a lip balm that contains beeswax will make it extra slippery. I use Burt's Bees 100% Natural Lip Balm. I've used it on stubborn plastic lids, sliding windows, etc. No workshop should be without it. But I digress...

Start by attaching the NEMA 14 mount to the stepper motor with the provided screws. Attach the 5mm to 1/4" shaft adapter to the motor shaft and attach the 1 1/2" long, 1/4" D-shaft to the adapter.

Attach the motor to the 9" channel with 1/4" screws so the shaft comes through the second hole from the end. Use the second picture as a guide.

Attach the gears to the set screw hubs with two 3/8" screws each. Slide one of the gears on the 1 1/2" shaft as shown in the second picture.

Assemble the remaining components as shown in the third picture. The set screw hub at the far left is used to turn the shaft manually.

If you want to test the feed mechanism by itself, you can jump ahead and build the controller, connect the motor and try it out. Here is a video where I test it. I'm using an experimental version of the controller, and up to this point I wasn't sure this would work. Initially, the foam didn't feed consistently because there was too much friction between it and the aluminum channels. Once I added the Teflon® pads under the feed gears it worked excellently!

Step 5: Cross-slide and Carriage

Once a certain length of foam has been extended by the feed mechanism, we need a cutter to chop it off. The 18" channel provides a cross-slide for a carriage that holds a knife to do just that.

Build the slide carriage using the Channel Slider "C", two Quad Hub Mount "D" and eight 5/16" screws as shown.

Attach the Flat Dual Channel Bracket to the vertical hub mount using the marked holes and two 1/4" screws.

Re-attach the 18" channel as described in Step 3. Tighten the screws enough to remove any slack but allow for some movement.

The hub spacer on the right side, circled in red in the second picture, allows the right end of the channel to be moved front to back. Attach the carriage as shown and slide it back and forth. The purpose is to align the 18" channel parallel to the cutting slot. As you move the carriage back and forth, the bottom edge of the of the flat bracket should be the same distance from the cutting slot at each end of the slide. Tighten the screws holding the 18" channel. Test the alignment again after tightening the screws to be sure that tightening the screws hasn't twisted anything out of alignment.

Note: If the carriage binds as it slides back and forth, you will need to squeeze or spread the top edges of the channel as necessary so the carriage slides easily.

Step 6: Belt Idler Assembly

An idler pulley is mounted on the left end of the 18" channel. The first picture shows the needed parts. (The piece of channel is shown for reference only.) The completed assembly is shown in the second picture. Note that the flanged bearings are mounted with the flanges on the inside.

Step 7: Belt Assembly

A toothed belt is used to move the carriage back and forth along the slide. The belt loops around the idler pulley, a pulley attached to a second stepper motor and the ends are attached to the carriage.

Remove the top Quad Hub Mount from the carriage.

Cut a 40" section of belt, feed it around the idler pulley, and feed the ends through the 1/4" Hub Spacer and Hub Mount as shown in the first picture.

Pass four 3/4" screws through the unthreaded holes in the Hub Mount and Spacer and screw them into the Belt Mount "A" as shown in the second picture. Fasten the screws tight enough to hold everything together but loose enough so you can pull the belt through the holes. You will tighten this after mounting the cutter motor.

Step 8: Mounting the Cutter Motor

Originally I was going to use the Actobotics™ 15-tooth belt pulley to move the belt, but the motor shaft was not long enough to extend to the center of the channel, which is where the set-screw would be. Instead I found some pulleys on eBay that have a collar and set screw sticking out to the side of the pulley. The first picture shows the difference between the two pulleys. This was just what I needed for a simple mounting. (The Actobotics™ pulley is on the left.)

Getting everything assembled was a bit tricky. You need to use the low-profile screws so that there is enough clearance for the collar. The third picture shows how to use a ball-head hex wrench to fasten the screws from an angle. The fourth picture shows the final assembly.

Step 9: Tightening the Belt

Once the pulleys are in place, and the belt wrapped around them and clamped to the top hub mount of the carriage, it's time to tighten things up. We don't need 1000th or even 100th of an inch precision with this machine so we don't need to be too particular about this. We do need to take out any slack that would allow the belt to jump off the teeth of the pulleys.

Loosen the four screws that extend through the hub mount and hub spacer into the belt clamp. (Circled in the first picture.) Pull up any excess slack with one hand while holding the assembly in place with the other. Once you've got the belt as tight as you can, pinch the belt ends close to the hub with one hand and tighten the screws with the other. Rotate among the screws, tightening each a little at a time so the belt clamp comes up evenly.

Attach the rest of the carriage and the Flat Dual Channel Bracket. Move the carriage back and forth and verify that the channel bracket moves parallel to the slot.

The Actobotics™ web site and videos shows how to construct a belt tensioner. This would have required a longer channel, and many more parts. I wanted to keep things simple (and cheap!) and I found that what I describe here works well enough.

Step 10: The Cutting Blade

Remove the Flat Dual Channel Bracket from the carriage. Round off the bottom corners with a file or belt sander so they don't catch on the edge of the foam sheeting as the knife assembly moves back and forth.

Position two #24 X-ACTO® (or similar) blades, as shown in the second picture, and clamp them into place with a hub mount. The screws come through from behind the channel bracket. Hold the finished assemble up to the carriage and verify that the blades will extend down into the cutting slot. Adjust them as necessary. Be careful - these blades are sharp!

The blade assembly is then mounted onto the carriage with some screws and washers to position the blade into the center of the slot. Slowly slide the carriage back and forth to ensure the blades do not contact the sides of the slot.

Step 11: Material Guide

The first time I tried to manually slide the blade back and forth to cut the foam, the foam just bunched up, and when there was enough pressure, the blades would cut, but crookedly. I needed to add something that would hold the foam sheeting in place as the cutter moves back and forth.

This is accomplished with some angle aluminum. This piece is 14" long and I drilled holes 1/2" from each end to accommodate 3/4" #6 sheet metal screws. Then it's fastened parallel to the cutting slot, using some washers to create just enough space for the foam sheet to pass easily.

Step 12: Controller Hardware and Software

This is the assembled controller.

  1. Power from a regulated 12V 1.5A power supply comes in from the left.
  2. The 12V is fed to both of the VMOT pins of the two stepper controllers. The 12V wire to the second controller is beneath the boards. The left controller is for the feed motor and the right controller is for the cutting motor.
  3. The left stepper controller provides the 5V required for the stepper controller logic circuits and for the Arduino Nano. The red wire at position 8 feeds that 5V power from the first controller to the board.
  4. Two 10K resistors at positions 13 and 29 pull-up the ENABLE pins on the motor controllers. This disables the motors while the Arduino Nano is powering up and initializing. If you leave these out the motors will "chatter" a bit at start-up.
  5. The orange wire at position 14 puts the feed motor in half-step mode to provide more precision and to slow it down.
  6. The stepper motor wires are prepared as shown in the second picture. I covered them in woven fiberglass sleeving. The ends at the motor are glued with Amazing Goop®. I use heat shrink tubing to keep opposite ends neat. The wires are solders to 0.1" header pins and sealed with more glue.

Pinouts and instructions for the motor controllers can be found here: Stepper Controller

Pinouts and manual for the Arduino Nano can be found here: Nano

The commented code for the sketch is attached below. (This may not display well in some browsers so you'll need to download it first and then view it in the Arduino IDE or some other code editor.)

The three buttons on the controller do the following:

Left (brown) button feeds the foam one time.

Middle (black) button moves the cutter back and forth once.

Right (white) button cuts 10 pieces of foam.

You can see this in the video below:

Step 13: Suppliers and Resources

Here is a list of Internet links to various suppliers and resources I used for constructing the Robot Foam Cutter.

Actobotics™ at ServoCity - main source for construction materials.

Fastener Express - excellent source for screws. Economical and ships fast!

Pololu - stepper motor controllers, enhanced Arduino controllers and more.

JGSCraft - Author's web site.

Step 14: Conclusion

I used erector sets probably before I could walk. For me they've always been a fun sort of 3D puzzle. I'll start to assemble something and then realize that I have to take it partways apart again because the assembly blocks me from reaching a screw or some other critical part. That happened on this project as well, and may happen to you. I've tried to show a logical sequence of the major construction steps. Some of the substeps you'll have to figure out on your own. For example, you have to slide the pulley onto the shaft of the second motor BEFORE you screw the motor to the channel.

Some steps can be done out of sequence. I chose to assemble the belt first and inserted the pulleys inside of it when I mounted the idler pulley and second motor. You can always mount the pulleys and motor first and then wrap the belt around them and attach the hub mount and belt clamp.

Taking enough pictures during the build is a challenge. I tried to take them all as I built the machine, but when it came time to write the Instructable, I found I needed some extra pictures. This meant I had to partially disassemble the machine to back up to that step. This results in some inconsistency in the pictures. The motors may not be positioned the same, parts of a later assembly may show up in what should be an earlier picture, and so on. If you notice this, don't let it distract you. Keep on building!

Step 15: 2019 Upgrades

Late in 2019 I made some changes to the design:

  • Designed and made parts on my 3D printers for the feet, rollers, guides, cutter head, and electronics case.
  • Upper and lower feed rollers (bright green) ensure even feeding and allow different thicknesses of material.
  • Top rollers flip up so it's easy to load the material.
  • Adjustable guides (Purple) allow for different widths of material.
  • Linear rail supports the cutter head.
  • Adjustable cutter head uses rotary blades.
  • Upgraded the electronics and motor drivers:
    • Control panel can change the length and number of cuts.
    • Uses programmable motor driver
    • Main controller is Microchip PIC
  • Uses light-weight carbon fiber shafts to reduce inertia and overall weight.

Automation Contest

Grand Prize in the
Automation Contest