This is the 3D printer as of August 10 2018.
I've finally gotten this collection of aluminum and wires to the point where I want to write a blog article about it. This homebrew 3D printer is the result of about 9 months of gradual development, and this is its story.
Sadly, I don't have pictures handy of the printer through the months. I think I've got a few on my phone, so if I unearth anything I'll update this post.
The printer started off as a "Raiscube R2" kit I bought from Gearbest (I didn't know any better at the time, sue me). It was basically a knockoff Anet A8 - and I don't mean that in the sense of "the A8 is a knockoff of the Prusa", this was actually a shitty cheap version of the A8. That should give you an idea of what we were working with - 8mm acrylic frame (which is actually still in my closet for unknown reasons) held together by M3 machine screws and M8 threaded rod. Standard RepRap Mendel kinematics (Cartesian XZ-head) and a imitation MK8 extruder.
The machine as delivered had no end of issues. The frame had some significant flex to it (as expected from acrylic). I know people usually solve that with Z-braces, but I didn't have the threaded rods necessary. In any case, it wasn't a significant problem overall. The extruder was, as mentioned, a Mk8-style thing, and the cooling fan for its cold side was connected to the extrudate coolers, so it wasn't cooling the extruder before the part fan kicked on. This, again, was actually not that relevant due to the extruder's PTFE liner, so those were really just nit-picks.
Now into the real problems: The machine had no Y endstop, so I had to design a Y-endstop mount myself. The Z endstop was unreliable. There were no provisions for autoleveling. The print head weighed a million pounds (direct drive, bent steel, lots of fans). The stock electronics were a Melzi board (so questionable heated bed controller and no provisions for expansion). The stock PSU was a ~20A LED power supply with exceedingly questionable output regulation. The printed parts were all bright yellow. The supplied filament was so full of voids printing it sounded like popcorn.
And to top it off, when I was assembling the provided spool holder, one of the acrylic bits broke and cut the hell out of my hand. I still use that spool holder.
Obviously, I don't like it when things don't work well, so I set to work improving the machine. One of the first things I designed to be 3d-printed was that Y axis endstop mount. I bought an external FET for the heated bed (thankfully, the heated bed wires on that machine are soldered on and it doesn't have the same connector problem as the A8). I flashed whatever the current Marlin was onto the controller (I wanna say it was 1.0.x to 1.1.x at the time (it currently runs 1.9.1)) - in short, I did everything the /r/3dprinting folks say you should do to that sort of cheap kit.
Still, that wasn't enough. The extruder was questionable at best and I was limited by the kinematics to about 60 mm/s and low accelerations before layer shifts started to become an issue. The next major upgrade was a real E3Dv6 hot end, and that started my relationship with bowden extruders. That hot end, for reference, cost about a quarter of what the entire printer ran me. That worked for a while as I went through several permutations of the X axis carriage. Eventually, I got the silly idea to attempt dual extrusion and bought a knockoff v6 for the secondary extruder. That did not work.
The next major change in the printer happened a few months later. I managed to obtain a large amount of 3030 profile extrusion for free and decided to rebuild the whole thing as a CoreXY. I headed over to the machine shop and cut three sets of four rails to form a large cube, and designed the motion components in Solidworks. The first iteration had issues. The Z axis was supported on the leftover threaded rods from the original frame; they sagged. The extruders (still holding out hope for dual extrusion at this point) were clamped between the two rods of the horizontal X axis. Huge mistake. The clamping was unreliable and put outward forces on the X axis rods causing their linear bushings to jam (at some point I had moved over to Igus bushings and TMC2100 drivers to mitigate noise, but I don't remember exactly where in the timeline that ends up), and the belt mounting system I had devised made tensioning impossible.
I did have a few good ideas with that first build, however. The 3030 frame was rock-solid and the gantry system eliminated the Y-axis layer shifts I'd been suffering... or so I thought. Turns out that rather than the kinematics being the cause there it was actually a bad stepper motor. Thankfully, the new frame only used one motor for the Z axis so I had a spare.
At the same time, I switched the electronics over to RAMPS after realizing that it literally costs $7 because I already had an Arduino Mega.
I abandoned the CoreXY system quickly. It's a good idea but the lengths of the belt required make it impractical with poor tensioning and cheap belts. I put the second extruder on hold for a bit and converted the system to a dual-motor Y axis and Cartesian XY-head. That configuration allowed me to limp the printer along for a while, but it was still using that crappy X carriage. I'm not quite sure but I'm pretty certain that I was still using that X carriage by the time we moved in late March - the timeline doesn't work any other way but I don't really remember it like that... I guess the old X carriage still sitting next to the printer in its current state confirms that one.
After a brief stint of experiments with the clamping horizontal X axis, I next decided that the X carriage needed to go and went back to a vertical X axis design so I could reuse X axis components from before. I designed a new set of brackets and connectors with the intent to a) minimize printing time (the horizontal X system was really falling apart) and also minimize weight of the Y axis (because I still thought that mattered), with the result that they were inaccurate (due to the crappy motion system installed on the printer at the time) and flimsy (due to the poor design constraints).
Somewhere along here I re-CAD the entire thing in Fusion 360.
Unfortunately, that vertical X axis was flimsy, but I didn't recognize it at the time and figured the linear rods were the problem and decided to rid myself of them entirely. I designed a whole new linear motion system based around running bearings directly on the 3030 and printed it on the robotics team's TAZ 6 in black PETG. This caused complaints from the robotics people, to which I pointed out that it wasn't the largest waste of filament we'd had that year (long story)...
This was right at the end of the school year, so I really only had one chance at a lot of these parts... they did not all fit. The Y axis motor mounts and bearings were particularly problematic and one of them broke on the way in (but was salvageable). The rest of it managed to work surprisingly okay. Everything was looking great, print quality improved dramatically, and the only (very minor) hitch was that the new extruder fan shroud made a high-pitched whistling noise whenever the fan was turned on.
Somewhere along here the printer gets a spare ATX power supply to replace the stock supply. This is the furthest from the kit the printer gets, with the only stock parts being two stepper drivers, the Z axis rods and leadscrew, the bed, and three stepper motors. I also added a couple of 10W COB LEDs for a better work light, powered by the old power supply (which works just fine for 2A worth of LEDs).
The 3030-based system, however, gums up and quits working. The printer sits idle for a while until I have an epiphany - the linear-rod vertical X axis build sucked because the brackets holding the X axis on were garbage. Those ridiculously overbuilt red pyramid things were the next step. Those were among the last parts built by the 3030 linear motion system, and they've got obvious backlash and inconsistencies. Thankfully, they fit and work great. I busted out the old rods and bushings and put the vertical X setup back together with some significantly more rigid connections - and all of the print quality problems just kind of go away.
The other big change was I decided to ditch dual extrusion for good. It doesn't work and nobody really makes models for it except as a gimmick, and soluble supports are expensive and not really useful for the work I do. I decided with this version that the focus should be on high-print-quality single extruder, and it was an amazing decision. With the motion system working, I was free to focus on the other quality of life features that make the printer easy to use and not a manual-intervention riddled chore such as endstops, cooling, and bed leveling. The most recent additions are that X axis cable chain and the Raspberry Pi/camera controller. (I need to print a new camera mount, this one sucks)
So that's how the printer got to where it is today. It produces some perfectly respectable output (sorry for junk lighting):
It's not perfect, but I'm pretty sure I know the main issue - the spool holder's not able to deal with the new 1kg spool I just picked up from Atomic. New spool holder's on the list.
There are still a number of things that are going to happen to the printer in the future. It's not static by any means at this point. Some of the improvements I've got planned includes better cable management (lol), better mounting for the RPi/camera, possibly a rebuild of the Z axis to put the bed closer to the front of the machine so I can put the extruder on the front side (you may have noticed that the extruder is on the +Y side of the X axis, contrary to how most Prusa-style printers are arranged - this is because the bed is biased towards the back of the machine and I can access more bed area with it on that way), better mounting of some of the electrical components such as the cooling fan I've got pointed at the RAMPS board (those TMC2100s are some serious flamethrowers) - the list goes on.
And, of course, the machine isn't issue-free just yet either. The print cooling still isn't where I want it - I'm using a i3-style radial fan mount and I don't think it puts the air in the right place, and the ATX supply can't keep up on the 5V bus for some reason which is causing the RPi to constantly complain about undervoltage. I've got some 600W 12/5 supplies from a HP rack-mount server I'm thinking of adapting to replace the ATX supply but the fan noise on them is something else. I definitely should do something to consolidate the power systems - there are currently 3 power supplies on here: one 750W ATX supply for the main 12V bus (totally overkill), a 12V 7A power supply from an old monitor for the lights (probably redundant), and a 5V 2A phone charger for the RPi (definitely redundant as soon as I figure out the 5V bus).
But for now, it's working, it's reliable, and the output is decent - and I still don't think I've put a Prusa i3's worth of money into this thing (though I'm probably getting close by now).