PullStruder: from plastic bottle to PET filament

Ever wanted to use plastic bottle for 3d printing ? Here is how to !

Similar projects worth following
Mid september 2021 I published a video showing how I made PET filament from plastic bottles.

This quick and dirty video has been seen 50000 times during 7 months.

This clearly shows that, as I am, people are really concerned about plastic pollution and vaste of ressources.
This project is not "THE" answer but may clearly participate to the global awareness on this topic.

Recycling bottles into filament is overall an easy process. Today I mostly print with this filament and more than 200 bottles have been turned into new "recycled pieces".
You will see that you will be able to make your own PullStruder machine almost from scrap and reused stuff. And for less than the price of 1kg PETG spool !

I propose this project for the Hackaday's 2022 Challenge Round 2: "(Reuse, Recycle, Revamp)
Build hardware solutions for recycling of material that would otherwise end up in the waste stream"

This project should be in line with these objectives !

We're Now At A Million Plastic Bottles Per Minute - 91% Of Which Are Not Recycled

This presents an overwhelming challenge in responding to an exponential increase in recyclable yet un-recycled products...

  • Wouldn't it be nice if every maker could reuse and recycle a few of these bottles ?
  • Wouldn't it be nice if this recycling process could be simple, cost effective and non toxic ?
  • Wouldn' it be nice if every maker could make new parts easily, freely with this recycled plastic ?
  • Wouldn't it be nice if these parts could be stronger than FDM 3D printed parts with ABS, PLA or PETG ?

This is exactly what we propose to do with this project: transform bottles into filament.

Ai generated images here.

Before going further let's have a look at the original video that I published in september 2021.

And the final video pusblished for #HackadayPrize finalists' round

I got a lot of "complains"  that the process was "globally described" but not explained in a detailled way. So this project is here to give all detailled explainations on how to do it.

Things have evolved since september, the overall process has been consolidated and I can now give much more details about this design, its limitations, its strengths and weaknesses.

You will learn how to produce your own filament and also how to get your first Hackaday's logo printed with recycled PET.

The idea

Well it's not exactly mine as a few videos did appear in summer 2021 giving a few informations about the "Pulstruding" method. 

However I would like to give the full credit for this "pulstruding" method to another French "laGrenouiille"  who published this in 2019 :

"This small round wire can be then used as fishing wire, sowing wire or maybe even 3d printer wire with a very easy production process (It have to be tested, but I am waiting my 1,75 calibrated hole !). This would still be limited by the strip length, but you can obtain 25m of 2mm strip out of a 1,5L Coca Cola bottle 😉"

Most of the other links where oriented to make business and sell pullstruding machines... This wasn't my intention as I wanted a free to build, easy to build and cheapest as possible machine. The machines I saw were too complex IMHO and I thought I could make one almost from nothing and for almost no cost (less than 20USD): reuse, recycle, revamp as they said !

The concept is quite simple :

  • use plastic PET bottle
  • cut it into a long ribbon
  • force this ribbon to go through a hot end at 200°C, and it will immediately shrink
  • pull the filament slowly and regularly
  • print it !

From bottle to ribbon

The first thing you will have to do is to "prepare your bottle". It seems ridiculous but a well prepared bottle helps a lot to get a nice and long ribbon !

You will have to cut the bottom. Have a look to Preparing the bottle log for details.

To get your ribbon you will need a bottle cutter. There are plenty of DIY solutions on internet, most of them use a cutter blade. It is probably not the best solution as the blade will dull very fast and you will have to change it quite often.

I saw this solution which is very well documented by "laGrenouille"  (site down very often) and from which I could grab the idea and explain it into the Bottle cutter log.

This brilliant idea consists in using two sharp rollers bearings as the cutting blades.

A picture worths a lot of words ! So here is the final cutter.

You just need to insert the "side" of the bottle into the small notch you see on the front "finger", it will be guided through the rollers and cut into a nice ribbon. See details in the "Using the bottle cutter" log

The ribbon, after manual winding, will be inserted into the spool holder, ready to go to the PullStruder machine !

From ribbon to filament

We enter now into the "high tech side of the force", we need a PullStruder machine !

And you will soon see that it can be built almost entirely from scrap !

... Read more »


Stl files for ribbon run-out detection

RAR Archive - 29.79 kB - 07/18/2022 at 09:58



firmware for Prusa i3mk2s (PET + filament runOUt)

hex - 661.50 kB - 07/11/2022 at 14:06


Zip Archive - 38.28 kB - 05/27/2022 at 13:08



the spool holder for the ribbon. Stl files

RAR Archive - 39.04 kB - 05/01/2022 at 19:26



the gauge used to drill the bottle cutter

simplify3d_stl - 42.27 kB - 05/01/2022 at 17:24


  • 1 × Rex C100 PID controller + static relay + thermocouple 15 USD
  • 1 × AC 220V 220 Voltage 110W Ceramic Plug Stainless Band Heater 30mmx30mm 5USD
  • 1 × Wiper Motor Bosch 954 065 (or equivalent !)

  • reuse a poorly reused bottle!

    JP Gleyzes10/18/2022 at 14:28 0 comments

    It may occur that pullstruding the ribbon produces this kind of "blob"...

    It is often due to a badly cut ribbon... Fortunately it doesn't occur very often.

    So the first advice is to always manually slide fingers on the filament to double check its quality before printing!

    But why would we throw away this poor filament ? Why not reusing it to something else ?

    Nadja gave me a brilliant idea: try to use it as a grass trimmer line...

    And you know what ? It works !

    Ok stop kidding, it really works but the filament may be a little too small for big trimmers like my machine. It is however perfect to trim British lawns (Smooth-stalked Meadow Grass) !

    So, if you want,  you can build a second hotend with bigger diameter, able to eat larger ribbon to produce stronger grass trimmer line !

    Reuse recycle, revamp they said... an everlasting story

  • Final video for #HackadayPrize

    JP Gleyzes10/17/2022 at 19:03 0 comments

    I know the intro and music are a bit demoralizing... but I think my French accent will lighten the mood !

  • Trying AI to design a splashscreen

    JP Gleyzes09/29/2022 at 08:04 3 comments

    My son tried to design a nice splashscreen image for the project.

    He made several attempts using midjourney's AI power. And the results are quite impressive!

    • white:
    • bloody:
    • green:
    • hand:

    Tell me which one you prefer!

  • A PullStruder's baby

    JP Gleyzes09/24/2022 at 07:59 0 comments

    The "Hundredth Monkey" effect is a hypothetical phenomenon in which a new behavior or idea is spread rapidly by unexplained means from one group to all related groups once a critical number of members of one group exhibit the new behavior or acknowledge the new idea".

    Le "100e Singe" is also a Third Place, in vicinity of Toulouse, half-farm half-office, combined with an agricultural incubator that welcomes and experiments with new forms of work: cooperatives, collaborative, with meaning and impact on major societal issues.

    Inline with the "reuse recycle revamp" spirit, they decided to build a PullStruder and the result is cool. 

    Thank you  William for both the picture and the beer!

  • sharpening the roller bearings

    JP Gleyzes09/19/2022 at 10:11 0 comments

    Sharpening the bearings is needed to get a nice 90° sharp edge on each roller bearing.

    Mount the two bearings on a 8 mm rod, then grind the circumference on a belt sander.

    Unlike what I am doing, YOU SHOULD WEAR GLOVES...

    Then flatten the edge of each bearing.

    That's it, your bearings are ready to be mounted on the ribbon cutter.

  • Detection of end of ribbon

    JP Gleyzes07/18/2022 at 09:42 0 comments

    Hre is how I made this simple but efficient detection of end of ribbon:

    I simply wired two endstop switches (scavaged from an old micro waves owen) in parallel to the power cord switch.

    Here is the schematics, quite simple !

    So the original switch is still active and allows to startup operations. Heater can be powered and when temperature is reached, the wiper motor can also be switched on.

    Then the paddle can be inserted under the filament. This is enough to close the switches S3 and S4 wired in serie into the paddle.

    You can now switch off the power cord switch. The cord will remain powered until S3 or S4 is released.

    stl files are avaliable here. Bear in mind that the filament must push down on the switches... you may need to adapt this design to your pullstruder geometry !

    Once finished, it works like a charm!

  • Adding PET into Prusa firmware

    JP Gleyzes07/12/2022 at 07:01 0 comments

    In order to have default values for PET I have modified the default Prusa firmware.

    Here is how I did:

    You just have two files to modify. I have just superseeded the "PP" values as I don't use this kind of filament :

    and then I made the same here

    As you can see the "PET" settings are pointing of the PP_PREHEAT_HOTEND_TEMP. This does the trick!

    And I did also modified the original "PET" to "PETG" to avoid confusion...

  • Adding a filament run out sensor

    JP Gleyzes07/11/2022 at 14:05 0 comments

    The best way to handle "small" filament lenght is to add a filament run out sensor.

    My Prusa i3 mk2s wasn't equiped with such a device... So I added one!

    Let's start by a video:

    Full description and 3d model are here :

    I have choosen, for reliability reasons, to use an endstop switch instead of an optical sensor.
    They are very cheap, easy to find on aliexpress

    I use the Normally Open switch so that the contact is closed when the filament is inserted.

    Prusa firmware is easily modified to activate the filament runOut option.
    It does trigger the G600 Gcode command as soon as the filament is cut. It is the regular command to change filament.

    The sensor snaps on the extruder without any screw. Even the lid is inserted and fixed using a filament "rivet" (see picture on thingiverse).

    The sensor is designed to fit this exact type of switch...

    The two wires of the switch go to the Y_Max connector on the mini Rambo board. They are connected to the S and - pins of the connector. There is no polarity you can swap the two pins !

    Compiling the Prusa firmware is quite easy as everything is open source. Guidelines for compilation are given here onthe Prusa's Github page.

    Clone this repository on your PC and 4 files must be modified to activate the filament runOut sensor for the Prusa i3 mk2S. All the code is already there, just uncomment those lines and compile!

    But if you are too lazy, here is the .hex for the modified firmware (Prusa i3 mk2s filament 1.75 with runout sensor)

  • safety against electrical chocks

    JP Gleyzes05/27/2022 at 13:06 0 comments

    I simply added a few 3d printed parts to protect against Mains Voltage.

    These parts can be added to :

    • heater block terminal
    • PID controller (back side)
    • static relay

    They only protect MAINS voltages not low level DC voltage of the PID neither the static relay.

    stl files are available here :

  • fusing two filaments into a longer one

    JP Gleyzes05/13/2022 at 19:22 0 comments

    To achieve this goal I simply used my soldering iron !

    I drilled a scrap piece of aluminium at the diameter of the tip of the iron and used it to melt the filament into a PFTE tube.

    See this video to better understand !

    The white clip to hold the iron in place on its support can be found on my thingiverse's channel here.

View all 16 project logs

Enjoy this project?



Bonifacio wrote 08/05/2022 at 05:55 point

Really awesome, congrats! And i also think it fits perfectly this 2022's contest theme! 

  Are you sure? yes | no

JP Gleyzes wrote 08/06/2022 at 09:32 point

Thank you so much !

Most of all it is easy to build and the wiper motor is extremely powerful. Its torque allows to pull the filament at a rather high speed.

  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