Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Send G-Code from Arduino to Duet Wifi 2

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    7
    856
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AverageUserundefined
      AverageUser
      last edited by

      Hello, I already tried to find something about the topic but unfortunately I wasn't really successful. The plan is easy: I want my DIY-Controller with buttons to communicate with the Duet Wifi 2 Board. If I press Button X, I want to home Axis X.. if I move the Joystick, I want the toolhead to move... Somehow I need the arduino to send g-Code to the Duet Board. Any suggestions/tutorials/help is more than welcome. I want to know how to start and not break my lovely Duet Wifi Board. ^^
      Thank you
      Filip

      JoergS5undefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @AverageUser
        last edited by JoergS5

        @flipil Hi, you have a lot of options, but one interesting thread which discussed it is https://forum.duet3d.com/topic/11389/cnc-style-pendant Your requirement reminds me of a CNC Pendant, so this discussion may help you.

        If you connect Arduino, you have to find a protocol and if it's a 5 V based Arduino (most are), you often need to use a level shifter between Arduino and Duet. You could avoid it by using a ESP8266 shield with Arduino and transmitting G-Code through WiFi. But this may be too slow for you. It depends on your requirements.

        1 Reply Last reply Reply Quote 1
        • A Former User?
          A Former User
          last edited by

          Imo the easiest is to just use an esp8266 board (with the esp8266 core in Arduino IDE) and connect to the PanelDue serial port if this is free. The port provide 5v supply voltage and the esp8266 has 3v3 logic so no shifting is needed. Wemos d1 mini is cheap and compact, my preferred board for small projects.

          If the PanelDue port is in use then esp8266 with http or telnet over tcp/ip is another solution. Or you could also use something like a raspberry pi that connect to your duet with usb, to control the duet over a usb serial port. You could then use a cheap usb gamepad to control the pi, that in turn send g-code to the duet.

          1 Reply Last reply Reply Quote 2
          • T3P3Tonyundefined
            T3P3Tony administrators @AverageUser
            last edited by

            @flipil there are a lot of options discussed. My start question is do you have a PanelDue connected, if not, and you are comfortable using an Arduino then you can use the PanelDue header and send serial gcodes from the Arduino. As already mentioned the logic is different voltage. 3.3V to 5V logic level shifters are fairly cheap in easy to use modules like this one:
            https://www.adafruit.com/product/1875

            on the arduino you will need to establish a serial connection using a UART to the panelDue port and send gcodes and listen for the responses.

            www.duet3d.com

            1 Reply Last reply Reply Quote 1
            • A Former User?
              A Former User
              last edited by

              Another option to avoid level shifting if the esp8266 route isn't an option is to get a 3.3v arduni (usually a pro mini). It will run off 5v supply, and use 3.3v for logic.

              Or if you prefer the arduino uno type, there is this that can be used as 5v or 3.3v by setting a jumper http://www.inhaos.com/product_info.php?products_id=130 i find them quite convenient.

              1 Reply Last reply Reply Quote 2
              • AverageUserundefined
                AverageUser
                last edited by AverageUser

                Guys! Thank you so much. You really saved my life. And yes: Pendant is the word I was looking for(sorry my english is not really good) + I had no clue that I have to use 3.3V Logic. I almost started trying out to connect my Arduino with the Duet: thanks to you I DIDN'T! ^^ I'll post my results here in a couple of weeks. Shouldn't be a big problem. Again: Thank you so much!

                @T3P3Tonly: no I do not have a PanelDue connected. Could you post a picture/sketch of the wiring I have to do when using the Duet Wifi Pins(for the PanelDue) with an ESP8266?

                JoergS5undefined 1 Reply Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @AverageUser
                  last edited by JoergS5

                  @flipil here is some documentation of the PanelDue connection: https://duet3d.dozuki.com/Wiki/Connecting_an_LCD_control_panel#Section_Connecting_a_PanelDue and here: https://miscsolutions.wordpress.com/paneldue/
                  There is an interesting usage of the PanelDue connection with SmuFF, you could use it for an own ESP32 application yourself (ESP32 are really cheap): https://github.com/technik-gegg/SMuFF-Ifc and https://github.com/technik-gegg/SMuFF-1.1
                  I thought about using ESP32 with a camera and transmit the data to the Duet this way, but the ESP32 has not enough memory for 5 or 8 MP image data and camera usage is slow, so I will use Raspberry instead. But managing camera data aside, ESP32 is a great processor.
                  BTW for ESP8266 and ESP32 there are two great eBooks from Kolban, which is a "pay what you want" principle, and are very detailed.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA