What is Hangprinter?
A cable driven RepRap 3d printer.
What is the Hangprinter Project?
The Hangprinter Project develops and spreads the unique motion system.
What can a Hangprinter do?
It can use existing structures, like walls and ceilings, as its frame. Framelessness makes Hangprinter
relatively a cheap, and relatively small/compact. It also enables very large prints.
More in-depth on features here.
What's the goal and purpose with Hangprinter?
The Hangprinter Project wants to design and spread a robot that makes its owners free and independent. More in this blog post. I write a lot about this on my personal blog. See recent bloggy masterpieces such as Where Should Open Source Go?, Hopes, Dreams, and Agendas, and Philosophy of Hangprinter. Some design goals I've stuck to for the last three years are outlined in this blog post. An explanation of the connection with democracy is outlined in this blog post. Other formulations of my personal motivation for working with RepRap are found in my thesis work. See this blog post and this blog post.
How do I get one?
Currently, the only option is to source and build oneself. The documentation contains some guidance, but you'll probably need ask questions in the project's channels.
What does it cost?
Parts for a v4 costs a grand total of ~2350 USD. (Everything ordered online, to my address in Sweden, incl vat and other taxes, shipping, and all optional parts, no clones. It's also with low effort put into finding the cheapest parts. I did the experiment.)
Can I cut cost by...
... using cheaper lines?
Definitely. We need stiff and light lines, but if your machine is small, and has a light tool head, and if reliability is of lower importance to you then you might not need all the performance the Garda lines give. HP3 used Fireline 0.5 mm, which worked ok. If you want to help update the BOM for everyone, then order some Garda and compare your line to its stiffness. Cheaper lines for everyone would be awesome. For reference, here is how the current Garda lines were compared to Fireline 0.5.
... skipping the ODrives?
Sure, you can use any motor and driver setup. The ODrives are connected to the Duet via a CAN bus which gives torque mode and encoder readings, which gives a lot of everyday convenience as well as auto calibration of anchor locations. They also have many nice features like anti-cogging and input filtering that might get important depending on your use case.
... using some other board than the Duet3?
Yes. Reprapfirmware has up to date Hangprinter support for all Duet boards. There's also an unsupported. Reprapfirmware version that let's you use Duet2 Wifi and UART to talk with old ODrivefirmware versions. At the time of writing only Duet3 has the CAN support, but a cheaper Duet with CAN is in the pipeline. Marlin also has Hangprinter support which was in active use up until 2018. Marlin's current state is a bit unknown to me (tobben, Oct, 2021).
... skipping the Raspberry Pi 4?
Yes. You'll miss the web interface and the ability to use hp-mark in a standard way.
... Using a cheaper BLDC motor/encoder pair?
Absolutely. This shouldn't affect any functionality except motor performance.
Will kits be available?
No plans for kit supplying are currently known.
Should I build v3 or v4?
I (tobben) recommend the v4. It is a more practical and useable machine overall.
How can I contribute?
See the contribute page.
What license is the project under?
Hangprinter (the repo) is under GPLv2, line-collision-detector is GPLv3, hp-mark is GPLv3, auto-calibration-simulation is MIT, ODrivefirmware is MIT, RepRapFirmware is GPLv3, and most of hangprinter.org is MIT, except the docs, which is GPLv2. That is not the full picture, it gets more complicated if you look closely at the repos.
With that said, I made Hangprinter so people could use it and build businesses around it. If any of the licenses above are problematic for your business or project, try contacting me (tobben) in person and let's discuss it.
How large can it print?
It depends. Check out this blog post for more details.
What materials can it print?
Hangprinter is compatible with most tool heads on the market. This includes thermoplastics, but also ceramics and other paste tool heads. There's also a pen holder tool head in the repo.
What's the precision?
The proper answer is very complex, so I'll skip it here. You should expect similar print surface quality as you get from other 3d printers.
What's the accuracy?
The proper answer requires direct measurement on each machine, and it will be different in different parts of the build volume. A computer vision system called hp-mark has been developed. It wants to bring good accuracy measurements, as well as other good things, to every Hangprinter.
Can you put a 3d scanner on it?
Probably yes. I haven't tried because I don't know of practical ways to use Hangprinter as a 3d scanner. My main concern is about lines touching the unknown object.
What are Hangprinter's strengths?
What are the known limitations?
None. Ok, just kidding.
Needless to say, I'm constantly working on, and prioritizing between, the various weak spots of the Project.
What problems does the computer vision system (hp-mark) solve?
Here are some previous limitations that are currently melting away due to hp-mark getting better.
What problem does the line-collision-detector solve?
The Hangprinters' downwards pointing lines (A, B, and C) can collide with half finished prints during print. However, with a specially developed tool called line-collision-detector it's quick and easy to run a simulation and see if a collision will occur or not. A full simulation typically takes 10 seconds or less to execute. It allows you to specify a safety margin, and can output an stl that shows exactly where on your model an eventual collision would happen.
How is the project funded?
Ca 10% via donations. The rest via my (tobben's) private money.
Why is this not patented?
Hangprinter is designed to be self-replicating, and to be flexible. As much as I want to make money and to privatize my ideas, the current patent system would limit users too much. As everyone else in open source hardware, I'm looking for alternative ways forwards. I'm occasionally writing about this on my personal blog. See for example here and here.
How do you slice for Hangprinter?
Similar to other 3d printers. For some slicing config suggestions, look at tobben's Prusaslicer configs.
How can I contact you
See the resources page. Also see the contact form at the bottom of torbjornludvigsen.com.
What is the Project's history?
See the about page. For a deeper dive, check out my personal dev blog archives, and the past newsletters.
Does the print head rotate?
In general, no. See "tilt problem" above, for one exception.
How are rotations avoided?
By keepings pairs/triples of lines parallel and equally long. See this Youtube video for a visual explanation.
How should I configure RepRapFirmware for Hangprinter v4?
Check out the example config.g in the repo. It should be somewhere under firmware/RepRapFirmware/Duet3 or similar.
How do I find correct buildup factor (M666 Q-parameter)?
The buildup factor determines how much firmware should try to compensate for line buildup on the spools. Theoretical, but a bit naive buildup factor calculation (assumes cylindrical, straight line):
Buildup factor is equal to (line_cross_section_area)/(height * pi):
((0.5/2) * (0.5/2) * pi)/(8.0 * pi) = 0.0078 mm
In practice, you might want a bit more or a bit less than the naive theoretical calculation gives you.
I don't have a good procedure to fine tune it though, and it doesn't make too big of a difference.
I'm planning and hoping that auto-calibration-simulation-for-hangprinter becomes the default way to do anchor
calibration. It will spit out the buildup factor, and hopefully the user shouldn't need to know what it is or how
it
was calculated.
Should I use steppers or BLDC motors?
Short answer: The default for HP4 is BLDCs. See the BOM for the exact model.
Longer answer: Four really beefy steppers with Smartstepper would do as good a job as the four BLDCs at a slightly lower price tag, for a small and light Hangprinter. The Hangprinter application lies right between the sweet spot for steppers and the sweet spot for BLDC application. The bigger and heavier your Hangprinter is, the more BLDC starts to make sense. However, the following conditions make BLDC a better fit for us:
In principle, we could fulfill all those needs with steppers and some fancy stepper drivers. I tried to stick to steppers by using Mechaduino stepper drivers and later Smartstepper drivers. However, they were hard to set up and very unreliable compared to the ODrives.
I want to manually calibrate my anchor locations. How do I do that?
Just a warning: it's hard to get right. After releasing the HP3, got so many questions about this that I decided to develop auto calibration as fast as possible. Auto calibration now works far better than I've ever managed to hand calibrate.
But back to the question: Check out this discussion. Also see these comments and timestamps of a live streamed HP3 calibration.
Is torque mode necessary?
Torque mode saves in a lot of manual effort during daily use of the Hangprinter. With that said, it's totally possible to tighten lines with the Individual_motor_control macro. Advanced: If you want a new position to be calculated after the individual motor move, you could also use G1 H2-moves directly. Look in the macro or Reprapfirmware's gcode docs for details about how G1 H2 is used.
How about putting all anchors high up?
If we don't pull the effector downwards we're limited to the acceleration that gravity can provide, and gravity is really slow. The Hangprinter's firmware supports such a config, but I haven't seen it in practice for a few years.
Lacking lines downwards means we can't constrain upwards motion of the effector. The print head will be pushed upwards by various tiny forces during print. It will not be able to maintain good accuracy or precision, unless it's pushed or pulled downwards. These designs therefore end up trying to add a spring loaded pole that pushes the effector downwards from above.
I've also seen a few designers just add lots of weight to the effector. This means a slow-motion machine, but that's acceptable in a few applications.