Low Cost Universal Tensile Testing Machine

An extremely low cost universal tensile testing machine made from 3D printed and commercial materials

Public Chat
Similar projects worth following
A $300 low cost electronic universal testing machine for tensile testing applications with loads under 1000N made from 3D printed and commercial parts.

Licensed under CC-BY-NC-SA 4.0

What is a universal tensile testing machine?

Tensile testing machines are variants of universal testing machines made specifically to test tensile strength of materials. It applies a tensile force to a specimen (stretches it) until it breaks, and measures the forces applied while doing so. Although this specific machine is built with mainly tensile testing in mind, this version is able to perform compression tests as well.

Benefits over commercial universal testing machines:

  • Significantly cheaper (costs around $300 versus $12,900-$150,000)
  • Customizable (Arduino programed)
  • 3D printable and accessible
  • Open source

Commercial tensile testers are extremely expensive. While they produce accurate and highly repeatable results given the right conditions, many material testing situations, especially for rapid prototyping, do not require the precision and accuracy that those machines give. They cost from 12,900 to 150,000 depending on the model! There is a need for low cost material testing systems for low strength materials, and that's where my UTTM comes in. For only $300, you get a machine capable of testing strengths up to a kilonewton with repeatable results (see research projects in logs section). 

How does it work?

This tensile testing machine has mainly five parts: the stationary fixture, moving fixture, load cell (and its mount), and the motor (a geared NEMA 17 stepper motor). The moving fixture is attached to a load cell and controlled by the motor via a lead screw. After the specimen is loaded and a tensile test had begun, the motor rotates the lead screw. The lead screw translates rotations into linear motion, causing the load cell to be pulled back, but the specimen resists the pulling force by exerting an equal and opposite reaction, which is then measured by the load cell. This process continues until the specimen fractures. The same process is used for compression tests, except the specimens will be loaded in the opposite direction.

Here is a video of it in action:


I am currently a senior in high school. I began this project in 8th grade.

This project began in 2019, and its two iterations were published on Instructables in 2020 and 2021. The original iterations were featured on Hackaday and Hackster. Version 1.0 featured breadboard electronics and a crudely designed frame in Tinkercad. This was used in my research project published on Journal of Emerging Investigators. After a year of redesign work, a brand new version was born under the version 2.0 and published on Instructables. This version was built by some mechanical engineering students, including a Duke University student, who used it for their Capstone Project.

Image from Duke University MEMS MS Capstone

The version posted here is a sort of 2.1 iteration. I am working on reworking the electronics as version 2.0 had many issues with the stepper motors. Unfortunately, as a stressed out high school student, school work has kept me extremely busy, so the project fell out of maintenance for a year. 

For those of you who have looked at my Instructables, you will notice that most of the steps here are the same since I have no reason to change the assembly instructions.

Do I need advanced electronics knowledge to build this?

You will need basic intermediate knowledge to solder the components onto the PCB. Most of the components are through-hole, and those that are SMD are not strictly required. By following the build instructions, you should be able to replicate the machine without much experience in electronics, but if you plan on customizing some features, then you need to be familiar with the required skills.


I want to thank the following people/organizations who helped in making this project possible:

  • Student Makers (for funding)
  • CNC Kitchen (for inspiration & extensometer code)
  • Daniel Lin (for helping in the first version of the machine and co-writing our research paper)
  • My...
Read more »

This is the zip file containing the Arduino Code, CAD files, and PCB. It can be found on GitHub as well:

x-zip-compressed - 6.01 MB - 08/06/2023 at 00:30


  • 1 × 550mm 2060 Eurpoean Standard Aluminum Extrusion Frame/backbone for the machine
  • 2 × MGN12H Carriages The fixtures ride on these. Beware of cheap Aliexpress linear rails. The MGN series of rails comes from Hiwin, and I highly recommend getting genuine Hiwin rails.
  • 1 × MGNR12 300mm Rail MGN12H carriages ride on these. Some rails come with carriages.
  • 1 × 400mm T12 Lead Screw, 7mm Lead, 4 Starts For converting rotational motion to linear motion.
  • 1 × T12 Flanged Nut For lead screw.

