Welcome! Log In Create A New Profile


Hangprinter version 3

Posted by tobben 
Re: Hangprinter version 3
September 12, 2018 05:06AM
Nevermind, I forgot few cables... grinning smiley
Re: Hangprinter version 3
September 12, 2018 09:08AM
Hi all, I have finished my holidays and continues with the challenge smileys with beer

I finally boot correctly with HAW . I don't understand why, but now I don't have any problem to upload Mechaduinos . confused smiley I am using the same computer, same port, same wire and now works correctly.

Following the procedure I have calibrate the A motor and the behaviour is correct. the axis seems hard to move and returns to its position, like a spring.

But the rest of motors don't work correctly. When I start the calibration routine the serial port says "Wired backwards" . I check wiring and is ok. The 3 motors B,C,D have the same problem. If I turn the motor wiring I have the same error message.

Any suggestions?
Re: Hangprinter version 3
September 16, 2018 12:15PM
@VictorBarahona: I don't recall it exactly, but I think I had a similar issue while flashing the mechaduinos earlier this year. In my case the problem was, that I had the phases connected the wrong way. Can you post an image of all motors and their connections?

@tobben & all: This week was a breakthrough. I finally got the first prints ready! First of all, I'd like to thank you Tobben for this amazing project!!

In chronological order from right to left. After calibrating the extruder esteps, it already looks promising.

The frame looks currently like this

Up until now I've done only manual calibration on the printer and that proved to be quite difficult because of the elevated print bed. Next week I'm going to try the auto calibration script.
I experienced some issues with marlin killing the process due to heating failures. Since I've used 1 mm2 cables for heater power supply, I hardly believe it's about the cable resistance. Any ideas?

For now I won't print overnight, so what would be the process of pausing and restarting the print again? And how should I re-home the print head after power off since the print head?
Re: Hangprinter version 3
September 18, 2018 06:48AM
You first enable torque mode on all motors. Then move to the origin and issue G96. Then move to random positions. No need to return to [0,0,0] between measurements, just move from one random position to the next.

Glad to hear upload is working!

I've also had that error message a few times. Try stepping a few times back and forth (send for example 's', 's', 'd', 's', 's'). That enabled the motors and solved the error last time I had that error message.

That's a pretty decent looking Benchy already smileys with beer

Heating failures like you describe most often stem from glitching in connectors on one of the thermistor cables. If you can feel heater cables getting warm then it could be heater cables, particularly if you're on 12V. Should be ok though.

Since we're on stock Marlin now, you could try ADVANCED_PAUSE_FEATURE, which is in Configuration_adv.h. I haven't tried it myself (or any of the other pause features in Marlin, I still live like it's 2015 pause-feature-wise).

They way I did pause back in the day was:
  • Pause the printer
  • Issue M114
  • Write down XYZ-coordinates on a piece of paper
  • Lift hot end a few cm and turn off heater
  • Observe where pause blob is on the print
  • When hot end below ca 80 degrees: pull power plug
  • Upon power up next morning: put nozzle on pause blob (using G6 or G95 if you have it), tighten lines, and start heating hot end
  • Send G92 with yesterday's XYZ-position so printer knows where it is
  • Open gcode file and search for yesterday's XYZ-position. Delete that G1-line, and all gcode lines above it.
  • Load the now amputated gcode file in Pronterface/Octoprint.
  • Just press print! (should be a registered trademark and registered slogan of that wonderfully straightforward pause procedure)

Re: Hangprinter version 3
September 18, 2018 09:18AM
Yes, you might be right about the glitching connectors. Since I re-plugged it, the printer seems to run without errors.

Thanks for the pause procedure, I'm trying it today!
Re: Hangprinter version 3
September 23, 2018 10:34AM
Just for information: I am still working on the prototype. Could not find enough time in the last weeks. October will be less stressy and I am shure I can share results soon. smiling smiley
Re: Hangprinter version 3
September 23, 2018 06:11PM
Hey guys,
since you have a whole forum section available for the hangprinter, have you ever thought about making separated threads for each topic?
That may be very helpful for new people joining the discussion, as well as for anyone trying to recover some specific technical information previously discussed.

Re: Hangprinter version 3
September 25, 2018 05:21AM
@tobben @atmark
The Mechaduinos are kidding with me sad smiley
In my last post I spoke about "wired backwards" problems with 3 of 4 mechaduinos. Reading the firmware's comments I found this text:

line 166 SerialUSB.println("Wired backwards"); // rewiring either phase should fix this. You may get a false message if you happen to be near the point where the encoder rolls over...

The wiring is ok. So I repeat and repeat the calibration process and finally all is ok. So, the message "wired backwards" could be a real wiring problem ... or not eye popping smiley

Sometimes I have had other problem, the mecha start the process and the percent increases but stops in the middle, let's say at 42% and not at 100%. the serial monitor freezes too. In this case I have restarted Arduino and solve the problem.

I have made this calibration process but other problem has arised. I let unfinished some soldering. So I solder this pins and now I try to connect again and the computer don't recognizes the usb port. 2 Mechas connects and other 2 not.

I'm not a master of soldering but I worked in the same way with all the boards and didn't remember any mistake, I didn't touch any component in the board.

Before this problem I updated the firmware in all the mechas. So, I will connect them in the board and cross my fingers again confused smiley
Re: Hangprinter version 3
September 25, 2018 05:42PM
Yes, this thread has really been used more like a conversation than an on-topic discussion. Collecting knowledge from here and presenting it in a more accessible format would be very helpful.

What an adventure into Mecha surprises. I hope we'll straighten everything out in the end.

If you plug a non-connecting Mecha into your computer, then open a terminal and run the command dmesg, do you get any hints? Look at the last 20 lines or so. They should give detailed information about your Linux kernel trying to figure out how to treat this newly plugged Mecha.

Re: Hangprinter version 3
September 26, 2018 01:57PM
I could help with the documentation since I'll probably do one in any case for our university. Maybe we would need to discuss first how the documentation should be organized/maintained. Personally, I like the Dozuki style Prusa and e3d are documenting their products. Dozuki seems to have a free plan for open source projects, so that might fit well for our needs? I haven't read yet through the small print...

Other than that, how would you prefer the documentation? Last time I did a documentation for a laser cutter as a pdf, but that is difficult to maintain in long run. A co-edited, web based, repository with a clean and visual layout would be my best bet.
Re: Hangprinter version 3
September 30, 2018 10:45AM
Hello guys. I'm new to the forum and i've been trying to build a hangprinter v3 without the mechaduinos (kinda scarce and expensive). The issue im kinda struggling agaisnt is that my D motor isn't responding to gcodes commands, namely the G6 D5 ( testing if it spins or not). All the other components have been tested and work. So i'm kinda at loss here.

System: Mega 2560 + RAMPS 1.4 (A4988 drivers)

D motor mounted on the Extruder 1 slot as what has been recommend by Brother Chris's videos.

Attemps to solve the problem.

1# Check that motor works. Done it works.
2# Check that driver isn't dead. Done its not.
3# Check driver voltage. 0,6V (factory standard)
4# Read wiki on gcode commands on reprap - Done ( Found nothing useful).
5# Read lines of code in marlin and find something that references that motor. - Nothing really that useful on config.h and configadv.h.
6# Uploaded marlin 1.1.9 and marlin from hangprinter gitlab. Problem persists on both.
7# Scour the internet and ask for help - ongoing. ( Edit 01/10/18 - Did find a similar issue on Tom and Torbs Trinamic build video part 2 (around the 1h20m mark). Maybe its the ramps..)

Oh.. yep i'm a newb, only built a Anet A8 before. This is my first time building a 3d printer from scratch.

Cumps Ricardo from Portugal.

Edited 1 time(s). Last edit at 10/01/2018 10:58AM by LordThingol.
Re: Hangprinter version 3
October 01, 2018 03:41PM
Hello Everyone,

I'm new to the Hangprinter project but have been doing some background research on the system and its development over the past couple of days. I'm interested in building one and contributing to the troubleshooting of a Duet-Wifi based printer, but am having trouble finding documentation about this particular aspect of the project. It seems like there hasn't been a successful implementation of the control board on a hangprinter yet but after looking over the reprapfirmware source code it seems like the geometry is supported in the Duet's firmware and has been for quite some time. I'm by no means a C++ expert so I definitely could be missing something; I'm curious what the obstacles are that prevent the use of the Duet on a hangprinter? A little insight on this would be appreciated as I'd love to help out.

Re: Hangprinter version 3
October 01, 2018 05:21PM
Great! Some help on documentation would be very welcome smiling smiley
Right now the documentation is written in xml (this one), and then styled with different xsl templates and css files for different purposes. See the command I use to create the hangprinter.org version here.

Editing the xml and making merge requests is possible for eager contributors, but I'd really like to have a lower threshold for contribution. I set up a readme.io page some time ago, since it was the favourite documentation platform of another user. I think dozuki and readme.io both looks ok. My personal favourite documentation right now is the oDrive documentation, since it has the "edit on Github" button visible, which lowers the threshold for collaboration while keeping the documentation in the same repo as the rest of the project files. oDrive has used Ruby/Jekyll instead of xsl, which is probably sane. Hangprinter only uses xsl because I wanted to test it out. I'd use some Python based framework for Markdown->html generation if I were to redo the documentation today.

If you're going to contribute a lot, feel free use your favourite platform! If you're going to contribute a little, edit the xml files and make merge requests smiling smiley

It could be that the enable pin is pulled low on the D-motor due to a bug. Send M17 and try again.

Awsome! I've added some things to the official Hangprinter support and written a blog post called Crashdummies Wanted smiling smiley

At least one person is successfully Hangprinting with a Duet =) He has posted about it in the fb group: [www.facebook.com]

My own next prototype will be using a Duet, so there will be more work done in this direction.

Re: Hangprinter version 3
October 02, 2018 08:24AM
Update on the D motor issue:

#8 Checked ramps pins connection with a multimeter for the E1 extruder (where D motor was connected) - All worked. So ramps was good.
#9 Tried Torbs advise: M17 to force enable motors. Nothing happened.

Delved a bit deeper into the issue and tried using the M18 and M84 commands, neither was working.. All motors kept having idle torque.
So i tried messing around with pins_ramps.h and changed the E1 enable pin to one that knew worked (x motor enable pin).
This resulted in D motor not having idle torque, and 18 and M84 weren't working for any motor. So the current to the motors wasn't shutting off.

#10 Tried older marlin firmware from github: [github.com]

Success! Haven't tried shutting off motors with M84, so don't know if that issue persists. But G6 D5 command works and i can wind and unwind D motor on command.

So.. i'm not quite sure what's happening here. Maybe there's no D motor in the new firmware and the G6 D5 command does nothing. Not sure where to check for that.
Or maybe there's some weird issue with both my Mega 2560 and Ramps 1.4 board. Err.. not sure.

Edited 1 time(s). Last edit at 10/02/2018 12:52PM by LordThingol.
Re: Hangprinter version 3
October 03, 2018 05:14PM
Hello all. I am new to the forum. I have been printing with stock machines (wi3, cr10, TevoTornado, Monoproce Minidelta) for three years now. I requested to enter the forum because I am interested in the hangprinter, and when I was building a BOM for the hangprinter v3.3 I noticed that the mecharduinos are out of stock and will not be back in the market until December. I also had no luck finding anything in the used market. I was going to ask if it was possible to use an alternative system like O-drive, but it seems like the topic has been brought up already since I have applied. What kind of motors are you guys using with your O drives for the Handprinter? Also, as someone with not a lot of coding experience (matlab at best) do you think I will have enough experience to be able to set up the electronics? I am an engineer by trade, but I havn't had much experience outside of CAD programs and Matlab in the last three years. How difficult will it be for me to get O-drive working with the hangprinter code? Should I dive in?
Re: Hangprinter version 3
October 04, 2018 07:04AM

