Introduction: Robot Foam Cutter

Picture of 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

Picture of 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.

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!


leon-gr (author)2017-11-08

First of all , I would like to thank you for your excellent work not only doing it but for your detailed way to reproduce it.I would like to ask you a few questions about the material I would like to cut and the way it could affect the general philosophy of this machine.

Let me tell you that I am going to cut PE foam 7mm thick in pieces of 2cm or 1cm or 3cm width.Is the motor capable of doing this work or I have to replace it with a stronger one? The stepper drivers then should be changed also? And the tooth gear also? All the other parts will remain the same or will be changed to something else?

Looking forward your answer in order to order the parts

Best regards

Leonidas Komninos

myazıcı (author)2017-04-08

'Feed' was not declared in this scope
i cant upload to nano can you help me?

myazıcı (author)2017-01-23

How to adjust the length?

jgschmidt (author)myazıcı2017-01-24

In the code change the value in line 18 for FEED_STEPS to adjust the length.

myazıcı (author)jgschmidt2017-01-25

its great idea.

why you dont make it with lcd screen? useres can adjust lenght on it

jgschmidt (author)myazıcı2017-01-26

I have an other project where I used LCD screen to set the length. Check out:

This was with a PIC processor, which I know how to program lot better than Arduino.

CarlosV118 (author)2016-06-10

can you send the code please

jgschmidt (author)CarlosV1182016-06-11

Please see bottom of step 12. There is a link to the .ino file.

Thomasp119 (author)2016-04-30

Also can you send the code to the mail ID:

Thomasp119 (author)2016-04-30

Also can you send the code to the mail ID:

Thomasp119 (author)2016-04-30

Can i use arduino uno instead and make the same

remembervhs (author)2016-04-24

So cool. Nice job on this! I wish I needed one... ha

Ferihajackson (author)2016-01-31

Wow it's really interesting

tejasmhaisdhune (author)2015-09-06

how can i get the circuit diagram

dbutler7 (author)2015-07-21

Just what I need for our gift shop ,we go through a lot of foam sheets wrapping Items we sell, Well done (good winter project )


kcondori sosa (author)2015-07-05

hello I like and I 'm getting one but not the FoamCutter.ino4 file mecorre porfa I hope your prompt help

jgschmidt (author)kcondori sosa2015-07-05

Please check your spelling - I can't understand what you are saying.

noholiday (author)2015-06-02

well done

Rahul S (author)2015-05-28

Very cool! Loved the instructable and your explanation of the design here... keep at it!

TheDoctor75 (author)2015-05-18

I thought this was an auto Toiletpaper dispenser. Still looks cool

Darlene_Me18 (author)2015-05-14

amazing i love your invention ♥♥

ptkrf (author)2015-04-27

I am strongly convinced that you could drop way below your 300$ price tag if you used "normal" aluminium (not prefebricated, plain in which you would have to drill holes etc.).

And how about plywood? wouldn't it be sturdy enough?

jgschmidt (author)ptkrf2015-04-27

True. However, there are several reasons for using prefabricated materials...

1) This model could be a proof of concept. Once it works, you can take all the measurements and then fabricate cheaper models, and reuse the Actobotics parts to make the next model.

2) Sometimes time is more valuable than money. It was a lot faster doing trial and error with the Actobotics construction set than it would have been trying things out with raw materials in a workshop. Plus, I don't have the skills and tools to achieve the necessary precision needed to make this work well.

ptkrf (author)jgschmidt2015-04-27

I have to agree with you. a little hint though: if you make it cut at the end of wooden base and put a container below, you can get foam stacked nicely.

EvolvedAwesome (author)2015-04-13

Awesome ible, Great Idea, Great execution!

Rob K (author)2015-04-10

I order the 12" perf rolls for my work, but I can see why having a custom size can be more useful.

jgschmidt (author)Rob K2015-04-10

Yes, I looked into ordering custom size perfs, but needed to order in huge quantities. Then there is still the task of separating them. This machine does both.

jgschmidt (author)2015-04-08

Thanks for all the views and comments.

I've added a bill of materials (BOM) spreadsheet with costs to Step 1.

Happy building!

ads41010 (author)2015-04-07

why did you not heck a 20$ inkjet printer.

jgschmidt (author)ads410102015-04-08

1) Inkjet printers are not wide enough. I need 12+ inches for the material, and some additional for clearance for the blade on the right and left sides. 2) It would have required a lot of work to change the mechanics to handle the 1/8" thick foam and to hack the electronics. 3) I doubt the motors would have been strong enough. Overall, not a good match for this project.

clevtool (author)2015-04-07

Great solution. I need to do the same thing with plastic bag tubing, but am concerned the blades would cause it to slip and bunch up. Any ideas would be appreciated.

jgschmidt (author)clevtool2015-04-07

Are you talking about tubing that gets heat sealed? I work with similar material. You'd need rubber rollers to feed it and then something to clamp it while the knife passes. An option is to use a round, rolling blade. This will take more power because you have to press the blade pretty hard. I tried cutting the tube plastic with my machine and found the razor blades worked quite well if there was some tension on the plastic. Once the cut is started it goes pretty easily. What you'd need is a powered take-up roller toward the front, just past the knife slot. This would put tension on the plastic so the blade can get started. It would also keep cut material from piling up. Sharp blades at an angle work best. When I get the new X-acto blades I strop and polish them bit to get them extra sharp and slippery!

clevtool (author)jgschmidt2015-04-07

Yes, heat sealable plastic bags. I have thought about a powered rotary cutter, or a pneumatic cylinder on a paper cutter (currently we use manual paper cutter). I would have it programmable for various lengths and qty. I am also planning the same thing to cut pvc and nylon tubing.

peterjacob (author)2015-04-07

Really neat! Well done! I must remember this in the future whenever I do a task that can be automated like this :)

MidnightMaker (author)2015-04-07

This is a good example of the kind of challenges faced by factory automation engineers. Nice work!

fdcllc (author)2015-04-07

Very useful. What is your estimate to purchase all the parts?

jgschmidt (author)fdcllc2015-04-07

I'm working on adding prices to the parts list. Check back in a few days.

AndersV (author)2015-04-07

Nice project. Why use a cutter when you could have used a hotwire to cut instead?

jgschmidt (author)AndersV2015-04-07

I actually considered several options, including laser and hot wire. In the end, the sharp blade was the simplest. The overall goal of this project was to make life simpler rather than more complicated.
Originally I really wanted to use a LED laser just for the "wow" factor. I even bought a few and tested them but it would have been too slow - about a minute per inch! And then there was the extra power supply and cost.
I've cut this kind of material with a hot wire before and it tends to melt back together one the wire passes.
Again, keeping it simple is best.

PetervdPol (author)2015-04-07

Cool and practical. Love it!

jwhitten (author)2015-04-07

WOW! Thank you for this! I am needing a similar device to cut cork and was planning to make something similar. You've given me some great ideas and a nice design to reference.

jayeshshinai (author)2015-04-06

nice machine, very neat tutorial. voted for you, looking forward to see many more automation instructables :)

peterconnor (author)2015-04-06

Great. Tks for taking the time to share.

jplaiss (author)2015-04-05

Thank you for making a great example, on a couple different points here. inspiring.

monkeyracing (author)2015-04-05

I love this! Well written tutorial, lots of pictures and a few new ideas where I can source parts. Thank you!

ChaoticL (author)2015-04-05

Excellent build and instructable. Thanks for contributing.

jayeff (author)2015-04-05

Great build! Is there any particular reason that you used two blades? I probably would have used a wheel cutter blade, something used by tailors to cut fabrics.

jgschmidt (author)jayeff2015-04-05

Hi Jayeff,
Thanks for looking at my project. The selection of blade was based on ease of mounting, sharpness, and what I had on hand. I need two because I cut in both directions when it runs on automatic. See the video in Step 12.

liquidhandwash (author)2015-04-03

Nice job,

dan3008 (author)2015-04-03

wow nice build :D I've got to make one

About This Instructable




More by jgschmidt:Migbot Prusa I3 3D Printer - Assembly and UseRobot Foam Cutter
Add instructable to: