The Journey
Back in 2017 I was given a CR10S (larger ender 3 with dual Z screws) by my mentor Steve Bossen. In university I was privileged enough to become the assistant lab manager of the CNSI Innovation Workshop and Microfluidics lab where we had Stratsys FDM and PolyJet printers. Upon leaving the lab and starting grad school I found myself fresh out of both printers and projects, thus, I decided to build myself a Voron 2.4. This hobby soon turned into an obsession when I was "gifted" a roll of Ultem 1010 PEI filament. With a TG above 200C, there was no way this material was going to print well on a stock V2.4, which soon kicked off the water-cooled Voron project I wrote up last year, with chamber temps well above 100C, localized halogen heating, dual raising nozzles for support, and fully custom machined components.
|
Fast forward two years of modifications and thousands of hours of print process and writing custom G-code macros, I was ready for the next project. After reading all the available manuals from Stratasys, Intamsys, and 3DGence I began design of a fully custom printer with the main goal being chamber temperature exceeding 150C. After several days of drafting, scope creep, and BOM estimations, I determined if I wanted a printer I could afford and finish before 2030, I was going to have to build off an existing frame. Enter the F170. Anyone who knows Stratasys knows that the printer itself is basically useless without a service contract, and the F123 series is no exception. Vender locking is the name of the game with these machines, with RFID spool readers, odometer limits on printheads, and absolutely no spare parts, you may as well pull a Carbon3D and just rent the damn printer. All of this was an advantage for me however as out of service contract printers are basically useless, all I had to do was find an out of contract F170, charm the business with my good looks, and lowball them on the price. And guess what I managed to get my hands on less than a week before moving.
The Stratasys in my garage in Colorado. At this stage I was knee deep in packing up the shop and moving to Bosten and had no time to even admire my newest boat anchor
|
Picking up the Stratasys from Gordon Plastics/Magpump. Thanks to Joe Morton for letting me borrow the truck and get this beast home
|
The Teardown
Since very few people are out there ripping apart their Stratasys, I decided to take some pictures of the process and show some of the interesting tidbits I found along the way.
|
These three boards (which I am now calling the AC board, the SOC board, and the Driver board) are just a small fraction of the boards present within the Stratasys. Not pictured are the buffer boards, the printhead boards, and the interlock, USB and camera boards. The AC board appears to have a large contactor for switching mains to the printer, several large SSR's (possibly triacs?) with heatsinks for the two chamber heaters, and the AC/DC 12V computer power supply which plugs into the driver board. The driver board contains 4 BLDC drivers, printhead connection cables, buffer connections, and thermocouple connections, as well as two smaller BLDC drivers for the chamber fans. The SOC board contains USB, LAN, the SOC, and probably a bunch of other things I don't understand. The SOC board is powered through the Driver board. This is basically all useless to me as there is no way I would be able to reverse engineer enough of this board to even get the AC board working. If you're in need of a F170/F270/F370 board let me know, I'll hook you up.
|
The main boards of the Stratasys F170
|
|
F123 printhead internals. This version is the standard printhead for ABS/SR20
|
The print head was of significant interest to me and not just because it looks like an anteater nose. These printheads are dual heater zone with dual k type thermocouple. In fact, every temp sensor in this machine is a thermocouple except for the air temperature sensor. Not sure what their aversion to RTD's was as only the printhead requires fast sampling and low thermal inertia, but who am I to question a multi billion dollar company. The only other interesting thing I was able to gleam from the printhead board was a hall effect sensor and a lifting magnet that contacts the extruder mounting plate. This is triggered if the printhead is lifted, likely to indicate if the support printhead is raised or lowered, or if the printhead crashes into the bed or part. The motor is a bog standard brushed DC motor with encoder, which is likely the main reasons these printheads have odometers as the carbon brushes will likely be the first thing to go. The extruder body is likely made from some high temp super polymer, but even though I nibbled on the corner I was unable to tell which polymer. I can tell you from some simple scratch tests that its hard as hell, and is self extinguishing and does not drip when torched. Extruder gears are non adjustable and slide in milled pockets within the extruder body with no bearings. Surprisingly none of the gears had any sort of bearing. The gears are both hobbed, but have different pitches which is rather interesting. The non adjustable extruder gears are likely the reason a different printhead is necessary to print TPU, and I am not sure how the polymer printhead body would handle abrasive filaments as the entire drive path is plastic. I am sure they are doing current sensing on the brushed motor for jam and feed detection and probably a lot more that I have yet to find out.
|
|
The print bed on the F170/270/370 are non heated, with all the heating power coming from these two chamber heaters. They are Mica heaters sandwiched between plates so they are likely rated to temperatures well above what the chamber temperature actually achieves. This is further solidified by the fact that these had some melted ABS on them. They are on an incredibly course pitch heatsink where air is blown through them using these brushless DC motors. Everything the heated air touches is metal insulated by 2 inches of this open cell foam, with the exception of the air ducts which are made of glass filled PEEK. Based on my testing they are outputting about 500W peak each, which is likely so they never exceed the 1300W 80% constant draw limit on 15A outlets. Between the low power, no bed heater, and course pitch heatsink it is no surprise that Stratasys constantly idles their printers at 80C as a heat up from room temperature would take about a billion years.
|
|
These are the BLDC motors used for Y, with one on each side of the gantry. The X and Z motors are the same diameter and pole count, with only slightly reduced motor body length. There is no gearing on the X and Y, with 20 tooth GT2 pulleys being pressed right onto the motor shafts. The motor uses both hall effect and a 1000 PPR quadrature encoder mounted on the back. I wish with all my heart that I could continue to use these motors in my retrofit, but as I will be running Klipper and no open 3D printing firmware supports modbus or ethercat, I am forced to use step direction and Klippers internal motion planner. While I could shell out for O-Drive brushless drivers and run them on step direction pulses, that would basically defeat the purpose of using brushless servos in the first place. So these will be replaced by NEMA 23's.
|
One of the two Y BLDC servos with 20 tooth GT2
|
6 pole BLDC motor. Gonna document this here in case I can ever afford O-drives.... (plz hit me up O-drive)
|
|
Having spent a decent amount of time around previous stratasys products including the polyjet machines which make extensive use of steppers, I was very surprised not to see a stepper used even where it would have made sense such as the Z axis, as the low speed torque and cogging force even when no power is applied would have prevented bed drop when powered off. Brushed motors were used on several components, even those not designed to be replaced such as the buffers. Maybe I'm just a hater, but for how much a printhead costs, I would have loved a real BLDC motor in there. Especially because then I could add them to my stash.
|
1000 ppr encoder for Y and X axis mounted on the back shaft of the BLDC motor
|
I believe this was a 400 PPR encoder used on the brushed extruder and buffer motors.
|
|
Guessing they made this slot too small for cable harness
|
Hand re-works done on the shell of the printer on both the holes and strip. Milling marks and burrs are present indicating this was done on the part, and not just shitty work done on the mold.
|
Of interest, there had clearly been some handwork done on the panels from the factory. I wonder if this printer was one of the first F170's resulting in hand re-works having to be done before mold modifications could be made. I do not envy whoever made that mistake or has to re-work these molds, as these panels are about 5 feet tall which I'm sure would require one hell of a mold.
|
The Build
Printhead
Out with the old, and in with the new here comes another Andrew special. This part has had about a billion revs, and will likely have one or two more before I switch from the SLS version to a milled aluminum version I plan to do on my custom CNC mill. Therefor the printhead is designed to be machined, no cheating DFAM here.
|
The printhead has two extruders, two water cooled hotends, and two CAN bus boards to control everything. The hotends were water cooled to allow the use of a flexible or low temperature support material with a high chamber temperature. The printhead had to be so long in order to sit on the stock Stratasys X rail, and protrude through the baffles into the heated chamber. The right printhead is support and is able to raise and lower on a linear rail. This is done by bumping a toggle on top of the main printhead body back and forth, requiring no additional motors or control. Nozzle probing is also done through this lifting printhead by breaking an electrical contact which doubles as the raising nozzle carriage end stop. Hotends are designed to reach 550C and are equipped with 80W heating cartridges and PT1000's. CAN boards reference resistor was replaced with Digikey high accuracy SMD resistor.
|
Custom hotend assembly with lifting right nozzle
|
Top view of printhead assembly. All cables and tubes are located within the drag chain assembly. Toggle bump is visable on left side which triggers lowering of second nozzle.
Bed
|
Bottom view of the heated bed. Note 3 point kinematic balls
|
To copy another Stratsys design, the heated bed was modeled after the Fortus line of printers, being a large 12x18 billet of vertically cast ALCA5 aluminum. Pad heaters three pad heaters were wired in series, with the power density of each pad heater being matched as to (hopefully) avoid bed overheating. I am hoping that the 5/8" thick bed is able to reduce any thermal gradients caused by the heater pad gaps. Three balls are seen which are used in a kinematic mount allowing the bed to expand and contract when heated and cooled. Total bed power is right around 1000 watts, which combine with the chamber heaters allows the printer air temp to reach 100C within an 40 minutes. Currently the print bed is utilizing a magnet and flex plate arrangement however the plan is to acid etch a waffle pattern in the aluminum using acid etching to create vacuum channels, and use a vacuum to secure print sheets to the bed. This will allow me to reach significantly higher bed temperatures (above the magnet curie temp) and match the build surface to the material.
Future rendering of the bed with waffle grid and vacuum attachment
|
Print bed mounted within the printer. the front kinematic mounts are visible which allow bed expansion with temperature.
Buffer
One of the last features I wanted to return to the Stratasys is the ability to roll over to another spool when the filament runs out, as well as adding the ability to do multi color printing through material swapping. I also wanted to reduce the filament tension within the filament tubes by using an auxiliary feeder pushing the filament from the filament bay.
|
Auxiliary feeder and expanding buffer mounted behind the Stratasys filament bay
|
The design I came up with is a combination of Stratasys, Markforged and Bambu Labs by using a auxiliary feeder and collapsible/expandable buffer to monitor filament tension. I wanted this system to be mostly transparent to klipper, so it is all done on an ESP32 running custom code. The ESP32 monitors filament tension through the amount of expansion/contraction of the buffer as measured by a linear potentiometer. This indicates how fast and which direction the auxiliary feeder should push, allowing for both extrusion and long retractions. When the buffer gets a signal from the Klipper MCU it is able to retract and stage filament, unload, or swap out materials through use of multiple auxiliary feeders and buffers. So far only material roll over and three color dual nozzle prints have been tested.
|
Future dual buffer design to be located closer to the printhead
Electronics
As none of the Stratasys boards could be repurposed, I had to replace all the functionality of those three boards, with these 12 boards!
|
Because I am all about safety (lol) and because my house has terrible power, the printer power is split up between AC mains plus motor drivers, and control electronics. Each mains input is on its own breaker, with a timed relay insuring the correct power on sequence. A contactor is used to switch AC to the three AC heater's SSRs (bed, left chamber, and right chamber heater) to ensure safe power done in case of a shorted SSR. Motor power is supplied by a 48 volt unregulated DC power supply capable of 2000W of power delivery which i will never use, with motor drivers being the 10amp version of the TMC5160's running at 3 amps. Two generic BLDC drivers drive the chamber fans, and a BTT Pi and BTT Octopus pro run the rest of the show. Even with the CAN boards having their own thermistor ports, this printer still has 5 RTD's monitoring all the heater temps, air temps, and motor temps.
The main other electronic board (not including the custom LED driver board and custom interlock board I built) is the buffer board, which allows filament switching and rollover. This board talks to the Pi over serial which allows it to integrate with Klipper. The board is a ESP32 running custom code controlling a TMC2209, reading a bunch of switches and a linear potentiometer, and running ROSAHL solid state dehumidifier which keeps filament in the bay dry. |
Stratasys Electronics bay featuring cable routing done by yours truly....
|
Buffer drive electronics, ESP32 and TMC2209