Fluid Dial (Fluid NC dial pendant by Bart Dring, using M5 Stack's M5 Dial)

Well, here’s another mishap I figured I’d share for everyone to learn from:

When I first got my M5Dial, I noticed a rattling sound inside the case. I took off the orange bracket on the back of the unit and pried the StampS3 board up enough to shake out a loose screw. I was slightly disappointed in the quality control, but just assumed it was an inconsequential mounting screw for the PCB and carried on.

After getting through the issue I had with VSCode I was happy to have a fully functioning pendant. As I was performing motor direction tests with my new Jackpot board, I noticed one of the connector pins for my pendant had a poorly crimped wire. I disconnected the pendant, recrimped and pinned the connector, and plugged it back into the Jackpot. The pendant powered on as usual, but showed a “N/C” message. I assumed I had accidentally reversed the UART (TX/RX) pins, so again I unplugged the pendant, swapped the pins, and plugged it back in.

This time, the LED buttons on my pendant illuminated, but the screen did not. I checked the back of the dial and noticed that there was a red light on which was visible through the gap near the USB C port. So the device was still receiving power, but was not visibly turning on.

I brought the pendant home and tried reflashing as per the directions from some of the devs on the FluidNC discord server. My computer gave a “Device not Recognized” warning when I plugged into USB. I tried reinstalling drivers, uninstalling the device from device manager and plugging back in, as well as the “bootloader” trick of holding the S3 button and then pressing the reset button on the back of the dial, however I was not able to get the device to be recognized. No recognized device, no COM port, no flashing.

I was at a loss as to what could be wrong, so I decided to open the dial up to check for physical damage. I was curious how to get inside the dial anyway, so I guess now was a good time to learn.

After taking off the orange bracket and carefully prying the S3 board out from its pins, the first thing I noticed was two screw holes. One had a screw, but the other was clearly the origin of the loose screw I found when first programming my dial. I removed the second screw as I presumed it held the display PCB to the main PCB. I found that the orange bezel on the front of the dial can carefully be pried to release the four retaining clips which mount it to the face. After the two screws and orange bezel are removed, you can carefully pry the display straight up, disconnecting the pins between it and the main PCB. The grey outer ring is connected to the central black rotary sensor shaft by four retaining clips. These can be depressed and carefully lift the grey ring off. Next is a floating orange ring with two springs on it, which provides the bezel button spring function. This is not retained and can simply be lifted off. The last step is to remove three screws which mount the motherboard PCB from the grey back case. At this point you could swap out the JST connectors to the more common style if you wanted.

Regardless, I found that the one missing screw was actually missing from a metal stand off between the motherboard PCB and the display PCB, and located very close by… silkscreen lettering of “GND”…

So I’m left with two thoughts: That metal standoff facilitates a connection for the display and motherboard, and the lack of a mounting screw allowed for a slight disconnection with a small physical bump to the pendant, OR that in the process of swapping the UART connection, the temporary TX to TX connection caused damage to the internals of the display. I have never experienced a device actually being damaged by a short mismatching of the UART, but it is certainly possible that the M5Dial is not able to tolerate this.

I would advise caution to ensure you have two visible mounting screws beneath the S3 board on the back of the dial, and to ensure you do not accidentally mismatch your RX/TX wires. As of right now, and as far as I can tell, my M5Dial is dead :frowning: I would hate for this to happen to anyone else.

If anyone has any suggestions, I would be more than willing to try. Otherwise I suppose I will be ordering a new one and taking these precautions while installing. Luckily Digi-Key and Mouser both have much faster and cheaper shipping to Canada!

3 Likes

So sorry for the trouble you had. Hope you get it sorted out…

Latest version of the pendant firmware should automatically switch to the Status screen when running a job.

1 Like

Cool!

Worked perfectly Doug!
thanks!!!
(that quote didnt work properly, it was supposed to show the simple instructionsabout halfway up, they worked perfectly)

1 Like

hi i have installed the Fluid dial pendant code with vscode.
All seems to work except the icons are not displaying they are all grey circles. Could anyone point me in the wright direction on how to fix this.

It sounds like you still need to upload the file system, which is a step described in my post quoted below, here noted in bold:

1 Like

Do one of the following to install the littefs and files, and repeat any time the files change:

  • Option 1: Send pio run -t uploadfs at the PIO terminal
  • Option 2: In VS Code, click on the PlatformIO icon on the left side menu (as you would to “build” and “upload” to the M5Dial), and under the “Platform” section, tap on “Build File System Image” and “Upload File System Image.”

I made the same mistake.

1 Like

@DougJoseph
I finally have all my electronic parts. I have the pendant connected to the Jackpot. The M5 dial works but the buttons don’t. My buttons have 4 pins. I connected the wires to the + and - pins. I saw your buttons have 4 pins also. How did you wire your pins?
IMG_8828

So on buttons without LEDs, there are only two pins. For LEDs to be added, two more pins are needed. Two of the pins are for communicating the button’s state (closed or not), and the other two are for powering the LED.

I took my incoming 12V power, and split it three ways. One of those splits went to a button, another to a button, and another to the pendant itself.

Your button shows “-” and “+” on a couple of the pins. That could be the two for the 12V for the LED. If not there’s only one other option!

1 Like

Plus they can (usually) be wired so the LED is either on all the time or only when pressed. The datasheet for your button should have a wiring diagram but without that just trial and error with a 12v supply and a multimeter.

When pressed there should be one pin which has continuity to ground but no voltage - that’s the one you want going to the dial.

2 Likes

@DougJoseph @Dreyfus

Thanks for the help. I tried connecting 12V to the + pin and the white wire to the other pin. The green and red LED got real bright and went out. I think AliExpress sent me the 5V instead of the 12V buttons. I tried going back to my order to see what voltage it said, but they no longer carry those buttons. I’m going to order the ones Bart linked from Amazon. At least they will be here tomorrow instead of a month later.

Hmm. The photo you sent says 12v on the plastic. But that may not match what’s in it

I see LA128 12A and WYOY. I have no idea what WYOY means.

Ugh. I thought it was 12v. Sorry.

1 Like

I finally have a working Dial! My new buttons showed up today. Thank you @DougJoseph for spearheading this. I really like using the Dial to home and jog my MPCNC. I haven’t tried running a file yet.


6 Likes

@DougJoseph

Does your display show the Home and Probe buttons on the screen? Mine doesn’t.

DialMain

With the dev process, the screens have been tweaked over various versions. What branch are you on? I’ve currently been trying out one of the branches other than Main.

I’m using the main branch.

I’m not currently on the Main branch, and I’ve needed to do some checking on a couple of things regarding the firmware but I have not had time to get into it.

1 Like