Ad Code

Responsive Advertisement

Ticker

6/recent/ticker-posts

Turn Trash Into Treasure: Ultimate DIY Guide to Make 3D Printer Filament from PET Bottles at your Home! | DIY WTC Zone

Welcome to the ultimate beginner’s guide to recycling PET bottles into 3D printer filament! Whether you’re a seasoned DIYer, or an eco-conscious tinkerer, this project is your ticket to sustainable, low-cost 3D printing. At WTC Zone, we’ve broken down this eco-friendly journey into simple steps, cutting PET bottles into strips, controlling extruder temperature, managing filament pulling speed, and assembling the full machine. Follow our tutorials, watch our videos, and join the recycling revolution! 

 


Why This Rocks: Turn plastic bottle waste into 1.75mm filament for your 3D printer, save $$$, and help the planet. Perfect for hobbyists, students, and anyone who loves hands-on projects!


What You’ll Learn

This guide covers the entire process of building a DIY Filament Making Machine (FMM):

  1. Cut PET Bottles into Strips: Create adjustable-width strips using a manual cutter.
  2. Control Extruder Temperature: Build an Arduino-based circuit to Soften PET strips at 230–270°C.
  3. Adjust Filament Pulling Speed: Use a stepper motor and potentiometer for precise control.
  4. Assemble the Filament Machine: Combine components for a complete setup.

End Goal: Produce high-quality 3D printer filament from recycled PET bottles, ready for your next print!



Why This Project Is Awesome

  • Eco-Friendly: Repurpose plastic bottle waste into useful filament, reducing landfill impact.
  • Budget-Friendly: Costs ~$50–100 in parts, saving hundreds compared to commercial filament.
  • Beginner-Friendly: No advanced skills needed—just basic tools and enthusiasm.
  • Customizable: Adjust strip width, temperature, and speed to suit your 3D printer.
  • Engaging: Fun and clear for older makers (step-by-step clarity).

Step-by-Step Tutorials

We’ve created detailed blog posts and YouTube videos for each part of the project. Follow these to build your filament machine from scratch!

1. Make a PET Bottle Strip Cutter

What: Build a manual cutter to slice PET bottles into 3–15mm strips for filament extrusion.
Why: Clean, consistent strips are key for smooth filament production.
How:

Formula for PET Bottle Strip Cutting for 1.75mm Filament

The formula is derived from volume conservation during extrusion: the cross-sectional area of the input PET strip should roughly match the area of the output filament, assuming minimal material loss and no stretching (adjust in practice based on pulling speed and extruder design).

Formula:
W = [Ï€ × (D/2)²] / T

  • W: Strip width (mm)
  • D: Filament diameter = 1.75 mm
  • T: PET bottle wall thickness (mm, typically 0.20–0.50 mm; measure with a caliper)

Filament cross-section area = Ï€ × (0.875)² ≈ 2.405 mm²

Practical Tips:

  • Add 10–20% to W for material loss or compression (e.g., if W = 8 mm, try 9–10 mm).
  • Test with your extruder: Slower pulling = thicker filament; faster = thinner.
  • Bottle thickness varies (e.g., soda bottles ~0.30 mm); cut test strips and extrude to fine-tune.

Chart: Bottle Thickness vs. Recommended Strip Width

Bottle Thickness (T)Recommended Strip Width (W)
0.20 mm12.03 mm
0.25 mm9.62 mm
0.30 mm8.02 mm
0.35 mm6.87 mm
0.40 mm6.01 mm
0.45 mm5.35 mm
0.50 mm4.81 mm

Notes on Chart:

  • Based on exact volume match; adjust +10–20% for real-world extrusion.
  • For accurate 1.75mm filament, use a nozzle ~2–3mm and control pulling speed.
  • Source: Derived from standard extrusion principles; test for your setup.
   





2. Build an Extruder Temperature Controller

What: Create an Arduino-based circuit to control the extruder’s temperature for melting PET strips.
Why: Precise temperature (230–270°C) ensures PET get soften into smooth filament.
How:





Code for the Circuit

The provided code was designed for a 10kΩ thermistor, but your extruder uses a 70kΩ thermistor. Below is the corrected code, adjusted for:

  • 70kΩ thermistor (NOMINAL_RESISTANCE = 70000.0).
  • 100kΩ series resistor (SERIES_RESISTOR = 100000.0) to match the thermistor.
  • A narrower temperature range (MIN_TEMP = 100, MAX_TEMP = 250) for PET plastic.
  • On/off control with hysteresis for simplicity.

This code reads the thermistor, sets the temperature via the potentiometer, controls the heater via the MOSFET, and displays temperatures on the LCD.

--------------------------------------------------------------------------------------------------------------------------------------------------------------

//https://www.youtube.com/@wtczone
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Pin definitions
#define THERMISTOR_PIN A0
#define POT_TEMP_PIN A1
#define MOSFET_PIN 9

// Thermistor parameters (for 10k NTC thermistor)
#define NOMINAL_RESISTANCE 10000.0     // 10k ohm at 25°C
#define NOMINAL_TEMPERATURE 25.0       // 25°C
#define BETA 3950                      // Beta coefficient
#define SERIES_RESISTOR 10000.0        // 10k ohm series resistor

// Temperature control parameters
float setTemp = 25.0;
const float HYSTERESIS = 2.0;
const float MIN_TEMP = 0.0;
const float MAX_TEMP = 300.0;

// LCD setup
LiquidCrystal_I2C lcd(0x27, 16, 2);

bool heaterState = false;

void setup() {
  pinMode(THERMISTOR_PIN, INPUT);
  pinMode(POT_TEMP_PIN, INPUT);
  pinMode(MOSFET_PIN, OUTPUT);
  digitalWrite(MOSFET_PIN, LOW);

  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Temp: --.- C");
  lcd.setCursor(0, 1);
  lcd.print("Set: --- C");

  Serial.begin(9600);
  Serial.println("Temperature Controller Started");
}

float readTemperature() {
  int raw = analogRead(THERMISTOR_PIN);
  if (raw <= 0 || raw >= 1023) return -999.0; // Error value

  // Correct resistance formula (assuming thermistor to GND)
  float resistance = SERIES_RESISTOR * ((1023.0 / raw) - 1.0);

  // Steinhart-Hart approximation
  float tempK = 1.0 / ((1.0 / (NOMINAL_TEMPERATURE + 273.15)) +
                       (1.0 / BETA) * log(resistance / NOMINAL_RESISTANCE));
  return tempK - 273.15;
}

void controlHeater(float currentTemp) {
  if (currentTemp < 0 || currentTemp > 300 || currentTemp == -999.0) {
    digitalWrite(MOSFET_PIN, LOW); // Safety shutdown
    heaterState = false;
    return;
  }

  if (currentTemp < setTemp - HYSTERESIS) {
    digitalWrite(MOSFET_PIN, HIGH);
    heaterState = true;
  } else if (currentTemp > setTemp + HYSTERESIS) {
    digitalWrite(MOSFET_PIN, LOW);
    heaterState = false;
  }
}

void updateDisplay(float currentTemp) {
  lcd.setCursor(6, 0);
  if (currentTemp == -999.0) {
    lcd.print("Err ");
  } else {
    lcd.print(currentTemp, 1);
    lcd.print(" C ");
  }

  lcd.setCursor(5, 1);
  lcd.print((int)setTemp);
  lcd.print(" C ");
}

void handlePotentiometer() {
  int potValue = analogRead(POT_TEMP_PIN);
  setTemp = map(potValue, 0, 1023, MIN_TEMP, MAX_TEMP);
  setTemp = constrain(setTemp, MIN_TEMP, MAX_TEMP);
}

void loop() {
  float currentTemp = readTemperature();

  handlePotentiometer();
  controlHeater(currentTemp);
  updateDisplay(currentTemp);

  Serial.print("Temp: ");
  Serial.print(currentTemp);
  Serial.print(" C | Set: ");
  Serial.print(setTemp);
  Serial.print(" C | Heater: ");
  Serial.println(heaterState ? "ON" : "OFF");

  delay(500);
}

 
----------------------------------------------------------------------------------------------------------------------------

3. Control Stepper Motor Speed

What: Use a NEMA 17 stepper motor and A4988 driver to adjust filament pulling speed.
Why: Variable speed ensures consistent filament diameter.
How:



Code for Clap to Light Up LED light Using Sound Sensor DIY Project by WTC Zone

The original code had a step delay range of 0–10000µs, which is problematic (0µs is invalid and causes issues). The modified code below uses a safer range (500–2000µs) to prevent vibration at high speeds, adds the ENABLE pin for reliability, and includes Serial debugging.


--------------------------------------------------------------------------------------------------------------------------------------------------------------
//https://www.youtube.com/@wtczone // Pin definitions
const int stepPin = 5;  // STEP pin
const int dirPin = 4;   // DIR pin
const int potPin = A0;  // Potentiometer pin

void setup() {
  // Set pins as outputs
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
 
  // Set initial direction (HIGH = one direction, LOW = opposite)
  digitalWrite(dirPin, HIGH);
}

void loop() {
  // Read potentiometer value (0-1023)
  int potValue = analogRead(potPin);
 
    // Stop motor if pot is near 0
  if (potValue < 50) {
    return; // Skip the rest of the loop → motor stops
  }

  // Map potentiometer value to delay (faster = lower delay)
  int stepDelay = map(potValue, 50, 1023, 5000, 50); // Min speed: 2000µs, Max speed: 500µs
 
  // Generate a step pulse
  digitalWrite(stepPin, HIGH);
  delayMicroseconds(10);  // Short pulse
  digitalWrite(stepPin, LOW);
 
  // Delay between steps (controls speed)
  delayMicroseconds(stepDelay);
}
 
----------------------------------------------------------------------------------------------------------------------------

4. Assemble the Filament Machine

What: Combine the cutter, temperature controller, stepper motor, and spooler into a full filament machine.
Why: Creates a complete system to produce 1.75mm filament from PET bottle strips.
How:


3D Parts Link is Here : - All the 3D-Print-Ready Parts







Parts You’ll Need

Here’s a consolidated list of parts for the entire project:

  • Cutter: M8 bolt (50cm), 7 M8 nuts (2 locking), 5 washers, 2 608ZZ bearings, hex saw, sandpaper, bench vise, pliers, 3D-printed cutter file.
  • Temperature Controller: Arduino Nano, 70kΩ thermistor, 100kΩ resistor, 100kΩ potentiometer, 12V heater, IRF520 MOSFET, I2C LCD (16x2), 12V power supply (5–10A), breadboard, jumper wires.
  • Stepper Motor Control: NEMA 17 motor (1.5–2A, 4 kg·cm), A4988 driver, 10kΩ potentiometer, 12V adapter (≥2A), buck converter (12V to 5V), 100µF/10µF capacitors, breadboard, jumper wires.
  • Spooler & Assembly: Bearings, spool, frame materials (wood/metal), screws.
  • 3D Parts Link is Here : - All the 3D-Print-Ready Parts
Where to Buy: Check hardware stores or links in blog posts. Total cost: ~$50–100 : - 

- Aluminium J-Head Hotend RepRap Extruder : - https://amzn.to/47k2l1X - 0.3mm Extruder Brass Nozzle : - https://amzn.to/4lgzorc - 20 Pcs Mini Micro Twist Drill Bit : - https://amzn.to/45ChUAO - 6-Pcs HSS Countersink Drill Bit Set : - https://amzn.to/3GY7qCE - Impact Drill : - https://amzn.to/4mvhl1m - L Angle Bracket: - https://amzn.to/4m4pzxN - Sandpaper (for fine edge smoothing) - https://amzn.to/408Iqif
- Pliers (for tightening and adjustments) - https://amzn.to/3GyNXbe - NEMA 17 Stepper Motor : - https://amzn.to/4kcp2IA - 2 × 608ZZ bearings - https://amzn.to/44ARayT - 2X (M4 x 35mm), Socket Head Machine Thread - https://amzn.to/45r8x72
- Pliers (for tightening and adjustments) - https://amzn.to/3GyNXbe - NEMA 17 Stepper Motor : - https://amzn.to/4kcp2IA - 2 × 608ZZ bearings - https://amzn.to/44ARayT - 2X (M4 x 35mm), Socket Head Machine Thread - https://amzn.to/45r8x72
- Digital Vernier caliper - https://amzn.to/4lxs1wy - Bench vise (to hold the bolt firmly during assembly) - https://amzn.to/3Ixsf84 - Pliers (for tightening and adjustments) - https://amzn.to/3GyNXbe
- 1 × M8 threaded bolt -https://amzn.to/46tQC0n - 5 × M8 nuts -https://amzn.to/4ky7bfd - 2 × M8 nuts with Locking- https://amzn.to/3GwEy42 - 5 × M8 washers - https://amzn.to/407JC5y - 2 × 608ZZ bearings - https://amzn.to/44ARayT - 4 × Self-drilling wood screws - https://amzn.to/4606JCL - Sandpaper (for fine edge smoothing) - https://amzn.to/408Iqif - Iron hex saw (for cutting slots and trimming components) - https://amzn.to/46tyfZy - Bench vise (to hold the bolt firmly during assembly) - https://amzn.to/3Ixsf84 - Pliers (for tightening and adjustments) - https://amzn.to/3GyNXbe
Arduino NANO : - https://amzn.to/4dn6Z0i voltage regulator 5V : - https://amzn.to/4j5iJpk NEMA 17 Stepper Motor : - https://amzn.to/4kcp2IA motor driver A-4988 : - https://amzn.to/3F2iwp9 Connecting Wires : - https://amzn.to/3BdRvwS 10 K Potentiometer : - https://amzn.to/43fiq5l 5 V DC power adapter : - https://amzn.to/4fWONv0 DC Jack : - https://amzn.to/4g2ZE6z 12 V Adaptor Power supply: - https://amzn.to/3ZgViCq

