This is a pendant using a 2432S028 "Cheap Yellow Display" (with built-in ESP32) and a CNC Handwheel encoder. It has the same capabilities and the same user interface as the M5 Dial Pendant. Compared to the M5 Dial Pendant, the CYD Dial Pendant
Refer to the M5 Dial Pendant wiki page for user interface documentation.
The supported part numbers for the display/ESP32 are 2432S028 (resistive touch) and JC2432W328C (capacitive touch). There are many listings for the resistive version on AliExpress, Amazon, EBay, Banggood, etc. The typical price is $10 from AliExpress and $20+ from Amazon or EBay.
The capacitive version is somewhat less common; search AliExpress for "Guition JC2432W328C". Guition also makes a resistive model JC2432W328R; this code does not support that one. The Guition models can be identified by the presence of an RGB LED on the front side as shown below; the other ones have the RGB LED on the back. The capacitive version has an extra IO connector on the back that affects the wiring.
If you can source it, the capacitive version is preferable because the capacitive touch is more responsive to finger touch than the resistive touch. Resistive touch works with fingers but you need to press harder.
Search for "CNC Handwheel Encoder". You want a 60mm, 100PPR, 5V unit. Either the 4-terminal or 6-terminal version will work. They cost about $7 on AliExpress and about $18 on Amazon. You can also get them in black instead of silver.
You could also use a small rotary encoder like these
The CNC handwheel has a better feel, but is more expensive and larger. The small rotaries typically have an extra switch that activates when you press the knob down. That switch could be used for other purposes.
The CYD board has some 4-pin IO ports - the resistive version has 3 such ports while the Guition capacitive version has 4 of them. The mating connectors are JST-1.25 4-pin, also known as PicoBlade.
You can buy them with pigtails already attached, and you can also get them with Dupont connectors on the other end (recommended). When you buy the Cheap Yellow Display, it might come with one such connector with Duponts on the other end. Even so, you need a total of 3 or 4 such connectors, so you will have to buy more.
AliExpress
A nice way to connect back to the FluidNC controller is with a 6-pin RJ12 data cable. That is directly supported by some newer interface boards at the FluidNC side. The 3D printed case is designed to accept this connector.
This breakout board is very convenient.
This breakout comes with the socket and the breakout board separate, so you will have to solder the socket to the board. It does not come with Dupont pins so you might want to purchase them separately. If you solder Dupont pins into the breakout you can make the connection to the CYD board with the Dupont females on the JST cables recommended above. Or you could solder pigtails from the JST connectors directly to the breakout.
You can use this breakout on both ends, as the pinout is designed to plug directly into a 6-pack module socket.
Note that pin 6 is not populated in this picture, since neither pin 2 nor pin 6 is used for this wiring scheme. You can populate them or omit them, at your option.
You could also use an RJ45 socket and use only the middle 6 pins, but you would have to modify the case. If you get an RJ45 breakout with screw terminals, you could avoid any soldering. Or you could hardwire the cable.
Be sure to get straight wired, not crossover. The colors should match up in the orientation shown.
Fusion 360 Design for the CYD case Use this is you want to remix it.
The case is held together with four M3x12mm self-tapping screws that go through the mounting holes on the CYD board. The bottom of the case has alignment ridges to hold the CYD board in place while attaching the top with the screws. There is some leeway as to the screw length - anything between 8 and 16 mm will work, but the longer the screw, the harder it will be to screw in.
The specified connector slides into guides in the bottom of the case. Then you can glue it to the case to hold it in place. I used hot glue.
The resistive version has two IO connectors along the top, with pin assignments:
Connector | Pin1 | Pin2 | Pin3 | Pin4 | Notes |
---|---|---|---|---|---|
P3 | GND | IO35 (PND_RX_FNC_TX) | IO22 | IO21 (PND_TX_FNC_RX) | IO21 also controls the backlight |
CN1 | GND | IO22 (ENC_A) | IO27 (ENC_B) | 3.3V |
The capacitive version has three IO connectors along the top, with pin assignments:
Connector | Pin1 | Pin2 | Pin3 | Pin4 | Notes |
---|---|---|---|---|---|
P6 | GND | IO16 | IO4 | IO17 (ENC_B) | These pins are also connected to the RGB LED |
CN1 | GND | IO22 (ENC_A) | IO21 | 3.3V | |
P3 | GND | IO35 (PND_RX_FNC_TX) | IO22 | IO21 (PND_TX_FNC_RX) |
Use Visual Studio Code with PlatformIO to compile and upload the code. Connect your display to the computer via a USB cable.
Be sure to do all three tasks below.
This creates the file system with the icons and images.
See the config example for FluidDial
See the usage instructions for FluidDial
Use the on-screen red, green, and yellow touch buttons in place of FluidDial's physical switches and its dial switch.
To change the display orientation so you can use the CYC Dial Pendant with the handwheel in different positions relative to the screen, go to the About screen and rotate the handwheel. The orientation will change with each click of the wheel. The orientation will be saved so the pendant will start in the chosen orientation. The default orientation has the handwheel on top and the red/green/yellow buttons on the bottom.