BIGTREETECH-SKR-E3-Turbo icon indicating copy to clipboard operation
BIGTREETECH-SKR-E3-Turbo copied to clipboard

DWIN display Ender 3v2

Open tome9111991 opened this issue 3 years ago • 60 comments

Hi Has anyone an idea how to get work the E3 turbo with Ender 3v2 dwin display?

EDIT: yes the e3 turbo is working with Ender 3 v2 stock display.

But a special display cable is required.

Attention don't touch Black(Pin1) & White(Pin2) wire it is for 5V/GND can damage you board/display.

Working cable: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-991810976

https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-981102671

https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-922464232

Reference is this: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-991853287

Firmware config can be found here. https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-980503242

A basic working precompiled firmware: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-980544636

tome9111991 avatar May 12 '21 21:05 tome9111991

E3 turbo dont have tx & rx pin?

tome9111991 avatar May 15 '21 20:05 tome9111991

image

radek8 avatar Jun 12 '21 21:06 radek8

Ok. But i have still issue to compile firmware. 118365360-bcae5780-b59c-11eb-9828-87f45abe1712

tome9111991 avatar Jun 13 '21 16:06 tome9111991

You send configuration files

Maybe this will help. https://reprap.org/forum/read.php?415,880561

radek8 avatar Jun 13 '21 17:06 radek8

It will probably be better to disconnect the original Ender 3 V2 display and replace it with a BTT TFT display. There is no documentation available for the original Ender display and it is difficult to determine which pins are to the serial port.

radek8 avatar Jun 13 '21 20:06 radek8

for the original V2 display just use the original V2 cable and plug into EXP1

in configuration.h uncomment :

#define DWIN_CREALITY_LCD

and comment out any other displays and any reference to LCD as it is NOT an LCD (in this context). It is not pixel driven and cannot display any pixel data sent to it, unlike the 12864 which is an LCD and can display whatever text or graphics sent to it from the controller board.

There is no serial connector on the DWIN display and it is not needed. These are not open source and cannot easily be updated with new features , the CPU on the controller board does all the lifting for these and some commands are sent to the display to tell it what icons to show etc which image to use for the menu and which image for the text. They work so differently it is pointless messing with serial, rewriting Marlin, and the firmware for the display, just to add a new menu item makes it not worth the effort.

There will be a bunch of features you can't use with the stock V2 display.

As suggested above, probably best to dump the DWIN display. Maybe get a Creality CR-10 12864 (cheap and was a massive upgrade over the DWIN display for me), The CR-10 12864 are an LCD display so work with features requiring LCD.

uncomment :

#define CR10_STOCKDISPLAY #if ENABLED(CR10_STOCKDISPLAY) #define RET6_12864_LCD // Specific to the SoC (can either be RET / VET) #endif

you get all the Marlin features enabled present and future without updating display firmware. No need for serial either just use the original DWIN cable in EXP1 slot on the 12864 board,

OR maybe even something like the BTT TFT35 E3 V3 which has both he CR-10 mode and touch display mode. Uses the EXP1 AND serial connections for double the fun :-) Plus some other stuff like USB thumb drive support, extra serial ports and SUPER LOUD BUZZER/SPEAKER, really, I mean it,, dont take the sticker off the speaker unless you want to annoy the neighbours and make your super expensive HIFI look wimpy and lacking in watts.

You only want the serial connection (marked TFT on the controller board) for sending gcode commands.

The TFT35 is basically Octoprint, it has it's own 32 bit cpu and processes eveything into gcode when you click anything or print from the display sd/thumb drives. When you do anything in touch mode, the display board processes that into gcode to send over serial. it will need firmware updates for the touch mode display when new features are added to Marlin. When you go to Marlin menu mode the serial connection is dropped (optional but by default dropped)

