Jump to content
Ultimaker Community of 3D Printing Experts
drbrcho

How to remote control Ultimaker 3?

Recommended Posts

No - I recommend a UM2 if you want to use octoprint. Hopefully some hacker good with software will figure out how to get octoprint onto the UM3 (as it has unix and everything is open source and visible).

There is no usb to connect octoprint to. Well there is but you'd have to disconnect the connection between the two computers inside the UM3. And at that point you might as well buy a UM2.

Share this post


Link to post
Share on other sites

By the way you can also use ssh to connect to you UM3 if it's in developer mode (easy to do on the front panel). Then you can send any gcode by typing. It's not perfect if you are a slow typer but allows full control. Let me know if you need details.

Share this post


Link to post
Share on other sites

Thanks for the replies. I am experiencing some problems with the ultimaker3, having it for like week or two. The reason why I wanted to try remote control is because I could hear some clicking sounds when it is printing. Wanted to determine is it something on the Y axis or X axis. As with octoprint you can move each one of the axis with different speed, distance etc. I did find out that simply most of the screws holding the side panels where not tighten as well as I needed to move one of the pulleys towards the right panel of the printer. The clicking was reduced (it did not go away completely) but then I saw that the belt of the Y axis stepper is touching the cabling on the Y endstop. Getting rounded edges on squares not sure is it because all of this. I have been working with few different brands of 3D printers never experienced something like this out of the box. Not sure should I start topic somewhere else in the forum because of this.

Share this post


Link to post
Share on other sites

I have the clicking noise on mine aswell. But i seem to have figured it out to be the z-axis stepper motor moving the build plate up and down.

Because of the active levelling the build plate is adjusting all the time according to where the print head is located. If you start a print, and touch the z-axis screw, you can feel the clicking by the motion of the axis.

Share this post


Link to post
Share on other sites

You can remote control the printer by using the API but I've noticed X and Y control are specifically broken ATM, probably since nobody is using it (Z works fine).

I'll was thinking about adding a web-page with a jog wheel to play around with sending motions since it's still requested occasionally, but that would still require authentication atm.

But Octo-print for a UM3 would be a step down IMHO, no queue, no high speed serial link, no certainty of transmission of gcode, etc.

And the serial output to marlin should only be touched by one program at a time...

Currently the easiest way to move the X and Y around manually is:

  • Set your machine to be in developer mode in system -> maintenance -> diagnostics -> developer mode (this also opens large holes in whatever security measures the machine has)
  • use putty or ssh to log in to the machine with the usename/password both as ultimaker
  • in the (cmd) prompt, type sendgcode to make the printer move

if you send the Gcode: G28, followed by G1 X100 you move the head to the ~middle of the X axis.

Share this post


Link to post
Share on other sites

For limited control (no x/y axis though) you can use the UM3 app(s). It allows you to load custom .gcode files and start a print remotely.

@drbrcho: Loose pulleys and screws is definitely not something you can expect from an UM. I would contact your re-seller and ask for help. This shouldn't have slipped through QA...

Share this post


Link to post
Share on other sites

Thanks for the suggestions guys. Currently I did enable the Dev mode connected with SSH and was trying some commands. What seems weird is the behavior when moving the Z and Y axis ( somehow I do not have problem with the X ).

For example:

I send "G1 X10" so the X axis should be moved 10mm (1cm) that works fine but when I need to move lets say Y axis with the same command "G1 Y10" it does not move 10mm but instead from home position goes all the way trying to hit itself :Dsomething similar happens with the Z axis. I am not sure what I do wrong in that case. I have been looking up the RepRapWiki for all the commands and explonation with them. Also if you moved ahead axis with 10mm how you move it back with 10mm tried negative value did not work quite well :/

@Connect3d: Yes if you are using active leveling there will be clicking noise coming out off the Z axis.

@robinmdh: Thanks the info was of a big help!

@Nicolinux: Everything was solved by tightening the screws and pulleys I am sorry to say that I am not satisfied with the re-seller here in Denmark at all...

EDIT: I figured it out, basically with the Y axis if I want to move it only 5mm need to use G0 Y210 ( as to total distance for Y is 215 so placing the Y at 210 means it should be moved 5mm ) same goes for the Z, so negative values do not work here. Figured that out by homing with "sendgcode G28" and "sendgcode M114" to get current position.

Edited by Guest

Share this post


Link to post
Share on other sites

EDIT: I figured it out, basically with the Y axis if I want to move it only 5mm need to use G0 Y210 ( as to total distance for Y is 215 so placing the Y at 210 means it should be moved 5mm ) same goes for the Z, so negative values do not work here. Figured that out by homing with "sendgcode G28" and "sendgcode M114" to get current position.

you can also switch to relative coordinates but I don't recommend using that in production gcode on the UM3 ...

// G90 - Use Absolute Coordinates

// G91 - Use Relative Coordinates

so G91 and then a G1 Y10 would just move the Y axis back 10 mm and -10 would go forward(towards front of machine)

Share this post


Link to post
Share on other sites

When I am doing this kind of thing I am often doing:

G92 E0

Which tells the E axis that wherever it thought the E axis was - ignore it. It's not at 0. You can do this with non zero values and other axes but I only do it for the E axis.

Share this post


Link to post
Share on other sites

EDIT: I figured it out, basically with the Y axis if I want to move it only 5mm need to use G0 Y210 ( as to total distance for Y is 215 so placing the Y at 210 means it should be moved 5mm ) same goes for the Z, so negative values do not work here. Figured that out by homing with "sendgcode G28" and "sendgcode M114" to get current position.

This 'strange' behavior is perfectly understandable when you realise the printer's 0, 0, 0 (x, y, z) coordinate is at the left front top, but the printer homes at the location where the endstops are, i.e. at the left rear bottom.

So, the printer homes at 0, 215, 210

Share this post


Link to post
Share on other sites

I am interested in this topic. I am a quadriplegic and I have a UM3. I have very limited use of my fingers. Rotating and pressing the dial wheel is very difficult for me. I am very comfortable using computers however, and I can develop small utilities in a number of computer languages.

Can all of the actions and required responses of the dial wheel be accessed in deleloper mode through SSH (or any other means)? Currently I am moving from my computer in Cura and my modeling programs to my UM3, I struggle with the dial using my knuckles and frequently select the wrong menu item. Any help with this will be great. If the information is available in some documentation that's all I need.

Share this post


Link to post
Share on other sites
On 12/25/2017 at 7:31 PM, CapableQuad said:

Can all of the actions and required responses of the dial wheel be accessed in developer mode through SSH (or any other means)? 

 

There is a lot that can be done using the WEB API.

Some things cannot - like manual leveling which uses the rotation to move the bed or move materials in the menu (again, rotation).

 

Share this post


Link to post
Share on other sites
On 25-12-2017 at 7:31 PM, CapableQuad said:

I am interested in this topic. I am a quadriplegic and I have a UM3. I have very limited use of my fingers. Rotating and pressing the dial wheel is very difficult for me. I am very comfortable using computers however, and I can develop small utilities in a number of computer languages.

You are hijacking this thread. Your question is related but not identical since you are looking for an alternative control method and not necessarily for remote control (which makes no sense when you have to perform actions like replacing material). Best is to post your question in a new topic.

 

Back to your question:

I replaced the knob on my printer by this one.

 

The UM3 houses a Linux computer where the knob simulates a computer mouse. I don't have access to an Ultimaker at the moment but it is very well possible that when you connect a mouse to the UM3 USB port that it will already respond to the vertical scroll wheel. Pressing enter on a keyboard has the effect of clicking the knob. Add a small USB hub and you can still use it for the USB-sticks as well.

 

Would a mouse or similar device be an option for you? If yes, then we could add a new feature to respond to a mouse click in addition to the enter key.

Share this post


Link to post
Share on other sites

Sorry if I confused some of the responders. Just to be clear, I am interested in the "remote control" of the UM3. In other words, complete control of the UM3 through some action other than the of physical input and response through the UM3 "jog and select" wheel. Also, not through the use of a mouse, either physically connected, or remotely connected to the UM3. I control and recieve response from a number of devices already using SSH. I am looking for a little discussion and documentation as to the functions available using SSH as it relates to the UM3. Would you consider this request a separate topic?

 

l agree, an alternate means of direct input using an enhanced "jog and select" wheel or mouse deserves some attention and should be addressed in a separate topic. Please point me to that discussion, or I can start a new one.

Share this post


Link to post
Share on other sites

The preferred and official method for remote controlling the UM3 is through the web API. Full documentation for this can be found through the link on the printer's home page and a walk-through here on the forum by David: https://community.ultimaker.com/topic/15604-inside-the-ultimaker-3-day-3-remote-access-part-2/

The web API allows (almost) full control of the printer, except for simulating user input on the dial knob. If a feature is missing here you can do a feature request and argument why you think this should be added.

 

SSH is a way for remote accessing the printer but not intended for remote control. You get full access to the Linux OS and can change many of the printer's properties and behaviour but you don't 'control' the printer.

What you can do is logging in as the ultimaker/ultimaker user which gives you the 'commandtool' prompt. A very powerful interface into the python running code of the UM3. For example you can execute the sendgcode command to send raw gcode instructions to the motion controller. Very nice, but not supported and difficult to automate.

 

I haven't seen a discussion here on the forum on alternate means of direct input but never looked for it either, it was just something that came to mind thinking about people with limited hand control. I don't know if more people are interested in such a feature so you might start a new topic to poll interest.

Share this post


Link to post
Share on other sites
Quote

 

The UM3 houses a Linux computer where the knob simulates a computer mouse. I don't have access to an Ultimaker at the moment but it is very well possible that when you connect a mouse to the UM3 USB port that it will already respond to the vertical scroll wheel. 

 

Nope that will not work. Technically speaking, a mouse probably will be detected, however the mapping to use it for input is completely missing.

 

Quote

Pressing enter on a keyboard has the effect of clicking the knob.

That might not work either...

 

Quote

Add a small USB hub and you can still use it for the USB-sticks as well.

Similar to using a mouse(wheel), device mapping to input signals is not implemented.

Share this post


Link to post
Share on other sites

We don't offer full remote control for a reason. As quite a few actions you need to be present at the machine to properly/safely operate. Most things you do want to do remotely, can be done with the API.

 

(Just for reference. The rotation button is implemented a mouse wheel, with an "enter" keyboard button on a linux level. However, the display code ONLY opens hardware devices on startup, which is most likely why it's not picking up any other connected mouse)

 

(I do have a python script that can be installed on the printer that allows full display control trough a web interface. Horrible hacked together piece of software, but occasionally useful for debugging at the office)

Edited by Daid

Share this post


Link to post
Share on other sites

Thank you for the reply @Daid! 

I understand the safety/security/operational requirements to be present at the machine. My need is more a physical one. I am a quadriplegic. The UM3 is 1 meter away from me but I cannot adequately operate the control (turn the dial and push select) but I can operate the interface of a screen input (tablet, smartphone, touch screen etc). In the sense that I wish to use a separate input interface, this is the type of remote control I am looking for. 

Perhaps I should open a new topic?

  • Like 1

Share this post


Link to post
Share on other sites
49 minutes ago, CapableQuad said:

Thank you for the reply @Daid! 

I understand the safety/security/operational requirements to be present at the machine. My need is more a physical one. I am a quadriplegic. The UM3 is 1 meter away from me but I cannot adequately operate the control (turn the dial and push select) but I can operate the interface of a screen input (tablet, smartphone, touch screen etc). In the sense that I wish to use a separate input interface, this is the type of remote control I am looking for. 

Perhaps I should open a new topic?

Never thought of it. That's a perfectly valid reason to improve on this situation!

 

Is only better input handling enough?, or do you also need a better view of the screen?

 

Is there any type of hardware input device that you might want to hook up to provide input instead? (USB joystick comes to mind) I don't know what your ideal situation would be for your specific situation. Better admit at being clueless then assuming the wrong things :-)

Edited by Daid

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Terms of Use Privacy Policy