Jump to content

Manual control for Ultimaker 3 over the LAN or wifi


sinnnnna

Recommended Posts

Posted (edited) · Manual control for Ultimaker 3 over the LAN or wifi

Hi Everybody,

I like to have manual control on my UM3 over the wifi or LAN. On my previous 3d printers I was able to connect to the printer using Repetier-Host via serial port. After the connection was established, I was able to send gcodes and monitor the response of the 3D printer. But, UM3 does not support serial connection. Do you have any idea how can I manually control it?

Thank you very much in advanced.

Edited by Guest
  • Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    Manually sending g-code snippets it not possible (unless you want to hack a whole lot). Moving the head is possible by means of the API (doing a put http request on the head position)

  • Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    Yea UM3 is an open close open system so...

    You need to activate Dev mode to get SSH access to your printer then...

    SSH root@IPADDRESS

    and then you need to move to the folder

    usr/share/griffin

    There you can do

    python3 command_util.py

    to execute a program that allows direct access to the machine and send gcode commands

    Type help once inside the python, if I recall correctly the command is called sendgcode

    so you can do, for example:

    sendgcode G28 Z0

    A full control of the machine seems that isn't allowed, why? I have no idea.

    • Like 1
    Link to post
    Share on other sites

    Posted (edited) · Manual control for Ultimaker 3 over the LAN or wifi

    Full manual control was never implemented in the UM3 since there is no use case. I'm curious to hear for what serious applications you are using the manual control.

    As Nallath mentioned many of the printer settings can be controlled through the web API. Great when you want to automate some remote controlling.

    Documentation can be found at the printer itself: http://printer-ip-address/docs/api

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    >I'm curious to hear for what serious applications you are using the manual control.

    I find it speeds up experiments. For example if I wanted to experiment with different PID values it is so much easier to do this through gcodes.

    Measure flatness of glass and gantry.

    Measure x,y position of bed clips.

    Measure max possible Z printing height: if my part ends up being 1mm too tall and fails in that last mm it would be nice to know before I start the print).

    Calibrate extruder (is 100mm really 100mm?)

    And hundreds of other experiments are easier when you can type in a gcode.

    • Like 3
    Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    >I'm curious to hear for what serious applications you are using the manual control.

    I find it speeds up experiments. For example if I wanted to experiment with different PID values it is so much easier to do this through gcodes.

    Measure flatness of glass and gantry.

    Measure x,y position of bed clips.

    Measure max possible Z printing height: if my part ends up being 1mm too tall and fails in that last mm it would be nice to know before I start the print).

    Calibrate extruder (is 100mm really 100mm?)

    And hundreds of other experiments are easier when you can type in a gcode.

    +1 Can't agree more

  • Link to post
    Share on other sites

    Posted (edited) · Manual control for Ultimaker 3 over the LAN or wifi

    I now better understand how you people use the direct gcode commands. Still, I don't think Ultimaker will give it high priority since those are all tweaker use cases. When a community member posts a pull-request for a nice solution we could add it. Otherwise you tweakers already have the very powerful command utility described above.

    There is a slightly faster way to get to the command utility:

    - On the printer enable the development mode.

    - Setup a remote connection to the printer with: ssh ultimaker@

    - password = ultimaker

    By loging in like this you directly enter the command utility.

    Sending gcode: sendgcode

    How about a web page where you can control the head movements? Sounds like a solution that would cover about 90% of your tweak desires. Technical implementation is easy but I would have to do this in my spare time and designing a nice looking web page is not my thing so I could use some help there...

    Edited by Guest
    • Like 5
    Link to post
    Share on other sites

    Posted (edited) · Manual control for Ultimaker 3 over the LAN or wifi

    How about a web page where you can control the head movements? Sounds like a solution that would cover about 90% of your tweak desires. Technical implementation is easy but I would have to do this in my spare time and designing a nice looking web page is not my thing so I could use some help there...

    Please don't.  If it can't send any gcode then just don't bother.  The current "ssh" solution is great as it is.  And thanks for the "get there direct using ultimaker account" trick!  :)

    Actually I'd love a screen to move head, extruder, set temp but which then shows the gcodes it used below and a text edit box to send gcodes and in that text edit box you can hit up arrow to get most recent gcode sent. Right now I can't set the core temp through gcode unless I first heat from the panel. That enables something (not sure what) and then gcodes to set temp start working.

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi
     Right now I can't set the core temp through gcode unless I first heat from the panel.  That enables something (not sure what) and then gcodes to set temp start working.
    First you have to enable the hotends. Hotends are only allowed to be removed when disabled, so before heating commands are accepted you have to enable them.

    enable hotend 0: M145 T0

    disable hotend 0: M144 T0

    Example:

    M145 T0

    M104 T0 S150

    • Like 2
    Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    or if you are in the console you can select the hotends and set the "pre_tune_target_temperature"

    the console also has code completion in a lot of places, so you can type select and hit tab and get a list

     

    su ultimaker(Cmd) select beep                                led                                 printer                             printer printer/head/0/slot/0       camera                              material                            printer printer/bed                 printer printer/head/0/slot/1       interface.http interface/http/auth  nfc                                 printer printer/head/0              system                              (Cmd) select printer printer/head/0/slot/0(Cmd) listangle = 70current_temperature = 27.7filament_size = 2.85flat_size = 0.3hardware_revision = 0hot_zone_size = 21.0hotend_cartridge_id = AA 0.4insert_type = tefloninteraction_required = 0is_enabled = 0is_present = 1is_primed = 1last_material_guid = 506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9manufacturer_id = Ultimakermaterial_extruded = 41175material_guid = 506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9material_guid_source = USERmax_exp_temperature = 361max_power = 75max_target_temperature = 350.0maximum_temperature = 350nominal_resistance = 23.0nozzle_size = 0.4pid_Kd = 40.0pid_Ke = 0.0pid_Kff = 0.57pid_Ki = 0.2pid_Ki_max = 100pid_Kp = 9.0pid_Kpcf = 0.06pid_functional_range = 25.0pre_tune_target_temperature = 0.0programming_state = serial_number = 14db96100000target_temperature = 0.0time_spend_hot = 85756tune_offset_temperature = 0.0voltage = 24.0x_offset = 0y_offset = 0z_height = 3.7404787726917803(Cmd) set pre_tune_target_temperature 20 (Cmd) Jun 29 15:43:20 ultimakersystem-ccbdd300003f python3.4[15964]: 2017-06-29 15:43:20,352 INFO     heatableHotend  Going to enable hotend 0 to 20CJun 29 15:43:20 ultimakersystem-ccbdd300003f python3.4[15964]: 2017-06-29 15:43:20,471 INFO     heatableHotend  Going to enable hotend 0 to 20Cset pre_tune_target_temperature 30(Cmd) sendgcode M105ok N56 P15 T0:27.7/30.0@0p1e1f0/0 T1:27.7/0.0@0p1e0f0/0 B22.9/0.0@0(Cmd) 

     

    (I have journalctl running spitting out those log lines in the background in case you were wondering where those extra lines came from)

    • Like 2
    Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    Good stuff!  I'd love to see more "developer mode" tricks added to David B's already useful postings that he made right when the UM3 came out.

  • Link to post
    Share on other sites

    Posted (edited) · Manual control for Ultimaker 3 over the LAN or wifi

    Good stuff!  I'd love to see more "developer mode" tricks added to David B's already useful postings that he made right when the UM3 came out.

     

    right, well, not sure if we had the property system implemented by then, but we do now :D

    so with list you can see a bunch of values you can change with the set command for instance you could manually change the GUID of the currently selecte material as if you've clicked select material in the material menu

    set material_guid

    you can even execute code as the running code:

    exec self.startProcedure("PRINT", {"url": "file:///tmp/UM3_someFile.gcode.gz"})

    which ties to print a file on your remote machine (you'll have to upload a file first though)

    you can even authenticate yourself remotely using this method :Pbut that might be too much power, no?

    Edited by Guest
  • Link to post
    Share on other sites

    Posted · Manual control for Ultimaker 3 over the LAN or wifi

    This was my first time posting in this forum and I am amazed by your support. Thanks for all the replies especially to @neotko and @lndy31 which helped to solved the issue that I had.

    I'm curious to hear for what serious applications you are using the manual control.

    I am doing a research on statistical modeling of cyber-physical systems such as 3D printers. I need manual access because I want to accurately synchronize the data that I am collecting from the 3D printer with the instructions which are being executed on it.

    If you like to learn more, you may take look here:

    http://aicps.eng.uci.edu/papers/DATE_sujit-2017.pdf

    This is what we did with a 3D printer couple of months ago.

  • 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
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...