SKR 1.3 / 1.4 - TFT35 Color Touch Display Installation and Marlin 2.0 configuration
In this video, I am showing you how to connect Bigtreetech TFT35 touch displays to your SKR 1.3 or 1.4 mainboard, why it has two different modes to use it and what to configure in Marlin 2.0 for it.
Hello, my name is Daniel, welcome to the CrossLink channel. Our mission is to help 1 million people getting more successful with 3d printing and if you're here for the first time, subscribe and enable bell notifications so you don't miss anything.
So, you might have noticed, there is multiple different shapes and sizes of this Bigtreetech TFT35 display available. This one is the TFT35 E3 3.0, which has the knob underneath the display and this fits also in the Ender 3 stock display mount, there is also the regular TFT35 with the knob on the side but they technically absolutely work the same.
I'm going to make separate videos how to install this display on the Ender 3 with the SKR mini mainboards very soon, so stay tuned for those videos.
As every time, all the links to the hardware parts that I am using and any external documentation links are in the description of this video.
The TFT35 supports two different operation modes.
The first one is the touch screen mode, where you have a nice color touch display to control your printer, start printing for example, set the temperature and see the status of your printer.
The second mode is the "Marlin" or 12864 simulation mode, which will show the original printer menu from the Marlin firmware running on the SKR mainboard.
To switch between those two modes, you will have to push down the control knob for three seconds and then select the mode you like to use and confirm it.
But you might ask, why is there two modes in the first place? Is the 12864 simluation or "Marlin" mode there to give you a nice retro feeling if you want it? Well, yes and no. You actually need the 12864 simulation mode in some cases and I'm going to tell you why.
A standard display like the one I have here, gets it's display content by the printer mainboard sent over in the form of pixel information.
So the display itself has no further logic beyond interpreting and showing that information - being just a dumb monitor. It also sends back the button pushes and controller knob turns to the mainboard but that's it.
The TFT35 and all other models of this display on the other hand have a full 32bit microcontroller with it's own memory on board that has it's own firmware and can be upgraded and programmed independently from the printer mainboard.
It talks to the mainboard over a serial connection. And here comes the main difference to your old display:
The information that is sent back and forth over that serial connection is not pixels. It's just GCODE commands and GCODE reponses. That makes this display more or less act like a raspberry Pi that runs Octoprint on it or a computer that runs Pronterface for example. And what is shown on the display to you is not controlled by the printer mainboard firmware if you're in touch mode.
But being independent from the printer also means that the TFT touch display is agnostic to what kind of printer you exactly have. So for example it doesn't know and it also doesn't care what kind of stepper motor drivers it has or what kind of firmware it's running.
And because of having these specific features, this printer has certain user interface entries in the 12864 menu like the tmc driver configuration, which are not represented in the touch menu.
And that's why there is dual mode switching to be able to switch back to the good old retro style 12864 menu.
With that clarified, let's get into the hardware installation.
With the display, we get three cables that we need to connect to the mainboard.
This black cable here, which is the serial connection and these other two cables, which are used for the 12864 simulation mode.
The serial cable that comes with your display will have a plug that fits into the RS232 or TFT slot at the back of the display. So let's plug that in here.
The other side will have 5 pins to connect to the mainboard. There is a four pin plug and a separated one, that is the reset pin.
On the SKR 1.3 and 1.4 mainboards you will find a 5 pin connection for the display marked with "TFT".
These pins are in the lower right quadrant of the mainboard on the SKR 1.3 and
the SKR 1.4.
And whatever you might have seen or read, the markings on the cable have absolutely nothing to say about how to orient these 5 pins with the mainboard pins. I've seen other guides like this example from Chris's basement mentioning to use these dashed markings to know which side is which, but in my case it's just the other way around.
So from the mainboard documentation, I know that the reset pin for the SKR 1.3 is the most right pin, so I will orient my cable connectors accordingly and plug them in with the reset pin on the most right pin and the other four go left to it.
For the SKR 1.4 this is just the other way around, so the reset pin is the most left of this pin row.
What happens if you misorient that cable? Well, nothing serious. If you turn on your printer and the screen keeps black, power off, insert the connector 180 degrees swapped and try again.
Then, we wanna connect the gray cables to the display and mainboard.
Connect the EXP1 from the mainboard to EXP1 on the display and the same for EXP2 on the mainboard and EXP2 on the display.
Now, let's see if the display works as expected.
So, the screen turned on and it does show the touchscreen mode but it might also start with the 12864 simulation mode. So if that is the case, push the dial for three seconds and select the touch mode for now.
It might be that the display orientation is swapped, that also depends on how you like to mount the display to your printer. So if you need to change the display orientation, you can do this from the touch display by tapping Settings → Screen → and then rotate UI. Then you will need to run through a screen calibration tapping the red dots that appear in the corners and then finally the center.
The next issue you might have could be that the display shows "no printer attached" so that it cannot communicate to the printer. That's actually normal when you freshly turn the printer on and it should then disappear after a few seconds. If this error persists any longer, your baudrate setting for the serial connection is most probably different from what you have set in Marlin firmware.
This can be fixed by going into the settings menu of the display and then tapping the baudrate setting to switch it between 115200 and 250000. I have set my serial connection speed in Marlin firmware to 250000 at the beginning of Configuration.h, so 250000 should be working. And after a few seconds, the error disappears for mw.
If you find that also setting both sides to 250000 still doesn't solve the communication issues, you should try to lower the speed in Marlin firmware to 115200, then flash a new build to the mainboard and try again to set the speed to 115200 on the display.
So, the touch mode is working, just a quick check if controlling the printer works. For example we can do an auto home from here.
This seems to work fine.
Now, let's see if we can use the 12864 simulation mode already. Push the dial for three seconds and then select Marlin Mode and confirm the selection.
So for me, although I have connected the cables correctly, the 12864 simulator stays black.
Sometimes it needs a turn of the knob to get it to work but mine stays black. The reason might be that I have configured the ANET FULL GRAPHICS DISPLAY in Marlin firmware. So I am going back to my Marlin Configuration.h, I am going to comment that out.
Then I am looking for the REPRAP DISCOUNT FULL GRAPHIC SMART CONTROLLER, this is the right setting to enable for the 12864 simulation with the TFT35 and I am uncommenting this line. Don't confuse this with the REPRAP DISCOUNT SMART CONTROLLER, that's not the right setting to enable.
Now, I am building and uploading this new firmware for the SKR mainboard with Auto Build Marlin and if you've missed my full guide how to do this, I've linked that particular video up here for you.
So, the new firmware is flashed, let's see if the display is working now.
And it's working fine. I can use it like before using the dial and If I want to switch back to the touch mode, I can do it by pushing the dial for 3 seconds, then selecting touch mode again and we're back in the graphical UI.
So let's see what we can do from here, we have a preheat menu, where we can control the nozzle and bed temperatures.
There is a move menu, to move the axis around.
We can use the Home Menu to do an auto home.
There is an Extrude menu, which makes it possible to extrude or retract the filament
The fan menu can be used to control the parts cooling fan speed.
In the settings menu, we have all kinds of settings regarding the display. Background color, language etc.
The Leveling menu can be used to control your z-offset and the bltouch sensor if you have one.
And finally, we can use the print menu to print something from the SD card slot of the display. So let's insert an SD card with some models here at the side and start a print.
So you can see, that the display immediately changes to a new dialog that shows the printing progress, the current temperatures and we also have access to babystepping and speed adjustment settings from here.
Seems to be printing quite well, I would say.
Of course, this display now needs to get a nice case that I've printed out already, it's going to go to the same spot as the original one.
Next up in this series, I am going to show you how to flash the latest bigtreetech firmware to the TFT35 display and also how to customize the UI to show more useful information on the start page, and to be more colorful with custom icons and logos.
So make sure you don't miss that video, and I've also linked two other videos for you here in these cards.
Hope to see you soon on the channel, bye!