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

    Custom Pendant Implementation suggestions

    Scheduled Pinned Locked Moved
    Accessories and Add-ons
    7
    14
    630
    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.
    • keyz182undefined
      keyz182
      last edited by keyz182

      Hi all. From another project, I have a set of spare boards based on a ATSAMD21E18 (specifically, the Adafruit QT Py as a daughterboard), that has a rotary encoder, and a small OLED. The rotary encoder is one with a built in button, so was thinking that could be configurable as Pause or Emergency stop.

      I had the idea of repurposing the spares as a pendant for my printer. I have been looking at various ways of controlling and am wondering if others have suggestions. Are there ways I could bypass USB/Pi and go straight to duet?

      My printer is set up connected to a Pi with DSF, so thus far, ideas have been based on that,

      • USB HID Game Controller, and some software on the pi to translate to moves
      • USB Serial, TX to send moves/buttons, RX to receive XY data to display

      The I2C, SPI, and TX/RX pins are all broken out. I2C is in use for the OLED, so those pins can't be re-purposed, but TX, TX, SCK, MISO, and MOSI are free. A0-A3 are for the rotary encoder and LEDs.

      Imgur
      Imgur

      Imgur

      1 Reply Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators
        last edited by

        Perhaps this will give you some ideas, it's what I've been using for my large setup. The pendant controller is connected to the PanelDue port: https://github.com/Duet3D/CNC-Pendant-Firmware

        Duet software engineer

        1 Reply Last reply Reply Quote 0
        • keyz182undefined
          keyz182
          last edited by

          Interesting @chrishamm - so essentially firing G-Code at the printer. Would this have to replace the Paneldue though, or could both co-exist?

          dc42undefined 1 Reply Last reply Reply Quote 0
          • oliofundefined
            oliof
            last edited by

            Diabase forked the paneldue which also has pins for an encoder to build a pendant as well: https://github.com/diabase/H-Series-Pendant-Firmware

            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

              @keyz182 said in Custom Pendant Implementation suggestions:

              Interesting @chrishamm - so essentially firing G-Code at the printer. Would this have to replace the Paneldue though, or could both co-exist?

              If you follow the link that @chrishamm gave then you will see that the pendant described in that project can pass through data from a PanelDue, so that both can be served by one port on the Duet.

              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

              keyz182undefined 1 Reply Last reply Reply Quote 0
              • o_lampeundefined
                o_lampe
                last edited by

                Just a crazy idea, but when I saw that your spare boards come with rotary encoders, I thought of building a box with two encoder driven paddles, bringing Atari Pong back to (real) live.

                ...I need more coffein, still asleep

                1 Reply Last reply Reply Quote 0
                • jay_s_ukundefined
                  jay_s_uk @oliof
                  last edited by

                  @oliof said in Custom Pendant Implementation suggestions:

                  Diabase forked the paneldue which also has pins for an encoder to build a pendant as well: https://github.com/diabase/H-Series-Pendant-Firmware

                  to add to that, the normal paneldues have the encoder inputs already, it's just a case of buying one and wiring it in

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  1 Reply Last reply Reply Quote 1
                  • keyz182undefined
                    keyz182 @dc42
                    last edited by

                    @dc42 I missed that bit 🙂 Will look into it.

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @keyz182
                      last edited by

                      @keyz182 Just a "for info", I came up with a really simple idea using nothing more than a cheap joystick which has 4 micro switches. In my case, I need to jog 3 gantries simultaneously. i.e not just XY but also UV and AB. Anyway, it's just conditional gcode and macros and uses 4 spare IO pins. No interface board required and 5 conductors gives me movement in any of 8 directions (using compass point terminology that's NSEW plus NE, NW, SE and SW) https://www.youtube.com/watch?v=wCR5Ao0iH-c

                      I've since added a couple of push buttons, one which gives me fast and slow jog speed, the other will home those 6 axes.

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      keyz182undefined 1 Reply Last reply Reply Quote 2
                      • keyz182undefined
                        keyz182 @deckingman
                        last edited by

                        @deckingman Thanks, will have a watch of the video later. I do have a spare joystick, but it's a pair of pots + push button rather than 5 switches. Though that wouldn't be so hard to adapt. Would mean not using the boards I have here spare, but we'll see.

                        I think the key lesson so far is push G-Code, rather than complicating with something else.

                        deckingmanundefined jay_s_ukundefined 2 Replies Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @keyz182
                          last edited by

                          @keyz182 There are plenty of different ways of achieving the same thing. There is no right and wrong. The best way often involves using what you have lying around and doing what you personally feel comfortable with.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 1
                          • jay_s_ukundefined
                            jay_s_uk @keyz182
                            last edited by

                            @keyz182 or theres the joystick plugin for DWC that uses a standard USB game pad

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                            1 Reply Last reply Reply Quote 0
                            • keyz182undefined
                              keyz182
                              last edited by

                              @jay_s_uk got a link to that?

                              @deckingman Sure, there's also the balance of best to quickest. Sometimes somewhere in the middle is acceptable, in which case, I thinking my currently optimal choice is to take @chrishamm's code, strip out the pendant adapter, and replace with rotary encoder bits. Everything else can remain exactly the same.

                              That said, a potentially simpler approach I'm looking at could beat it - utilizing the DSF CommandConnection, along with some HID reading code. I can deal with G-Code server side, and keep the firmware simple on device.

                              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk @keyz182
                                last edited by

                                @keyz182 https://github.com/Sindarius/DWC_GamepadJogger_Plugin

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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