The Marlin menu (CR-10 mode) uses the EXP1 port to receive pixel data and send rotary knob data back to the controller board. Serial connection would be much too slow for this. CR-10 mode will work fine with any new features without requiring firmware updates as it only sends rotary knob data and receives pixel data. Again, it is an LCD so just like your LCD TV it can display anything Marlin sends to it, unlike DWIN and serial based touch displays.

If your not intersted in touch screen and fancy icons, just want all the new features of any new Marlin firmware working without messing with the display then you want a 12864 display like the CR-10 12864 or other display that also has this mode like the BTT displays

badbod avatar Jun 18 '21 16:06 badbod

It works.

20210618_201021

tome9111991 avatar Jun 18 '21 18:06 tome9111991

Hurrah, pls do check my message about limitations and the differnces and why you might want to dump that display(depending on your usage)

badbod avatar Jun 18 '21 18:06 badbod

also wondering why you chopped up the original cable,? it is long and needs all the connections for LCD usage

or did you just use same colour wires and poked them into the original connector on the cable thus keeping it intact ? :-)

badbod avatar Jun 18 '21 18:06 badbod

does the original cable not work if you just plug it in? mine worked fine, I did read some boards had the connector wrong way round so you had to either cut a slot on the other side of the socket on the board or pull of the socket plastic housing from the board (carefully) turn it round and push it back onto the BTT board so you could plug the cable in the other way round. I did not have to do that though, hmm, just wondring why you got the loose wires when it should work fine with the original cable 'unmolested' :-)

badbod avatar Jun 18 '21 18:06 badbod

I have torewire the Original displaycable. I put jumper cable in the 10pin port

I use jumper cable just for test. I need to make "new" displaycable

tome9111991 avatar Jun 18 '21 19:06 tome9111991

The original V2 cable will work fine, no need to rewire.

badbod avatar Jun 18 '21 19:06 badbod

if the original V2 cable does not work, then cut off the plastic part that stops you plugging it in the wrong way round, then plug it in the wrong way round. It will work then.

I still use the original V2 DWIN cable on all display, original V2 DWIN, CR-10 and TFT35-E3-V3 and no need to plug the wrong way or rewire

anyway, you have it working now, if you try the original cable it will work , no rewire..

Good luck.

badbod avatar Jun 18 '21 19:06 badbod

@tome9111991 what have you changed in your code? I am still running into errors while compiling. I am using Ender 3 V2. Uncommented #define DWIN_CREALITY_LCD and commented #define CR10_STOCKDISPLAY, #define LCD_BED_LEVELING in my configuration.h. Compiling for SKR E3 Turbo still fails. image

itsround avatar Jun 19 '21 13:06 itsround

@tome9111991 what have you changed in your code? I am still running into errors while compiling. I am using Ender 3 V2. Uncommented #define DWIN_CREALITY_LCD and commented #define CR10_STOCKDISPLAY, #define LCD_BED_LEVELING in my configuration.h. Compiling for SKR E3 Turbo still fails.

That is right.

You have to use #define SERIAL_PORT 3 //#define SERIAL_PORT_2 -1

and add in Pins/lpc1769/pins_BTT_SKR_E3_TURBO

#if ENABLED(DWIN_CREALITY_LCD)


#define BEEPER_PIN               EXP1_10_PIN


#define BTN_EN1                  EXP1_03_PIN
#define BTN_EN2                  EXP1_04_PIN
#define BTN_ENC                  EXP1_06_PIN


#endif

In Inc/Conditionals_LCD.h Search: DWIN_CREALITY_LCD

Change #define LCD_SERIAL_PORT 3 to #define LCD_SERIAL_PORT 1

tome9111991 avatar Jun 19 '21 15:06 tome9111991

@tome9111991: thank you! Building the .bin worked!

One question regarding the serial ports. If I change #define SERIAL_PORT from -1 to 3 and comment #define SERIAL_PORT_2

can I still use the USB port for my raspberry pi with Octoprint?

itsround avatar Jun 20 '21 17:06 itsround

I dont know I have no raspberry

#define SERIAL_PORT -1 Should work also

tome9111991 avatar Jun 20 '21 17:06 tome9111991

@tome9111991 After flashing the .bin-file my display makes a a loud continuous tone. Must I do some adjustment on the pinning?

itsround avatar Jun 22 '21 17:06 itsround

You have to rewire your displaycable

Display -> Board Orange -> Blue Blue -> Brown Yellow -> Red

tome9111991 avatar Jun 22 '21 19:06 tome9111991

@tome9111991 thanks for your help! This are the pins. 1 and 2 are clear. 3 (Ender) --> 8 (SKR) 4 --> 6 5 --> 10 6 --> 9 am i right so far? Whats with TX and RX?

       Ender 3 V2 display                              SKR E3 TURBO 
             _____                                           _____                          
         5V | 1 2 | GND                                  5V | 1 2 | GND               
(BTN_E1) A  | 3 4 | B (BTN_E2)               (LCD_EN) P0_18 | 3 4 | P0_17 (LCD_RS)          
       BEEP | 5 6   ENT (BTN_ENC)            (LCD_D4) P0_15 | 5 6   P0_20 (BTN_EN2)              
         TX | 7 8 | RX                                Reset | 7 8 | P0_19 (BTN_EN1)               
         NC | 9 10| NC                      (BTN_ENC) P0_16 | 9 10| P2_08 (BEEPER)                  
             -----                                           -----                          
             

itsround avatar Jun 22 '21 21:06 itsround

Ender 3 V2 display --> SKR E3 Turbo
                 8 --> 5
                 5 --> 10
                 7 --> 9
            Ender 3 V2 display                         	 SKR E3 Turbo 
 *                _____                                     _____
 *            5V | 1 2 | GND                            5V | 1 2 | GND
 *   (BTN_E1) A  | 3 4 | B (BTN_E2)         (LCD_EN) P0_18 | 3 4 | P0_17 (LCD_RS)
 *          BEEP | 5 6   ENT (BTN_ENC)      (LCD_D4) P0_15 | 5 6   P0_20 (BTN_EN2)
 *  (SKR_RX1) TX | 7 8 | RX (SKR_TX1)                Reset | 7 8 | P0_19 (BTN_EN1)
 *            NC | 9 10| NC                (BTN_ENC) P0_16 | 9 10| P2_08 (BEEPER)
 *                -----					    -----

`

tome9111991 avatar Jun 22 '21 22:06 tome9111991

Ender --> SKR 8 --> 5 5 --> 10 7 --> 9

On E3 turbo P0_15, P0_16 are tx,rx with LCD_Serial_Port 1

Thank you! It works 👍🏼

itsround avatar Jun 24 '21 16:06 itsround

Strange, I followed the documentation, which states if your using the original V2 display, plug it in using original cable. I made no changes to pins and cables wiring etc. it works just fine. Using the configuration from Configurations-release-2.0.9\config\examples\Creality\Ender-3\BigTreeTech SKR E3 Turbo\

uncomment #define DWIN_CREALITY_LCD

comment //#define CR10_STOCKDISPLAY

compile build and flash. BTT documentation said it would, and it did, so I dont understand all the rewiring and playing with pins file. The only serial port I was using was already defined correctly for the USB serial, so did not have to change those settings either.

not all BTT SKR-E3-Turbo the same I guess?

badbod avatar Jun 27 '21 22:06 badbod

@badbod can't work with Configurations-release-2.0.9\config\examples\Creality\Ender-3\BigTreeTech SKR E3 Turbo\

becauce LCD_BED_LEVELING dont work with e DWIN_CREALITY_LCD and dwin is looking for defined pin: BEEPER_PIN, BTN_ENC, .... if not define you got a error

tome9111991 avatar Jun 28 '21 13:06 tome9111991

I've tried basically everything, and can't get this to work for the love of my life. All I get is a black screen and beeping. Running the newest marlin build, and I've rewired it according to pins_BTT_SKR_E3_TURBO Any clue what the hell is up?

jonasl03 avatar Sep 19 '21 11:09 jonasl03

In latest marlin bugfix build you dont need change.

Only in pins_BTT_SKR_E3_TURBO

#error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue."

to

//#error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue."

tome9111991 avatar Sep 19 '21 11:09 tome9111991

I've tried that as well, aka using the default cables. All the screen does is turn on and give a black screen while beeping like crazy. I've also tried re-flashing the screen and printer firmware several times

jonasl03 avatar Sep 19 '21 12:09 jonasl03

Maybe my screen is just fucked?

jonasl03 avatar Sep 19 '21 12:09 jonasl03

No you have to make a special cable. Like 20210731_174420 Is my cable for stock E3v2 display for E3 Turbo

Dont touch black and white wire! Can damage your board/display

tome9111991 avatar Sep 19 '21 12:09 tome9111991

As mentioned before, I have tried rewiring it according to that. All I get is a black screen and beeping unfortunately

jonasl03 avatar Sep 19 '21 15:09 jonasl03

You got black screen/beeping because your pins is wrong/is not matching

You can post your config?

tome9111991 avatar Sep 19 '21 15:09 tome9111991

Gonna send a picture of my wiring in a second

Do you want the pins_BTT_SKR_E3_TURBO.h?

jonasl03 avatar Sep 19 '21 15:09 jonasl03

In latest marlin verson you dont need a change is already in.

Only need: -Special cable

-#define SERIAL_PORT 3 in config

-//#error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue." in pins_BTT_SKR_E3_TURBO.h

thats all an works well for me.

tome9111991 avatar Sep 19 '21 15:09 tome9111991

My config is default, I haven't touched it. I know it has what it needs in the latest marlin version I've rewired my cable according to what is stated in this thread

Ender 3 V2 display --> SKR E3 Turbo 8 --> 5 5 --> 10 7 --> 9

jonasl03 avatar Sep 19 '21 15:09 jonasl03

IMG_20210919_174232 IMG_20210919_174159 IMG_20210919_174134

jonasl03 avatar Sep 19 '21 15:09 jonasl03

looks a little confusing😅 You are sure is correct?

I guess your green wire from display should plug in your current yellow pin for exemple.

Here my jumper cable 20210919_181608 20210919_181259

~~Maybe this will help: Here was a wrong picture~~

tome9111991 avatar Sep 19 '21 16:09 tome9111991

I used that last image, which was the issue Numbers on it aren't in the right order But I got it working now thanks to the images of your jumper cables, thanks bud.

jonasl03 avatar Sep 19 '21 16:09 jonasl03

Ok Im a little confused looking at the images as too what is the correct colours to the DWIN display if using the same colours from the original ribbon cable.

Is this the wiring to the DWIN as follows ( I presume not as it is not working on mine) and looking at @tome9111991 1st image as reference.

White | Yellow | Orange | Grey

Black | Blue | Brown | Purple

So far I get the backlight turn on but no display.

Thanks every one.

SISLANGER avatar Oct 08 '21 20:10 SISLANGER

@SISLANGER You are rewire original cable? From Motherboard to Display

Blue -> Orange Brown -> Blue Red -> Yellow

Or you use jumper cable?

tome9111991 avatar Oct 08 '21 21:10 tome9111991

@tome9111991 thank you will give it a go. I made a custom cable but now trying splitting a spare original cable.

SISLANGER avatar Oct 08 '21 22:10 SISLANGER

https://aliexpress.com/item/4001329637314.html

tome9111991 avatar Oct 09 '21 02:10 tome9111991

@tome9111991 thank you I had a eureka moment. Basically the other imagery was causing me to over think it. So went back to basics this morning and with a clear mind worked first time. Thank you kindly for your help.

SISLANGER avatar Oct 09 '21 12:10 SISLANGER

Does anyone have the files loaded to download? I have the E3 Turbo and E3V2 screen but can’t for the life of me get it running

Waldo0906 avatar Oct 24 '21 18:10 Waldo0906

Does anyone have the files loaded to download? I have the E3 Turbo and E3V2 screen but can’t for the life of me get it running

you need to download the marlin source code and compile by your self. with your own config.

tome9111991 avatar Oct 24 '21 19:10 tome9111991

@Waldo0906 apart from the cable just setting the LCD to one of the DWIN options is the only part required for the display to work. I currently have it set as #define DWIN_CREALITY_LCD_ENHANCED in configuration.h

SISLANGER avatar Oct 24 '21 19:10 SISLANGER

@SISLANGER thats where I get rung up. I followed this thread and after it shows errors for the pins and several other options

Waldo0906 avatar Oct 24 '21 19:10 Waldo0906

@Waldo0906 it sounds more like there's error elsewhere and not related to the display.

SISLANGER avatar Oct 24 '21 20:10 SISLANGER

@SISLANGER ill keep digging I don’t understand why it’s throwing these errors

Waldo0906 avatar Oct 24 '21 20:10 Waldo0906

hey so can anyone send the config files with the "fixed" firmware?

erdoganguner avatar Nov 26 '21 22:11 erdoganguner

Config: https://github.com/MarlinFirmware/Configurations/tree/import-2.0.x/config/examples/Creality/Ender-3%20V2/BigTreeTech%20SKR%20E3%20Turbo/CrealityUI

Firmware: https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x

tome9111991 avatar Nov 27 '21 04:11 tome9111991

It gives me this error when I try to compile it

`Processing LPC1769 (platform: https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip; board: nxp_lpc1769; framework: arduino)

Verbose mode can be enabled via -v, --verbose option In file included from c:\users\guner\documents\marlin-2.0.x\marlin\src\pins\pins.h:413, from c:\users\guner\documents\marlin-2.0.x\marlin\src\inc\marlinconfig.h:34, from buildroot/share/PlatformIO/scripts/common-dependencies.h:29: c:\users\guner\documents\marlin-2.0.x\marlin\src\pins\lpc1769/pins_BTT_SKR_E3_TURBO.h:205:4: error: #error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue." 205 | #error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue." | ^~~~~ CalledProcessError: Command '"C:\Users\guner.platformio\packages\toolchain-gccarmnoneeabi\bin\arm-none-eabi-g++.exe" -D__MARLIN_FIRMWARE__ -DNDEBUG -DU8G_HAL_LINKS -D__MARLIN_DEPS__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h' returned non-zero exit status 1.: File "C:\Users\guner.platformio\penv\lib\site-packages\platformio\builder\main.py", line 175: env.SConscript(item, exports="env") File "C:\Users\guner.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\SConscript.py", line 591: return _SConscript(self.fs, *files, **subst_kw) File "C:\Users\guner.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Script\SConscript.py", line 280: exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals) File "C:\Users\guner\Documents\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 320: apply_features_config() File "C:\Users\guner\Documents\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 139: if not env.MarlinFeatureIsEnabled(feature): File "C:\Users\guner.platformio\packages\tool-scons\scons-local-4.1.0\SCons\Util.py", line 658: return self.method(*nargs, **kwargs) File "C:\Users\guner\Documents\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 296: load_marlin_features() File "C:\Users\guner\Documents\Marlin-2.0.x\buildroot\share\PlatformIO\scripts\common-dependencies.py", line 284: define_list = subprocess.check_output(cmd, shell=True).splitlines() File "C:\Users\guner.platformio\python3\lib\subprocess.py", line 411: **kwargs).stdout File "C:\Users\guner.platformio\python3\lib\subprocess.py", line 512: output=stdout, stderr=stderr)`

Do I have to make other changes in platformio.ini? So far I only changed the enviroment to LPC1769

erdoganguner avatar Nov 27 '21 10:11 erdoganguner

Since I'm in a bit of a hurry, would it be too much to ask just for the working bin file compatible with the DWIN display?

erdoganguner avatar Nov 27 '21 11:11 erdoganguner

You have to comment out the #error message in Marlin/src/pins/lpc1769/pins_BTT_SKR_E3_TURBO.h Like:

//#error "Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. Comment out this line to continue."

If i have free time i can upload a basic working firmeware.bin

But modified display cable still required

Working firmware: firmware.bin.zip

tome9111991 avatar Nov 27 '21 11:11 tome9111991

I think I can handle modifying the display cable really thankful by the way

erdoganguner avatar Nov 27 '21 12:11 erdoganguner

I don't think I've rewired the cable correctly. Has anyone gotten it working with dupont connectors? Tried following the photos above; didn't work

erdoganguner avatar Nov 28 '21 11:11 erdoganguner

Still works for me.

Attention i use a black and a grey cable maybe look same in the photo. The black cable is near the white cable (+5V/GND).

Colors not match with original display cable.

Here my jumper cable 20210919_181608 20210919_181259

20211128_163128 20211128_163110 20211128_163034 20211128_163010

tome9111991 avatar Nov 28 '21 15:11 tome9111991

For some reason I found the above images and the text art confusing. I had to be patient to sort this out but here is, what I think, is a helpful couple pictures from when I did this. I disassembled the screen side connector and clipped the wires that were not being rearranged about 3mm, the ones that I was moving about 1mm (just enough to refresh the insulation) and then used to super thin screw driver to start them into the connection blades and then used the first piece of the connecter to press them back into their connections during reassembly. The orientation nub is hidden by the wires and under my index finger.

Works great now. IMG_0668 IMG_0533

PS. If you're also connecting a BLTouch ensure you have the wiring correct. I had them wrong and the screen would not work (flashing & blank) and the Octoprint Rpi disconnected from Wifi as soon as it booted. Fixing the BLTouch enabled them both to work.

I-dont-want-peace avatar Dec 12 '21 00:12 I-dont-want-peace

e3 turbo

is based on:


 /**
  *          Ender 3 V2 display                       SKR E3 Turbo (EXP1)                Ender 3 V2 display --> SKR E3 Turbo
  *                ------                                     ------                                  RX  8 -->  5  P0_15
  *            5V | 1  2 | GND                            5V | 1  2 | GND                             TX  7 -->  9  P0_16
  *   (BTN_E1)  A | 3  4 | B   (BTN_E2)       (LCD_EN) P0_18 | 3  4 | P0_17 (LCD_RS)              BEEPER  5 --> 10  P2_08
  *        BEEPER | 5  6   ENT (BTN_ENC)      (LCD_D4) P0_15 | 5  6   P0_20 (BTN_EN2)
  *  (SKR_RX1) TX | 7  8 | RX  (SKR_TX1)               Reset | 7  8 | P0_19 (BTN_EN1)
  *            NC | 9 10 | NC                (BTN_ENC) P0_16 | 9 10 | P2_08 (BEEPER)
  *                ------                                     ------
  */

EDIT: "Color code" original display cable:

Wire 	= 	Pin

Black 	=	1
White 	=	2
Grey 	= 	3
Purple	=	4
Blue  	= 	5
Green	= 	6
Yellow	= 	7
Orange	=	8
Red	=	9
Brown	= 	10

tome9111991 avatar Dec 12 '21 08:12 tome9111991

Could you show me the photos of the screen when using this board with original v2 LCD ?

Which ui you’re using?

Nuttavoot avatar Jan 12 '22 02:01 Nuttavoot

Could you show me the photos of the screen when using this board with original v2 LCD ?

Which ui you’re using?

what do you want to see? there is no difference to the stock board. Only have this photo https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40#issuecomment-864204378

I'm use EnhancedUI cirrently but the other UI's ist working too.

tome9111991 avatar Jan 12 '22 08:01 tome9111991