Announcement

Collapse
No announcement yet.

Duet Controller back button not working

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Click image for larger version

Name:	04.jpg
Views:	52
Size:	757.3 KB
ID:	1627431

    Comment


      #32
      Click image for larger version

Name:	05.jpg
Views:	51
Size:	495.4 KB
ID:	1627433

      Comment


        #33
        Click image for larger version

Name:	06.jpg
Views:	55
Size:	1.17 MB
ID:	1627435

        Comment


          #34
          Click image for larger version

Name:	07.jpg
Views:	54
Size:	456.7 KB
ID:	1627437

          Comment


            #35
            So the domed click button is attached to the front side of the circuit board. I can't see any oxidisation and there is nothing to spray with contact cleaner.

            I powered it on and tried pressing the back dome with a plastic spudger but it still didn't work.

            It made the click sound though.
            Last edited by MrTeroo; 2023-01-18, 13:19.

            Comment


              #36
              Originally posted by MrTeroo View Post
              So the domed click button is attached to the front side of the circuit board. I can't see any oxidisation and there is nothing to spray with contact cleaner.

              I powered it on and tried pressing the back dome with a plastic spudger but it still didn't work.

              It made the click sound though.
              great pictures, thanks for documenting this. Unfortunately, I think you are stuck with removing a click it. There are test points (the "TP") on the board, but without the schematic, we have no idea how they are used, and if they would give any kind of matrix (the keys) status check.

              If you are still hesitant to do the surgery, one thing that might help is to get the part numbers off as many of the IC's, possible, especially and ones that are near the white area that holds down the clickits.

              <Disclaimer - I wrote this (below) and thought about just deleting it, thinking I really got carried away, and probably did, but what the heck, decided to publish >

              My thought is this, and it's probably going down a real rabbit hole, and might not be worth it, but hey, why not. All of the buttons, and the rotary switch ("zippy") are probably matrixed. That is, they are connected via rows and columns. Best described with an example. 16 switch points (click or rotary) -> 4 rows, 4 columns. It only uses 8 I/O for the uprocessor. Each of the, say columns is turned on in sequence, and each row is read (or visa versa). If a button is pressed at, say column 3, row 2, when column 3 is turned on, if row 2 reads "on" then we know that switch is pressed.

              This scanning might be done by the main processor, in which case we are dead in the water, but if one of the IC is actually a scanning IC, like those used in IR remotes, then we would know (from the IC data sheet) which pins (at the IC) are the rows, and which pins are the columns. Then, we can determine the row and column for each of the switch points. Example (C,R) 3,2 is pin x and y. https://pcbheaven.com/wikipages/How_Key_Matrices_Works/

              You could then use a multimeter on continuity (Ohm) and a steady hand, battery removed, place them on the IC pins, verify no continuity, press the switch point, verify continuity/or not. If you see this working for, say the home switch, but not for the back switch, then your clickit is bad.

              It's allot of work for a hope and a prayer. It's quite possible that the main controller does the matrix work, however, quite often the I/O needed for the matrix is more than the designer can assign to the microcontroller, so a cheap matrix IC is added. The other benefit is the matrix IC does some switch debounce as well. As an example (what, another example?) 32 switch points can be encoded into 5 place binary number (25), The processor would then communicate using these 5 I/O lines (or one line and communicate serially) with the matrix controller that would use, say 6 rows and 6 columns (6x6 = 36) to detect switch presses to report back to the microcontroller. Example, switches 0-31, say 00101 - switch 5 is pressed. So either 5 lines is used, or the number 00101 is communicated serially on one line. Here is an example of this kind of device https://www.ti.com/lit/ds/symlink/lm...oogle.com%252F


              So the first step would be to get some IC numbers, then look up the datasheets. If we can find a matrix controller, you may be able to test your back button's health.

              Or you could just look for another controller on ebay

              Jim

              Comment


                #37
                Thanks Jim,

                I do have another controller. I only use them to set up the receivers initially.

                The back button not working is only a minor inconvenience, but I enjoy fiddling with things.

                Where would I buy some click it domes? It's 3.5mm dia

                Comment


                  #38
                  Originally posted by MrTeroo View Post
                  Thanks Jim,

                  I do have another controller. I only use them to set up the receivers initially.

                  The back button not working is only a minor inconvenience, but I enjoy fiddling with things.

                  Where would I buy some click it domes? It's 3.5mm dia
                  Fiddling, me too. Often I end up with a mess that I end up tossing. Other times I put hours into fixing something worth $10

                  I have no idea on sourcing the domes. Problem is there would probably be a pretty high minimum quantity. Maybe you could pull the back one off to see what you have, and maybe swap it with another that you never use? It's quite possible that if you pull it off cleaning might help?

                  If you do manage to get some IC numbers, let me know.

                  Jim

                  Comment


                    #39
                    I once started washing my Triumph Herald 13/60 convertible and decided to deal with some rust around the heater box.
                    Well, one thing led to another and two months later the whole car was completely dismantled ready for restoration

                    Comment


                      #40
                      Some points, somewhat from memory, so e&oe:

                      The keys are, indeed, “matrixed”, the matrix being driven by some of the SOC’s GPIO pins. The CPU does the scanning, interrupt driven.

                      Here’s to be found (some of) the relevant kernel code: https://github.com/ralph-irving/sque...vers/char/jive

                      The relevant Linux input device is /dev/input/event2.

                      A cat /dev/input/event2 will react “nicely” to the pressing of keys. This might give a backstop confirm that “yes, indeed, the hardware is not responding to this particular key”.

                      Comment


                        #41
                        Originally posted by MrTeroo View Post
                        I once started washing my Triumph Herald 13/60 convertible and decided to deal with some rust around the heater box.
                        Well, one thing led to another and two months later the whole car was completely dismantled ready for restoration
                        It's the old "while I am at it....uh oh..."

                        Comment


                          #42
                          Originally posted by mrw View Post
                          Some points, somewhat from memory, so e&oe:

                          The keys are, indeed, “matrixed”, the matrix being driven by some of the SOC’s GPIO pins. The CPU does the scanning, interrupt driven.

                          Here’s to be found (some of) the relevant kernel code: https://github.com/ralph-irving/sque...vers/char/jive

                          The relevant Linux input device is /dev/input/event2.

                          A cat /dev/input/event2 will react “nicely” to the pressing of keys. This might give a backstop confirm that “yes, indeed, the hardware is not responding to this particular key”.
                          Thanks for clarifying. I tend to think very simplistic and 80's electronics because allot of my consumer product experience is very low cost/simple (toys, infant monitors), and, I am on the older side Of course when you have $ to spend a SOC or uP can do everything.

                          I really have no idea how to even start your suggestion, but then again, all my back buttons work!

                          Jim

                          Comment


                            #43
                            Originally posted by Redrum View Post

                            Maybe you could pull the back one off to see what you have, and maybe swap it with another that you never use? It's quite possible that if you pull it off cleaning might help?


                            Jim
                            If I take it off, how would I reattach it?

                            Comment


                              #44
                              Originally posted by MrTeroo View Post

                              If I take it off, how would I reattach it?
                              not sure, I didn't watch the end of that video! . It looks like (in the video) it is held in place by that overlay that is adhesive back. It looks similar in your pictures. Maybe you could do the same with some sort of thin tape, but please don't quote me.

                              One way you could look at it. It's not working anyhow....

                              Comment


                                #45
                                I had a thought about this... mrw let me know if you agree. - If all of the other buttons work and the scroll wheel turned slowly works smoothly (i.e. it looks like each discrete position of the rotary switch works), then it has to be the mechanical click it. My reasoning - If the buttons are matrixed, and any port on the SOC, or any discrete device in line, like a buffer, is faulty, then either a row or a column would be missing, causing more than the one button to be bad. Even if it was a trace on the pcb this would be true.

                                So, it is most likely, especially given the mechanical nature of the clickit, that the problem must be in that area

                                Jim

                                Comment

                                Working...
                                X