View all 31 components

  • Video of a Tensile Test

    Xieshi Zhang08/06/2023 at 07:35 0 comments

    Marker dots were put on to later be processed for extensometer data. I will provide the steps to do so in a later update.

  • Recommended Testing Specimen

    Xieshi Zhang08/06/2023 at 00:47 0 comments

    This machine is designed for use with dogbone type plastic tensile testing specimen that break under 1kN of force. I recommend the ASTM D638 Type IV Specimen.

  • A History of This Project: The Second Version

    Xieshi Zhang08/05/2023 at 05:08 0 comments

    Version Two

    With all the flaws in mind, I redesigned the machine in Fusion 360. This was while I was designing a large scale 3D printer known as the Blackstone Cube (I still haven't published it yet).

    The design went surprisingly smooth. With knowledge from the first version, I was able to finish it and build it within a few months. Of course, no electronics-related project would not be complete without its rite of passage - the magic smoke.

    That was not the only component I blew up. I took out an electrolytic capacitor, stepper motor driver, and my mom's computer's USB port, all due to a reverse polarity mistake. It was at this moment I realized the true power of tantalum and electrolytic capacitors.

    I developed some temporary trauma due to that.

    Now let's get to the serious business and talk about what changed compared to the previous version.

    List of Improvements:


    • Ability to perform compression tests
    • Much less fixture deflection due to reinforcements
    • Much stronger grips
    • Shaft collars instead of flanged nuts to save space
    • Higher torque transfer
    • Designed in Fusion 360
    • More clearance in mounting holes


    • Custom PCB for a more permanent electronics solution
    • Buttons and OLED display for testing without computer
    • Emergency Stop/Reset All button
    • Many more testing modes, including speed selection and modulus testing.
    • Support for PLX-DAQ data acquisition
    • Dedicated ATTiny85 for separate stepper motor controls
    • Easy to configure Arduino code

    From my testing, this new version is able to handle at least 1kN of load.

    Let's look at them in more detail:

    One of the previous issues was hull deflection/flex under load. This shouldn't affect the maximum readings to a significant extent until the flex starts to introduce forces not parallel to center line of the specimen. To solve this, I've added bolt reinforcements to the machine and improved the structure.

    I'm no physicist, nor have I taken MechE classes, so to be frank, I don't know if the bolt placements are the most optimal. I do know that they should provide at least some reinforcement.

    The grip blocks now have nut inserts to aid against stripping and greatly increases clamping force by the fixtures.

    Better pillow blocks using shaft collars allowing longer couplers and higher load.

    These are just a few of the mechanical improvements. 

    The electrical improvements center around the PCB.

    The old electronics suffered from the motor stopping every time the Arduino reports the load, so as a result I rewrote the code and added in an ATTiny to offload the task of controlling the motors. Although I have to admit that it was tricky to get the ATTiny to work with i2c commands and took me and others quite a few tries.

    The new version features an Emergency Stop button (I just recommend unplugging the power if there is an emergency. Emergency Stop freezes the Arduino to prevent it from sending further signals, but the stepper motor is still powered. I'm working on addressing this in the newer versions). 

    There is also experimental support for PLX-DAQ, a data collecting tool in Excel.

    PLX-DAQ Updated For Excel/Windows 10 And Propeller 2 Early Adopter Progress  - ParallaxImage credit goes to Parallax Inc., the company that developed this amazing tool.

    Once again, I published the machine on Instructables, winning a place as Runner Up on the Instructables 1000th contest, a rather disappointing result considering my efforts.

  • A History of this Project: The Beginning

    Xieshi Zhang08/05/2023 at 03:04 0 comments

    I don't mean to share a story that you're going to be bored reading, nor am I trying to picture myself as an "inspiring youth inventor". I am an ordinary maker just like anyone else. I hope that this can help other young makers realize their potentials, if anyone reading this is young.

    The Beginning

    This is the first version of the machine:

    The idea was born when I was an 8th grade student at Arizona College Prep Oakland Campus looking for inspiration for Science Fair. A YouTuber I watched, CNC Kitchen, tested the tensile strengths of 3D printed specimen on his videos, and I decided to replicate his experiments for my own Science Fair project.

    With some previous knowledge building hobby projects, including a 3D printer designed entirely in Tinkercad (yes, Tinkercad...I know...). I decided to design a tensile testing machine along with my friend, again in Tinkercad. It took us a few months to do so.

    Check out the design on Tinkercad.

    Unlike this version presented today, I decided to use CNC Kitchen's tensile testing machine PCB, which ended up being a horrible idea, resulting in this:

    The person who designed this PCB did not realize that through-hole pads need pins to GO THROUGH the holes.

    That's not all. I don't have a picture for it, but I ended up blowing everything up because I plugged the stepper motor driver in the wrong way.

    Here is another lovely picture, featuring my also eighth grade art project.

    This version of the machine had many problems, including but not limited to: large flexing/deflection, coupler slipping, specimen slipping, and fixture screw threads stripping. Some of them were "solved" by temporary patches such as this "dogbone" specimen.

    It ironically resembles dog bone more than most standard dogbone shaped specimen.

    Either way, the machine worked.

    The process didn't go without a hitch, but I managed to finish it. My friend and I used the design for our Science Fair projects, where I tested the effect of layer height on tensile strength, while my friend tested the effect of infill type on tensile strength (we completed it on the day Science Fair was due). My friend went to Broadcom MASTERS, but we decided to co-publish a paper on our findings. 

    I later submitted to the Tinkercad Student Design Challenge on Instructables and won First Prize. I promised to make a second version and publish it on Instructables.

    The design and assembly processes for my first tensile testing machine are featured on my Instructable. The project was featured on and Hackster.

    Here is a video of it in action:

    To all the young makers out there: you can do it! It's never too early to express your creativity to the world!

  • Research Project: A Comparison of the Mechanical Properties of PLA, ABS, and PETG Specimens Produced by Fused Filament Fabrication (3D printing) after Water Submersion

    Xieshi Zhang08/03/2023 at 06:43 0 comments

    This research project was submitted to the Arizona Science and Engineering Fair in 2022. It uses the tensile testing machine. It is shown here:

    This study focuses on comparatively analyzing the effect of time submersed in water on various 3D printing materials (PLA, ABS, and PETG) on their mass change and ultimate tensile strength.


    Overall Procedures:

    1. Use the 3D printer to print 12 ASTM D638 Type IV Specimens with each of the PLA, ABS, and PETG filament.
    2. Label each type of specimen with their material type and number, such that the first PLA sample would be labeled as PLA-1. Place black marks on two ends of the breaking region of the printed specimens on the narrow side of the specimen.
    3. Weigh each of the specimens and record the data.
    4. Load each of the specimens and operate the universal tensile testing machine in fast tensile testing mode. Record the data.
    5. Pour 3 liters of water into each container and place the lid over the boxes. Adjust the water temperature to 23 degrees Celsius.
    6. Place three specimens of each material type into the containers oriented with the text facing up. 
    7. After 12, 24, and 36 hours, take the specimens out and dry them with a lint-free paper towel.
    8. Repeat steps 3 and 4 for each of the 12, 24, and 36 hour levels.

    3D printer (Ender 3) with ABS specimens:PETG Specimen strain testing:

    Specimen Type: ASTM D638 Type IV





    This experiment comparatively evaluates the relation between ultimate tensile strength and mass change as a result of different types of plastic submersed in different amounts of time in water. 

    The hypothesis was partially supported, and the outcomes of this experiment demonstrates that based on the results

    • PETG may have experienced more degradation compared to PLA, but it may be less hygroscopic.
    • PLA may have experienced less degradation compared to PETG, but it may be more hygroscopic despite the lower degradation.
    • ABS, as predicted, had most likely experienced the least degradation and is the least hygroscopic.

View all 5 project logs

  • 1
    Welcome to the assembly process!

    This is going to be a long process. 

    Gather all the materials in the components section, including the custom PCB (see electronics assembly).

  • 2
    Preparation of 3D Printed Parts

    Let's begin with preparation:

    Print the parts in the orientations shown in the picture.

    The amount required are as follows:

    • 1x Stationary Fixture
    • 1x Moving Fixture
    • 1x Moving Load Cell Mount
    • 1x Stepper Motor Mount
    • 2x Alignment Tool (Tool 1)
    • 4x Grip Block
    • 4x Grip Screw Head

    It's recommended that the parts be printed with:

    • Either 100% rectilinear or >30% gyroid infill.
    • 6-8 perimeters/shells.
    • A rigid material like PLA or materials of higher rigidity. DO NOT use (regular) PETG.
  • 3
    Physical Assembly - Video

    This is a video assembly animation. Detailed instructions will be below.

View all 23 instructions

Enjoy this project?



tinfever wrote 08/20/2023 at 04:10 point

Interesting project! Wire crimp terminals are actually tested by the pull-out force, so this could probably be used for that as well. Although, this probably provides much more precision and data than crimp terminal testing really needs.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates