Replacing the LCD screen of your Creality Ender 3 with a touchscreen is a very simple upgrade. If you find yourself with a lot of free time while social distancing making sure your printer is running a peak efficiency is a nice constructive way to pass the time. Following these easy steps you can swap your Creality screen for a BigTreeTech TFT screen with minimal fuss. Your Ender 3 will be looking great in no time.
Why Upgrade The LCD Screen On The Ender 3?
This upgrade is mostly cosmetic as the default screen on the Ender 3 isn’t much to look at. That is not to say that there isn’t added functionality with a new screen. The interface for options like the movement control are far easier to use on a touch screen. If you wanted to jog your nozzle 10mm to the right in X, -5 to the back in Y, and then 2 up in Z you would be jumping through multiple menus back and forth. With the touchscreen all those controls are displayed in one menu making it a lot easier.
The Bigtreetech TFT35-E3 v3.0 also has a full sized SD card slot, a USB slot, and connections for a filament runout sensor (if you have or want one) so there are some additional improvements to be had as well. The TFT35-E3 v3.0 also has a gcode terminal so you can run commands direct on the printer without the need of connecting it to a PC or Raspberry Pi. The TFT35-E3 v3.0 also has a spot to install a dedicated WiFi module if you want your printer hosted on your network.
Disclaimer: Though we have used this to fix our systems, we are not responsible for any issues that might occur to your system(s) by you following this guide. Please check with the manufacturer or your service provider prior to following this or any guide to be sure you will not cause any issues with your system.
Supplies Needed
Steps To Replace The Ender 3 LCD
Step 1. Unplug The Printer
This seems obvious but I’m stating it anyways. NEVER mess with the electronics of your printer with it plugged in. You could short something and fry the machine, or worse, yourself.
Step 2. Disconnect And Remove The LCD From The Printer
The back of the stock Ender 3 LCD is connected to the printers mainboard by a single ribbon cable. Unplug this cable but try not to damage it. The cables that shipped with my TFT35-E3 were too short to reach from the screen to the board so I needed to reuse the original.
Remove the two screws on the front of the Ender 3 to detach the LCD assembly. There are a few screws on the back holding the LCD to the case. Remove the knob and then unscrew the board to free everything. If you were using a 3D printed LCD back like I was you’ll need to print a new one as this doesn’t fit anymore.
Step 3. Open The Electronics Case
There are 3 screws on the top of the electronics case, remove all three and lift off the lid. Be careful as you lift to disconnect the case fan wires from the board as well so you don’t damage anything. Set the lid aside, we’re done with it for now.
Step 4. Connect The Ribbon Cable To the TFT35-E3
Connect the ribbon cable coming from the electronics box to the port labeled Exp3.
Step 5. Run The Serial Cable From The TFT35-E3 To The Mainboard
Connect the serial cable to the RS-232 port on the LCD and then run the cable into the electronics box. Follow the ribbon cable so you can use the same cable retention options to keep it neat and tidy. Plug the serial cable into the pins on the mainboard.
Note that the stock Creality board that ships with the printer does not have these pins so if you install this LCD on the board the touch screen functionality and much of the upgraded benefits will not work. If you haven’t already replaced your main board with a 32bit silent board, you should check out our guide on how to do that. The WiFi plug is located at the top left if you are attaching the optional WiFi board as well.
Step 6. Power On The Printer
The moment of truth. I don’t recommend closing up the electronics case just yet, in case you wired something wrong. If you did everything correctly then you should have the fans come on and the screen turn on showing the Bigtreetech logo. If everything looks good you can play around a bit with the interface but we do want to update the firmware before actually printing anything.
It does take a minute for the LCD to detect your printer and connect over serial so don’t worry if it says “No Printer Attached!” for a few seconds. If you long hold the dial/button you will be brought to a touch screen interface which allows you to select between the touch screen interface and the legacy Marlin interface. It is a nice option to have and if you are running with a stock Creality board then you will be using the legacy interface.
Step 7. Compile And Update The Firmware
Compiling the firmware is not hard but Marlin 2.0 on a 32 bit board requires different software then was used previously. Atom was a popular editor but recently they have announced that it will not support Marlin going forward so our best choice is Microsoft Visual Studio Code. Download it and then install the PlatformIO extension.
You want to head over to the Bigtreetech github and grab the latest firmware files for the screen. Download the zip file and extract to a folder on your PC. Open the project in PlatformIO and then you can see the various files to change. In addition to this there are also a number of image files in the folder, you can replace these with your own custom ones. Once you are happy with your firmware modifications compile it.
The compiled firmware file is located in the .pio folder and will be a .bin file. Copy that file and the folder with the images and fonts to the SD card. Power off the printer and insert the SD card.
When you power back on the LCD will flash the new firmware and update the image files. If you only want to update images, fonts, or firmware then you can load just those on the SD card next time. You can also replace the images if you’d like just make sure to keep them the same dimensions and save them as a 24 bit bmp.
Results
The TFT-35 touch screen is a nice addition to my modified Ender 3. It allows for easier movement of the stepper motors from a single screen. I now have filament Load and Unload buttons which is an improvement to saying gcode files on the SD card and printing them to load filament.
While I don’t need the additional SD card or USB slot as I mostly print through Octoprint, they are nice options to have if needed. There are fun options like changing the background colors for the classic interface and the ring light on the knob. Firmware is easy to customize and flash allowing for quite a bit of customization to the printer, which while not necessary, is fun.
What is the orientation of the black serial cable at the SKR Mini E3 Ver2.0 end? The TFT35 end is keyed so noobs (me) cant mess that up. The SKR end is unkeyed. The pin out image of the SKR shows what pin is +5 but the pin out image of the TFT35-E3 ver 3 does not match an actual board (wrong version uploaded?) and does not say which lead of the keyed plug is +5. We have tentatively IDed the black cable lead with the
“. . . .” marking goes to the +5 pin of the SKR “TFT” connector.
Hi Gwyneth,
The single loose wire (the reset wire) is on the side of the serial connector closest to the fuse and the rest go in line with that. That’s for the v1.1 and 1.2 boards, not sure if the v2 is the same orientation I don’t have that board to play with.
Hope that helps and thanks for reading
Hi, has anyone ever been able to get this touchscreen to work with the Creality v4.2.7 board?
Hi Jerry,
I do not have a v4.2.7 board to test on my system. A quick look at the pinout and I do not see any pins for a serial connection. The screen will likely work in Marlin mode but not in touchscreen mode as it connects to the board with the serial pins for that functionality.
waar koop je zo een lcd scherm heb een 4.2.7 erin gestoken
Hi Luc,
The BTT TFT screen requires a serial port in order for it to have all the advanced functions. The 4.2.7 board does not have a serial port. If you were using a BTT SKR board then the TFT screen would work. You could also look into use octoprint and octodash on a different touch screen to add new functionality. I have an article on that here on the site if you are interested. I’m really loving octodash on my ender 3.
Octodash is really good, like it as well… Octoscreen is also a good alternative…
I couldn’t maintain either as with the GPIO 3.5″ pi screen. Very unpredictable; sometimes losing touchscreen but still vnc/ssh, other times screen goes white though octoprint is running and the print finshes.
I’ll have to try an hdmi 5/7
Thanks for the info regarding the pinout/serial as this definitely confirms, at least for me, not to upgrade the screen… I mainly use the web or a dedicated pi with octofarm. The printer’s screen is if I notice something that needs my direct intervention.
I have had no issues with the official raspberry pi touchscreen which is connected through the display ribbon and the GPIO pins. It’s large at 7″ though so not gonna fit right on the Ender but can easily mount it either to the top extrusion or make a bracket off to the side. I’ve heard there are issues with the small screens that connect only via GPIO but supposedly the HDMI screens are far more stable.
Keiran, you use a raspberry pi screen instead of the stock screen or other? i have one laying around, how does this work? connected to the pi or to the printer board?
Hi Joe,
That really depends on what screen you are using. The BigTreeTech TFT screen connects directly to the serial port on the printer mainboard (assuming you have a mainboard with one). This would replace your stock screen on the Ender 3 and gives you a touch screen. If you have the stock creality board that doesn’t have a serial port then you can enable the standard marlin mode on the TFT but not the touchscreen mode, so no real benefit to swapping them unless the stock screen is broken.
You can connect a touchscreen to the pi as well but it would be something different. If you have a pi hooked up I’m going to assume you have octoprint or klipper set up. If you don’t check out my posts about both those topics to understand their benefits. To hook up a screen to the pi you’ll need one that the pi has drivers for and then you would need to install a UI on the pi. If using Octoprint then you have Octodash (or Octoscreen, but I prefer dash) and if you are using klipper then klipperscreen would be your go to. In these cases you are now controlling your pi directly from the screen which then sends the commands to the printer via octoprint or klipper.