Introduction: Arduino Powered Pattern Making Machine
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
- 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.
Runner Up in the
Made with Math Contest
Question 9 months ago
do you have a 3d model of those part that i can 3d print please?
1 year ago
Nice Project! Me and my Son have started building this but when testing, we realized the stepper motor driver is not mentioned in the parts list. The place we bought it from didn't include it so now we are waiting to get it! Please add it to your parts list!!
1 year ago on Step 9
Reply 1 year ago
Tip 1 year ago
Cool and simple. Neat project. How about adding two potentiometers. Read their values for lines 9 & 10. This way the patterns could be controlled from the 'outside'. Thanks for posting. I've put this amusing machine on my to-do list.
Reply 1 year ago
Thank you for the feedback! Adding two potentiometers would definitely improve the usability of the project.