Welcome to the endless adventures of building RepRap machines winking smiley

I do not know any Hangprinter using O-Drives so far. But in my opinion it is a good solution, but more expensive than Mechaduinos. With O-Drives one can use very cheap but good and powerful motors from the mass market (e.g. hoverboard hub motors). I would love to see someone using O-Drives with the hangprinter. But I would recommend a first build and run of the manipulator/geometry/ with stepper motors and stepstick or other drivers. You can later update the motor control and the firmware.

You can build and run the Hangprinter without Mechaduinos. You will have to measure the physical space and put this data in the firmware. For auto-callibration you'll need Mechaduinos, but the machine can run without. It is not too much work to upgrade to Mechaduinos at a later stage of the build and start running the machine without Mechaduinos first.

Do you have experience with Matlab and Simulink? Are you interested in ROS (Robot Operating System) as well?

Edited 3 time(s). Last edit at 10/04/2018 07:01PM by Dahah.
Re: Hangprinter version 3
October 04, 2018 07:13PM
PS: You should dive in! It is a very nice machine.

Edited 1 time(s). Last edit at 10/04/2018 07:14PM by Dahah.
Re: Hangprinter version 3
October 08, 2018 12:21PM
Thanks for the update. That could very well be a bug in the enable-D-motor logic..

An oDriven Hangprinter experimental build is on its way. The Mechaduino/Smart Stepper encoder chips are out of stock worldwide, and @madcowswe has been sent me motors, encoders, and oDrive boards that I can experiment with in the meantime smiling smiley See Bountysource september update and Twitter.

The current prototype drawings include this motor link to Hobbyking, which is discontinued. They are at least semi-appropriate. I've had them up and running just to get a feel for force and stiffness. I don't have much experience yet, so I can't give detailed BLDC advice. But do get high resolution encoders. That allows stiff position control even if movements are small.

I agree with Dahah that it can be smart so take small steps by doing stepsticks first, then Mechaduinos/Smart Steppers, and then oDrive/BLDC. The best choice depends on your time/money budgets and previous experience.

Edited 1 time(s). Last edit at 10/08/2018 12:37PM by tobben.

Re: Hangprinter version 3
October 15, 2018 08:32PM
@tobben Have you documented the wiring needed for I2C using the Smart Stepper? I can't seem to find it. I believe we would use two pins from the LCD. Can you clarify?
Re: Hangprinter version 3
October 16, 2018 02:06AM
The I2C pins are called SDA and SCL, and often have the numbers 20 and 21. Look for it on the silk screen.

Re: Hangprinter version 3
October 16, 2018 06:52AM
Double checked this once I got to my office. Turns out only the LCD has SDA/SCL printed on the silk screen. Zooming on the picture on misfittech.net is a workaround if you don't have the LCD. Looking at the PCB with the USB port pointing left and the power connector facing upwards/away from you, the four LCD input holes are called GND, VCC, SCL, SDA, in that order. Hope this helps smiling smiley

Re: Hangprinter version 3
October 16, 2018 03:54PM
I looked through the code and figured that since you were using the Wire libraries that the pins were the same as the SDA and SCL. And I did the same thing you suggested: I looked at the LCD silk screen to figure out which pins were SDA/SCL. I got that working. Thanks.

Next question. What config changes to the Smart Stepper have you made? Specifically, what did you set for your "holdcurrent" and "maxcurrent"? I am having some troubles getting the motor to turn under load.
Re: Hangprinter version 3
October 17, 2018 11:12AM
I have bad and good news...

I put my mechaduinos in the shelf, they are good (and expensive) bricks . I have 4 and 2 are damaged (in the soldering proccess I suppose, but is the first time I have this problem). With 2 operational mechaduinos can't follow this path.