All Parts Picture


How It All Works Together

  1. Cut Strips: Use the PET bottle cutter to create 3–15mm strips from plastic bottles.
  2. Melt Strips: Feed strips into the extruder, where the temperature controller maintains 230–270°C to soften PET.
  3. Pull Filament: The stepper motor pulls the melted PET at a controlled speed to form 1.75mm filament.
  4. Spool Filament: Wind the filament onto a spool for use in your 3D printer.
  5. Test & Print: Use your recycled filament to create eco-friendly prints!



Tips for Success

  • For Beginners: Start with the cutter, it’s the easiest step and needs no electronics. Watch videos for visual guidance.
  • For Gen Z: Hype up your builds! Share your filament creations on TikTok with #DIYPETFilament.
  • For Older Makers: Take it slow, test each part (cutter, temperature, motor) before assembly. Use our troubleshooting tips.
  • Safety First:
    • Handle hot extruders (200–250°C) with care to avoid burns.
    • Work in a ventilated area to avoid plastic fumes.
    • Ensure power supplies match component ratings (e.g., 12V, 5–10A for heater).
  • Troubleshooting:
    • Temperature Issues: If LCD shows 9°C, check thermistor wiring (to GND), update code for 70kΩ, add 0.1µF capacitor.
    • Slow Motor: Adjust code to 100–2000µs delay, verify A4988 VREF (~0.8V), check potentiometer range.
    • Assembly: Test components individually to ensure they work before integrating.



Why You’ll Love This

  • Save Money: Make filament compared to $20/kg commercial rolls.
  • Help the Planet: Recycle PET bottles, reducing plastic waste.
  • Learn Skills: Master Arduino, electronics, and mechanical builds.
  • Show Off: Create cool 3D prints and share your eco-hacks with the maker community!

Watch & Learn

My Channel Link : -WTC Zone
Full Video Playlist - DIY Filament Making Machine (FMM)

Check out our YouTube playlist for step-by-step visuals:

  1. Preparing PET Bottles to PET Strips/Cutting
  2. PET Bottle Cutter
  3. Making the Extruder Nozzle
  4. NEMA Stepper Motor Speed Control
  5. PET Strip Spooler
  6. Filament Machine Assembly Part 1
  7. Filament Machine Assembly Part 2
  8. Filament Machine Assembly Part 3 (Add link after posting)



Dive Deeper

Read our detailed blog posts for full instructions:


Get Involved

  • Comment: Got questions or ideas? Drop them below! What will you print with your PET filament?
  • Share: Spread the word on social media with #DIYPETFilament and tag @WTCZone.
  • Subscribe: Join our YouTube channel (PRO KAM EXPLAINED) for more DIY projects!
  • Follow Us:

Future Ideas

  • Automate It: Add a motor to the cutter for faster strip production.
  • Upgrade Temperature Control: Use PID for precise heating (try PID_v1 library).
  • Add a Diameter Sensor: Ensure consistent 1.75mm filament with a sensor.
  • Share Your Build: Post your filament machine on Thingiverse or GitHub to inspire others!

Final Thoughts

This DIY filament machine is your chance to recycle, create, and learn! Whether you’re a lifelong maker, our step-by-step guide makes it easy to turn PET bottles into 3D printer filament. Start with the cutter, master the electronics, and assemble your machine, then print something awesome! 

Need help? Check our troubleshooting tips or comment below. Let’s make sustainability fun and functional together! 

Happy Making, WTC Zone Team

If you have any other ideas to make me design, you can describe them in the comment section and if I can, I will make a designing video on it. So I am waiting #prokam #wtc #Arduino #ideas #projects #diy #how #to #ArduinoProjects #UltrasonicSensor #HeightMeasurement #TechDIY #WeTechCreators #wtczo

#DIYPETFilament #3DPrintingHacks #EcoFriendlyDIY #RecyclePET #ArduinoProjects

Post a Comment

0 Comments

Ad Code

Responsive Advertisement