I recently picked up a Sovol Zero for some high speed printing and was disappointed in the stock screen / knob interface, as well as the Factory Sovol 5 inch screen upgrade (which works perfectly, but just looks weird being so large on such a small printer).
So I set off to find a smaller screen to replace the stock screen with that would still have the HDMI+USB-C interface, but that the big screen had, but in a smaller package. I found the WaveSahre 3.5" HDMI Touchscreen which is intended for Raspberry Pi machines, and figured I'd give it a try.
Out of the box this worked exactly like the Sovol 5 inch Touchscreen did. Screen resolution was clear, touch screen response was good, and functionally everything worked. However the orientation of the screen was wrong.
I making the new case, I hollowed out and then filled in the original design, then reshaped it to fit the new screen, leaving the mounting tabs for the printer in their original orientation and location. The updated size gave me plenty of room to recess the ends of the pluings into the case, so very little is visible hanging out the side of the screen.
Bill of Materials:
- Waveshare 3.5 inch HDMI Touchscreen (link)
- Polymaker Polychroma Matte Blue PLA
- Elegoo black PLA
- 4x m2.5x12mm bolts for mounting electronics to the base
- 4x #4x5/8" stainless screws for attaching face to base
- 90 Degree USB-A to USB-C Cable, 20inch (50cm) (link)
- Straight to Down Angle HDMI Cord, 20inch (50cm) (link)
How To Flip / Rotate the WaveShare 3.5 inch screen in Klipper Thru SSH :
You will need to go into the firmware and make the screen rotation on the machine through Klipper, itself. Unlike the 5 inch screen, this one is in the portrait orientation by default, and I was not able to find any information on rotating the orientation on the Waveshare board itself. But a little searching through forums and YouTube later and I was able to find how to rotate both the display and the toucchscreen 90 degrees counter clockwise.
Details can be found on the KlipperScreen repo and in the Sovol User Forum, but here is the summary:
You will need to SSH into your machine and edit libinput.conf to change both settings.
ssh sovol@192.168.___.___ <OR WHATEVER YOUR USERNAME AND IP ADDRESS IS>
cd /usr/share/X11/xorg.conf.d
sudo vi 40-libinput.conf
[Go below the blue section and press the letter [i] then paste the following lines:]
[CW=Clockwise, CCW=Counterclockwise, UD=Upside-down]
Section "Device"
Identifier "default"
Driver "fbdev"
Option "Rotate" "CCW"
EndSection
[In Scetion InputClass, Identifier “libinput touchscreen catchall”]
[Rotation Matrix Options are:
| 0° | 1 0 0 0 1 0 0 0 1 |
| 90° Clockwise | 0 -1 1 1 0 0 0 0 1 |
| 90° Counter-Clockwise | 0 1 0 -1 0 1 0 0 1 |
| 180° (Inverts X and Y) | -1 0 1 0 -1 1 0 0 1 |
| Invert Y | -1 0 1 1 1 0 0 0 1 |
| Invert X | -1 0 1 0 1 0 0 0 1 |
| WideScreen | 0.5 0 0 0 1 0 0 0 1 |
]
[Go below the line "MatchIsTouchscreen" and add:]
Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"
[press ESC and type :wq then press ENTER]
[reboot printer]
sudo reboot
Enjoy! :)
Model Kaynağı