I have changed to standard 8825 drivers and finally mi Hangprinter is finished. It moves smoothly and soon I hope the first print. I see that ABC lines slack when I move up in z axis. I suppose that is a calibration issue. A trick to solve this could be insert a command in gcode file (to pull a little the ABC lines). Each 10cm for example. Is it a good idea? I'll try to calibrate better but I think this trick could help.

Next week will be in bilbao Maker Faire with my Hangprinter. I will make a lot of pictures, stay tuned smileys with beer
open | download - IMG_20181011_125358_102.jpg (187.8 KB)
open | download - IMG_20181011_134901_297.jpg (91.2 KB)
open | download - IMG_20181015_171532_996.jpg (160 KB)
Re: Hangprinter version 3
October 18, 2018 08:50AM
I want to experiment with clay extrusion. Is it possible to run the hangprinter without heater and thermistor?
Re: Hangprinter version 3
October 18, 2018 10:44AM
I recommend asking in the Mechaduino and Smart Stepper documentation and forums for how to best tune them.


Yes, we have stock Marlin, so same support as with other kinematic systems. To run without thermistor, look for dummy thermistor option in Configuration.h.

Re: Hangprinter version 3
October 21, 2018 08:49AM
@tobben I'm working to get this firmware installed and working: [gitlab.com]

I currently have 3 smart steppers on ABC. They seem to be working. Since I only had 3 working smart steppers, I decided to use a mechaduino on the D axis. After installing the Hangprinter Marlin FW on the RAMPS, my preconfigured mechaduino didn't seem to be moving. I decided to try moving change FW for the mechaduino to the smart stepper FW.

Now, I can give the D stepper a torque command and it will turn as it must use I2C commands to move it. I can't get the stepper to respond to STEP/DIR commands.

I tried moving the STEP/DIR wires from my working A Smart Stepper to my D Mechaduino and give A movement commands. No movement.
I tried moving the STEP/DIR wires from my non-working Mechadino to my A Smart Stepper and give it D movement commands. No movement.

I think I have two problems/questions:

  1. Is there a configuration change I need to make tell Marlin to use the E1 stepper as the D axis? I can't recall doing this with past FW configuration.
  2. Is there a configuration change in the stepper_nano_zero FW (aka Smart Stepper FW) to tell it to use D0 and D1 pins for STEP/DIR?
Re: Hangprinter version 3
October 21, 2018 09:13AM
I just rolled back to the original Mechaduino FW and am able to move the stepper motor by plugging it into my A STEP/DIR wires. That gives more evidence that I missed a configuration in the stepper_nano_zero FW. Now looking through RAMPS code to try to figure out why E1 is not sending STEP/DIR commands

Edited 1 time(s). Last edit at 10/21/2018 09:38AM by gamike.
Re: Hangprinter version 3
October 21, 2018 10:04AM
I just rolled back to an older Hangprinter/Marlin FW (this is one I had from GitHub called "Marlin-bugfix-1.1-2.x_hangprinter") and I can now control the D stepper. I'll try to comb through the FW code to see what is different.
Re: Hangprinter version 3
October 21, 2018 01:01PM
The latest Marlin I've had running myself is the one that was used during the latest Hangprinter Assembly Workshop. Here:
Look through Configuration.h to make sure it matches your machine. HAW2 used double mechanical advantage on ABC, even it that's non-standard:

Two commits were added right before the Marlin merge, without hw testing as far as I know. I suspect they included an error into Marlin.h and/or pins.h that makes D-motor not work.
The first commit it this:
The second one is this:

The pull request thread itself (here) has also changed. Tinkyhead did a review on Marlin.h, and I reviewed his review, and everything looked ok, but that discussion is gone, and changes happened afterwards that I wasn't aware of.

I'm looking into it real quick, but I have limited time for further doing investigations myself right now, so your help is greatly appreciated smiling smiley

Re: Hangprinter version 3
October 21, 2018 03:52PM
Ok, so I found the bug deep deep in there. Fix is pushed to Gitlab.

For details on the fix, see the commit: link to the commit.

Sorry, only registered users may post in this forum.

Click here to login