Introduction: Total Metal Hypercube 3D Printer (no Printed Parts)
This is a remix of the Australian design by Tech2C on Thingiverse, but using no printed parts.
Its my answer to the classic hurdle of building a 3D printer without having a printer to print the necessary parts.
Its a CoreXY machine which is not readily available commercially,but is a great design for the diy approach.
Step 1: Some Background.
I used mainly, 1 metre of 25mm X 12.7mm aluminium bar and 1.8m of 3mm thick 25mm equal angle for the various parts.
I went with 6 SCS10UU linear bearings to make mounting my aluminium meccano pieces easier.
My main tools were the hacksaw and 2 files, a rough and a 2nd cut, a digital caliper for all the measuring and marking, and the benchtop drill press for a lot of the drilling.
I have a benchtop mill and so that was used to face a lot of the pieces square in the critical areas like the Y guide rod brackets and the X/Y joiners.
Another specialized tool was the 10ton hydraulic press from a previous instructable that was used to bend the 12mm thick aluminium for the idle pulley brackets.
Not forgetting the ubiquitous dremel which did all the little handy things that dremels do.
I work in a randomly impulsive organic way and so I'd first built the enclosure for an ordered and paid for Anet A6(Prusa i3 clone), but that never materialized, so I was stuck with a 500mm x 400mm x 400mm perspex enclosure and a pocket full of refund. :)
I decided to source all parts locally in South Africa due to the 2 month shipping times from most international suppliers like Banggood etc.
The entire build from assembling the precut frame pieces to first print was 40 days.
Step 2: The Cube Frame.
I ordered 12 precut pieces of 350mm PG20, plus a 1m length for the bed of the printer.
Alas, the corner brackets were sized for M4 hardware while I had ordered 72 x M5 preset nuts for the bed and frame corners, as were the 60 T slot nuts for the rest of the fixings.
So, out with the 5mm end mill, jig on the drill press, not really advised, but I had 36 mods to do.
Loading all the corner brackets with preset nuts and 8mm long SS cap head screws took the better part of 30min, assembly of the cube was made easier on a glass top table and took roughly 45min.
Making sure everything was square was a further 30min.
Step 3: The Bed.
When prototyping, its always best to have stuff in hand to measure and so I decided to cut the glass bed while waiting for the pcb heatbed to arrive.
I then measured out the corner mount points on the pcb before drilling the clearance holes and bed mount brackets(3mm 25mm eq angle).
I had cut the bed side supports at 300mm and once the pcb heatbed arrived, I measured the cross member to fit(138mm). That was also hacksawed and end faced on the mill.
Total bed weight of all the moving parts is 1450g of which 485g is the 215mm x 215mm x 4mm thick window glass.
Step 4: Motor Mounts
I used a 5mm thick piece of steel for the Z stepper and the rest was 3mm aluminium angle or flat plate.
I initially went with a cross mounted setup due to ease of mounting and rigidity. This resulted in the back of the belts being 12mm away from the face of the bearing block and would have meant a loss in travel on the X axis, which in its present iteration is 225mm.
The new version of the motor mounts was very tricky to get mounted onto the PG20 profile and had to be plumbed to ensure that the drive pulleys werent canted in the X direction. This would have caused the belts to climb up out of the drive pulleys.
Step 5: LCD Display
I started out with a vinyl wrap for the LCD and liked it in dim light from far off... for about 15min.
What to do if you don't have a laser cutter to make small bits of burnt wood?
Simple, a hacksaw (smooth cuts in plywood) and blowtorch will do the job. Once the front face was burnt all over Shou Sugi Ban style, it was covered in a 2 part epoxy resin, Liquid Glass by Heritage.
The display brackets, which I call "opposing hooks" were made by bending hooks in metal strip and plenty of filing to get it to slide into the PG20 profile, of course once wing nutted, they're not going anywhere.
Step 6: X Axis
I'd left this for last due to waiting for the idler pulleys so I could get the belt clearances right.
I also thought it would involve plenty of head scratching, but in the end it turned out rather simple, a block on a block on a block.
Fortunately my layout and drilling of the blocks was spot on and I was able to get the top and bottom rods perfectly parallel with careful tightening of the 4 flexure clamps at the ends.
All up weight of the X rods, hotend and bearing blocks is 1.1kg of which the 340mm long hard chromed tempered steel rods account for 417g.
X axis travel of 225mm.
Step 7: Y Axis
Due to my particular custom build, I bought 2 x 1m long hard chromed tempered steel rods and cut them to fit, using the 2 x 320mm lengths here and 340mm on the X and Z axes.
Commercial rod holders are 40mm in length and I thought I could better that with a diy version and save some travel on the Z axis.
Some pondering had me wondering if the 2 rods were parallel and so I made a quick tool to check.
A length of M6 threaded rod will have 1mm of travel for 1 rotation, the nut has 6 flats and 6 points, so that will yield a resolution of about 0.08mm per mark.
In fact I got it down to about 0.045mm which was nowhere the tolerance needed for a SCS10UU bearing at 0,015mm.
I tried squishing the frame sides together at the wider point, but that only brought the ends in by 0.3mm out of the original 0.65mm difference.
Opening up the narrower side proved to be a lot more fiddle and really got me nowhere.
Somewhere I saw a flexing rod support on a printer bed and thought that was just the idea for my application. So the one rod is fixed and the other one has some flex play at one end to compensate for unequal spacing between the 2 rods.
A chopped up paint scraper gives 0.1mm of travel either side of center and performs well in this application.
Using a dial indicator sliding along the top frame got the rods to within 0.01mm, a fiddly task to say the least, but easy enough to get results I was happy about.
Y axis travel after all was said and done is 210mm.
Step 8: Z Axis
Probably the most challenging to setup was the leadscrew and Z axis guide rods.
I'd already made up my mind that I was going to mount the stepper at the top and use a thrust bearing at the bottom to take the weight of the bed.
The ball bearing used for the thrust bearing is a 2.15mm dia item out of a bicycle crankset, its set into a 1.5mm hole drilled into the 5mm thick flat iron.
The bottom end of the leadscrew was concave ground with a dremel while being spun in a drill.
Z axis travel of 180mm, but I got nervous about hotend/bed crashes and pegged things to 175mm, both on the endstops and via the Marlin V1.1.1 firmware.
Step 9: Extruder
I didn't feel like wasting time with a diy extruder and so I bought a very cheap left hand Makerbot II version.
I was planning a Bowden setup and it fitted the task well, being already pre drilled and tapped for M6 hardware.
I initially center drilled a piece of M6 threaded rod in case of wanting to print flexible filaments down the line, but it turned out to create more problems with the extruder jamming/missed steps.
Version 2 was much better with a section of teflon tubing inside a drilled M6 SS rod.
Step 10: Hotend and Fan
Seeing as I'm just printing ABS at the moment, I decided to omit the layer cooling fan and purchased an E3D all metal clone.
I wasn't a big fan of their tiny 16mm square heat block, it also had a grub screw holding in the heater cartridge with a big air gap all round, it was swopped it out with my own diy 20mm x 25mm x 12mm bar stock version.
Once the thermistor and cartridge were in place with dabs of thermal paste, the whole heat block was sealed with hi temp silicone.
The hotend was mounted directly to the X axis SCS10UU bearing holders with some more bar stock.
The cooling tower fan was mounted using a 1.6mm thick strip of aluminium plate, and the gaps were sealed off with aluminium tape.
I thought I'd try an unusual setup for belt tensioning to save travel space on the X axis and instead used a sliding arrangement on the 2 idler pulley brackets.
Last pic of the filament is to show the small melt zone, the small 2mm blob on the end, for what its worth.
Hotend weight with its 2 SCS10UU's is 350g.
Step 11: Bits and Pieces
I had a good idea of how the idle pulley brackets should be, but had to wait for the toothed pulleys to arrive before I could mill out the slots, 3 spacers with 2 9mm thick pulleys was very close to the overall 25mm thick aluminium bar size.
The R/C servo will be deployed for ABL (auto bed level), but I'll wait till all the issues are ironed out before tackling that sideshow.
Step 12: Irksome Issues
First issue to require the soldering iron was the Mega 2560 not being powered up by the psu, only via the usb connection to either pc or laptop.
The D1 diode is responsible for power feeding, mine was present and tested fine. Closer inspection showed all the signs of a dry joint, big grey blob of solder, turning the board over confirmed it and a meter check on the solder pads yielded no continuity.
Next issue was heatbed failure to come up to temp which shuts the printer down, off with the RAMPS board again, trying to pull the power plug off revealed the problem, it was fused due to an overheated pin. New connectors solved the issue.
I'm printing ABS which is 110 deg C for the 120W (10A)heatbed, so the early failure was annoying to say the least.
Another issue was the printer hanging after printing 2 layers as if scratching its head, actually probably what was going on because I was using an 11yr old 128mb SD card which was unable to stream the gcode fast enough.
Before I found the faulty/fused power plug, I had a problem with the entire printer powering down after moving to the bed center to start a print.
At the time I thought my 30A psu wasnt up to the task, so I turned up the voltage from 12V to 13V and cranked down the stepper current to 1.6A.
I also changed from the 1.1.0 RC firmware to the newer 1.1.1 version which brought some more issues.
One cant just drop your config.h file into the new Marlin folder(compile failure due to new min/max endstop labels), and for some strange reason it swopped my X and Y axes around, so I had to change it from CoreXY to CoreYX in the firmware.
Step 13: Finally
My DRV8825 boards came factory set at 1.6V which meant 3.2A on 2.6A stepper motors, way too high, made the wiring hot and the steppers sang a strange "whale song".
All part of the learning curve I guess, 40 days ago I thought one dropped a STL file onto a SD card and pressed print and I'm still having issues with the first layer, but overall I'm happy in spite of all the issues and challenging build.
For the record I used 2.6m of GT2 belt, 1.3m for each side.
I'm leaving things just the way they are, so no printed part upgrades in the foreseeable future. :)
Lastly I've attached my own config.h file to show what I've done, bear in mind I'm using 7 micro switches on 6 endstops and dropping said file into your own Marlin folder will not have a happy ending.
5 years ago
This is a great build! Very good photos and everything explained, even the errors. Thank you. Now I am considering upgrading my Anet A8 to the "Hypercube" setup. cheers!
Reply 4 years ago
Exactly what I was thinking. Also, I'd like to be able to print polycarbonate which means an enclosure (maybe even heated) with no PLA parts to melt... an all-metal hotend, and an excellent heated bed.
Few people can do much with polycarbonate. I'd like to be able to print parts in a very tough, heat resistant material!
This is exciting.
4 years ago on Step 3
Just so you know, the same size glass in borosilicate is about 200g lighter. Not like the bed really moves so much on a core-xy, but if weight was a concern...
5 years ago
Amazing work! Thanks for sharing! :)
I need to get strength to build this project, my younger son asked me for a 3D Printer, he want to be a engineer when he grow up, so I need to get some inspiration and make it happen instead of spent reasonable money into a boxed 3D printer.
Anyone who already built it, can added me on skype erick.will or hangout firstname.lastname@example.org to exchange experience into build it in the right way?