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

    attaching a joystick / gamepad / industrial controller ..

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    8
    20
    1.3k
    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.
    • A Former User?
      A Former User @A Former User
      last edited by

      @bearer said in attaching a joystick / gamepad / industrial controller ..:

      fastest solution would be keyboard mapping in the web interface and a usb gamepad (which can be wired or wireless)?

      i'm on the fence for the stable version 3 of the firmware before i jump in that

      Where would you attach that gamepad ?
      My computer might not be near the printer and I don't see a USB port on the duet board.

      I'm running a RRF3 already but not sure how that changes anything? Is there some additional stuff related to this in RRF3 that I missed?

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

        Not having the computer near would be an issue yeah, although i would attach it to the Raspberry Pi.

        With respect to RRF3, conditional g-code and variables

        1 Reply Last reply Reply Quote 0
        • EasyTargetundefined
          EasyTarget @A Former User
          last edited by

          @smece said in attaching a joystick / gamepad / industrial controller ..:

          Is there some additional stuff related to this in RRF3 that I missed?

          as @bearer noted, a Raspberry PI with 4 usb ports and a CPU that can send the relevant gcode to the Controller. That seems like the best route; no additional hardware needed.

          Disaster? The original Printeye is dying with RRF 3.5 (M208 depreciated).
          PrintPy2024 to the rescue!
          MicroPython based; with simple wiring and and no custom PCB.

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

            might not be the easiest if you don't have say the Pi or Computer connected to the Duet, for the Duet 2 (until its available with the same Pi connector as the Duet 3) the only advantage of using a Pi over something like an ESP8266/ESP32 is that you can use readily available game pads and higher level language compared to the ESP range, but C/Processing is still fairly high level - but not the hardware side of the joystick.

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by dc42

              You might want to search this forum for "CNC pendant" because that's a related topic.

              BTW the PanelDue hardware includes provision to connect a rotary encoder. If anyone is sufficiently interested, I can extend PanelDueFirmware to support it.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal
                last edited by Danal

                @smece said in attaching a joystick / gamepad / industrial controller ..:

                Is there a way to attach an external device to control the movement?

                The port PanelDue uses is "TTL Serial". An arduino, or ESP, or similar 3.3V device can interface to almost any input device you can think of and issue commands via this port.

                If you wish to interface via the network, a simple Telnet session to the printer (wired or wireless) accepts G-Code commands. So just send "G0 X...Y...Z..." or similar. Again, an ESP can be coded up to interface to any number of devices or encoders or even simple buttons, and send those commands up a Telnet session. VERY simple if you can get past the learning curve of ESP8266 or ESP32 in general. I pick those two because getting them on a Wireless network is a matter of a couple of statements... and there are TONS of examples.

                Delta / Kossel printer fanatic

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

                  I was looking at this earlier; maybe some inspiration too.
                  https://cncmakerzone.co.uk/make-a-grbl-cnc-pendant-with-a-bluetooth-data-link
                  This uses bluetooth serial for the command path, but would adapt trivially to a wired serial connection, and that would allow you to bring power in the same leash.

                  Disaster? The original Printeye is dying with RRF 3.5 (M208 depreciated).
                  PrintPy2024 to the rescue!
                  MicroPython based; with simple wiring and and no custom PCB.

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

                    lot of data, thank you all 😄

                    @dc42 hah, "cnc pendant", great tip, looking 😄
                    as for the encoder, would make sense but attaching encoder to my current setup is ~ same amount of work as banging a joystick on esp32 board so I would not go that direction .. as for the changes to paneldue I can suggest a "second move window" that would work like octoprint's move interface.. it makes much more sense for my fat stubs of fingers 😄 .. I'm running a 5" screen and I have issues with existing buttons even while looking at the screen 😄

                    43f30091-5831-41d2-8151-03fecd944ff6-image.png

                    prontrface interface is even better only I'd use the "whole pads" for movement and add buttons on the side for 0.1, 1, 10, 100..
                    52b7c511-68b0-48bc-816e-23d0c38d32a9-image.png

                    ideally all styles available so one can choose 😄

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

                      @bearer I do have RPI (octoprint) attached there as that's Enter5 in process of upgrade and original marlin without octoprint is imo unusable so pi is there, that's actually not a bad idea as there's probbly already a gamepad plugin for octoprint 🙂 will check .. I was not sure if pi will stay attached to this printer but looks like they DWC still isn't close to replacing it so.. we'll see

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

                        @EasyTarget sorry mate but rpi4 is not entering my home in forceable future 😄 ... I have enough devices that require active cooling here... I mostly use orangepi devices (i have 100+ of them here, running different tests with them, have only maybe 10 rpi3b+ and 5 other rpi's ... oranges are waaaaaaay better .. and I'm on the path to start using rocks too)

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

                          @Danal said in attaching a joystick / gamepad / industrial controller ..:

                          The port PanelDue uses is "TTL Serial". An arduino, or ESP, or similar 3.3V device can interface to almost any input device you can think of and issue commands via this port.

                          Yes, PD connects to Duet trough serial port, that's ok, but that's not a bus, it is 1:1 so in order to attach another serial device I'd have to remove the PD and that's not really the idea. I want another device besides paneldue, not instead of it. Only if PD have some external serial port on it that I have not seen (I don't have original PD, I got this one as a gift from a friend it's some integrated 5" lcd + controller on one board)

                          If you wish to interface via the network, a simple Telnet session to the printer (wired or wireless) accepts G-Code commands.

                          Yes, that I already tried and works, question was if anyone (@dc42 maybe) knows if allowing telnet uses up valuable resources or not. I have ton of esp8266 and esp32 modules here so it's an easy project but it's something that takes at least a weekend to make and with 2 small kids and bunch of projects.. I tend to see if there's something I can just "buy that works" rather than "make new from scratch" 😄

                          1 Reply Last reply Reply Quote 0
                          • Danalundefined
                            Danal
                            last edited by

                            @smece said in attaching a joystick / gamepad / industrial controller ..:

                            I'd have to remove the PD

                            The panel need not be removed.

                            It is perfectly OK, hardware wise, to "Y" connect to the RX pin (on the Duet) to two TX sources. The pendant/game device can transmit during quiet moments, when the Panel is not transmitting. In order to do the best possible job of that, the pendant/game should also be have its own RX pin (or a secondary RX pin) "Y" to the lash up described above, and listen before transmitting. This will not be perfect; there is always the possibility of both devices transmitting at the exact same instant (exact being defined as one character time)... however losing a single message is not a big deal in this usage scenario.

                            In short: Hook them both up. It will work amazingly well.

                            Delta / Kossel printer fanatic

                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Danal
                              last edited by

                              @Danal said in attaching a joystick / gamepad / industrial controller ..:

                              It is perfectly OK, hardware wise, to "Y" connect to the RX pin (on the Duet) to two TX sources. The pendant/game device can transmit during quiet moments, when the Panel is not transmitting. In order to do the best possible job of that, the pendant/game should also be have its own RX pin (or a secondary RX pin) "Y" to the lash up described above, and listen before transmitting. This will not be perfect; there is always the possibility of both devices transmitting at the exact same instant (exact being defined as one character time)... however losing a single message is not a big deal in this usage scenario.

                              Alternatively, route the PanelDue data through the pendant/game device, which can buffer up commands from PanelDue while the pendant/game device is transmitting.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

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

                                I checked out the pendant talk and it's mostly what I'm thinking except no ready made .. now since I'm reeeeeealy fed up with this bed constantly droping (after you add 4mm glass on top of Ender5 bed it drops like a rock when you disable drivers) and need to add that relay mod asap, I'll use the same project to draw up a simple esp board to add 2 buttons few leds and a joystick .. have all the parts lying around 😄 .. a small nokia 3310 battery with charger on board and I'm golden 🙂

                                JamesMundefined 1 Reply Last reply Reply Quote 0
                                • JamesMundefined
                                  JamesM @A Former User
                                  last edited by JamesM

                                  @smece An easy way to stop the bed from dropping is to change the lead screws from 8mm lead/pitch to 2mm lead pitch...makes quite a difference. I put them on the corexy I built which is a 6mm cast aluminum bed on it and I can sit a filament spool on it while moving the printer and the bed doesn't move. Only thing you'll have to find is new leadscrew nuts that will work if they are shaped anything like the ones on my Ender 3. I'm sure they are out there, I just never looked.

                                  EDIT: looks like it uses a standard round one so shouldn't be a big deal.

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

                                    yes, standard round one, I measured pitch on this one and it's 2mm but looks like it's 2start (or even 4start) I didn't notice that .. I should have 2mm pitch single start, few of them, just not sure if they are straight and if they are long enough.. I was actually considering switching to ballscrew 1605 but can't find the darn thing, I have few lying around here somewhere but that would be even worse

                                    1 Reply Last reply Reply Quote 0
                                    • jlipavsky79undefined
                                      jlipavsky79 @dc42
                                      last edited by

                                      @dc42 hey man, love everything you do for your community and have a question, ok... so I've seen all about the cnc pendants and the paneldue screen with encoder and such but I have a huge 4x8 avid cnc with a duet3 controlboard with a pi4 4gb wired via ribbon cable, I've seen alot of the wireless pendants with usb receiver, ( https://usa-m.banggood.com/Machifit-Wireless-Electronic-CNC-Handwheel-MACH3-6-Axis-Pulse-Pendant-MPG-for-CNC-Engraving-Machine-p-1365963.html?utm_source=googleshopping&utm_source=googleshopping&utm_medium=cpc_organic&utm_medium=cpc_bgs&gmcCountry=US&utm_content=minha&utm_content=frank&utm_campaign=minha-usg-mb&utm_campaign=frank-ssc-us-all-1108&currency=USD&cur_warehouse=CN&createTmp=1&ad_id=395572890419 ) I feel that the potential there is great!!! But.... I'm a mechanical engineer, not a software guy... what are your feelings?

                                      Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                      • Phaedruxundefined
                                        Phaedrux Moderator @jlipavsky79
                                        last edited by Phaedrux

                                        @jlipavsky79 Might want to check out these more recent threads.

                                        https://forum.duet3d.com/topic/16547/yap-yet-another-pendant?_=1604644105826
                                        https://forum.duet3d.com/topic/11389/cnc-style-pendant

                                        Z-Bot CoreXY Build | Thingiverse Profile

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