Introduction: Arduino Powered Pattern Making Machine

About: We have a strong passion for science, engineering, and craft work and we love making projects that are simple, cool and fun to work on. Follow our page for more amazing projects once or twice a month. Contact …

Mathematical relations and patterns are found all around us in our daily lives as well as in nature. These patterns can range from simple to complicated and harmonious to chaotic. No matter what type of pattern we encounter, these geometric figures have intrigued so much that and we have developed a fond appreciation of the underlying mathematics behind these. In this project we hope to develop a machine to make beautiful patterns and discover the relation between mathematics and art through patterns. We will also discover how wildly different some figures can be by barely modifying the initial parameters of the system.

Follow on to create your own Arduino Powered Pattern Making Machine and do drop a favorite and follow this page if you enjoyed the project and decide to build your own version. We would love to see your own versions so do post your creations using the "I made it" section.

Step 1: Materials Needed

Here is the list of all the parts and tools required to make your very own Arduino Powered Pattern Making Machine. All parts should be commonly available in local hardware stores or online.


  • 2 mm acrylic sheets or Cardboard
  • Paper
  • Pens
  • M4 Nuts and Bolts
  • M3 Nuts and Bolts


  • Arduino Uno x 1
  • CNC Shield x 1
  • NEMA17 Stepper Motors x 2


  • Laser cutter (optional)
  • X-Acto Knife

Excluding the tools the total cost of this project is roughly 20$.

Step 2: Digitally Fabricated Parts

The parts required for this project had to be custom designed therefore a laser cutter was used to manufacture them. You can find the complete list of parts below along with the design files to laser cut the parts for your own version.

  • Stepper Motor Holder x 1
  • Arm 1 x 1
  • Arm 2 x 1
  • Circle x 2

In total there are 5 laser cut parts and the pieces take les than 2 minutes to laser cut.

Note: Laser cutting is entirely optional. Since the designs are relatively straightforward it is possible to manufacture them by hand using materials such as cardboard or foamboard. To make the pieces by hand, print the files attached below and stick them onto the material and use an X-acto knife to cut along the borders. The holes can be made with a hand drill.

The design files for this project are attached below.

Step 3: Building the Pivoting Arms

To assemble the pivoting arms simply pass an M4 bolt through the corresponding holes of the two arm pieces and fasten it with a bolt. Out of experience, we have noticed that over time, as the arms swivel relative to one another, the bolt comes lose the system begins to wobble. To avoid this problem, add a drop of Loctite threadlocker to prevent the bolt from loosening over time.

Step 4: Mounting the Stepper Motors

Once the arms are joined, mount the stepper motors onto the stepper motor plate using M3 bolts. Next, attach the circular pieces onto the shafts of the two stepper motors. If the fit is tight, sand the inner surface of the hole till the circular piece fits onto the shaft. If the piece is too lose, use a drop of super glue to attach the circular piece to the stepper shaft.

Step 5: Connecting the Arms and Stepper Motors

Once the stepper motors are mounted to the panel and the circular pieces are attached to the shafts of both motors, pass a bolt through the hole on the circular piece and secure it with a nut. Repeat this for both motors. Next, push the arms onto the protruding ends of the bolts and secure it in place with another nut.

Make sure that the bolts are not fastened too tight or too lose. Ideally you would want a bit of friction so that there is no play and the patterns that are created are sharp.

Step 6: Mounting the Electronics and Wiring

Once the hardware is assembled you can mount the Arduino Uno board onto the panel using 4 M3 nuts and bolts. Next, mount the CNC shield on the Arduino Uno. Pass the two stepper motor wires through their respective slots and plug them into the X and Y ports on the CNC shield.

  • Left motor --> X Port on CNC shield
  • Right motor --> Y Port on CNC shield

If the stepper motor wires are too long, use a zip-tie to tie it into a bunch and place the bunch of wire under the panel so that it doesn't get tangled in the arms as they are moving.

Finally connect a power source of 12V to the + and - terminals of the CNC Shield.

Step 7: Mounting the Pen

The hole has been made large enough to hold a regular pen. To secure it firmly to the arm, we used two additional zip ties. Make sure that you choose a pen that functions when it is held vertically and one that glides smoothly along the paper while creating a fine even line. This will create best results while generating the patterns as the machine is running. Experiment with various colors and various types of pens to find the best suited ones. In our case, we notice that fine tipped felt pens worked the best.

Step 8: Uploading the Code

Once the pen is mounted to the arm you can upload the program attached below onto the Arduino. The program does not require any additional library therefore it is extremely beginner friendly.

To use the program, simply modify the two values on lines 9 and 10 to values of your choice. These values correspond to the delay between consecutive steps taken by the stepper motor and therefore affect the individual speeds of the motors. Once the values are changed you can upload the program on the Arduino.

Step 9: Usage and Results

To use the Arduino Powered Pattern Making Machine, hold the pen off the paper when the machine starts, and once the steppers are spinning gently place the pen onto the paper to avoid any sort of spillage and blotches.

Now, simply sit back and enjoy the Arduino Powered Pattern Making Machine work its magic! Each pattern takes approximately 5-10 minutes to complete. Once you are satisfied with the result, gently raise the pen off the paper and switch off the machine.

To make various patterns, go back and modify the earlier values and explore the realm of intricate mathematical patterns.

We hope you enjoyed this Instructable and it has inspired you to build your own Arduino Powered Pattern Making Machine and create intriguing patterns with math. We would love to see your very own versions of this project and the artwork you create so do post them using the "I made it" section. Apart from that, feedback, questions, comment, concerns can be addressed in the comment section below.

Happy Making!

Made with Math Contest

Runner Up in the
Made with Math Contest