Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DWIN display Ender 3v2 #40

Open
tome9111991 opened this issue May 12, 2021 · 60 comments
Open

DWIN display Ender 3v2 #40

tome9111991 opened this issue May 12, 2021 · 60 comments

Comments

@tome9111991
Copy link

tome9111991 commented May 12, 2021

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:
#40 (comment)

#40 (comment)

#40 (comment)

Reference is this:
#40 (comment)

Firmware config can be found here.
#40 (comment)

A basic working precompiled firmware:
#40 (comment)

@tome9111991
Copy link
Author

E3 turbo dont have tx & rx pin?

@radek8
Copy link

radek8 commented Jun 12, 2021

image

@tome9111991
Copy link
Author

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

@radek8
Copy link

radek8 commented Jun 13, 2021

You send configuration files

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

@radek8
Copy link

radek8 commented Jun 13, 2021

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.

@badbod
Copy link

badbod commented Jun 18, 2021

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

@tome9111991
Copy link
Author

It works.

20210618_201021

@badbod
Copy link

badbod commented Jun 18, 2021

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
Copy link

badbod commented Jun 18, 2021

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
Copy link

badbod commented Jun 18, 2021

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' :-)

@tome9111991
Copy link
Author

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

@badbod
Copy link

badbod commented Jun 18, 2021

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

@badbod
Copy link

badbod commented Jun 18, 2021

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.

@itsround
Copy link

itsround commented Jun 19, 2021

@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

@tome9111991
Copy link
Author

tome9111991 commented Jun 19, 2021

@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

@itsround
Copy link

itsround commented Jun 20, 2021

@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?

@tome9111991
Copy link
Author

tome9111991 commented Jun 20, 2021

I dont know
I have no raspberry

#define SERIAL_PORT -1
Should work also

@itsround
Copy link

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

@tome9111991
Copy link
Author

You have to rewire your displaycable

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

@itsround
Copy link

@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)                  
             -----                                           -----                          

@tome9111991
Copy link
Author

tome9111991 commented Jun 22, 2021

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)
 *                -----					    -----

`

@itsround
Copy link

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 👍🏼

@badbod
Copy link

badbod commented Jun 27, 2021

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?

@tome9111991
Copy link
Author

@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

@jonasl03
Copy link

jonasl03 commented Sep 19, 2021

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?

@tome9111991
Copy link
Author

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."

@jonasl03
Copy link

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
Copy link

Maybe my screen is just fucked?

@tome9111991
Copy link
Author

tome9111991 commented Sep 19, 2021

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
Copy link
Author

tome9111991 commented Sep 19, 2021

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.

@jonasl03
Copy link

jonasl03 commented Sep 19, 2021

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
Copy link

IMG_20210919_174232
IMG_20210919_174159
IMG_20210919_174134

@tome9111991
Copy link
Author

tome9111991 commented Sep 19, 2021

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

@jonasl03
Copy link

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.

@SISLANGER
Copy link

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.

@tome9111991
Copy link
Author

tome9111991 commented Oct 8, 2021

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

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

Or you use jumper cable?

@SISLANGER
Copy link

SISLANGER commented Oct 8, 2021

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

@tome9111991
Copy link
Author

@SISLANGER
Copy link

@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.

@Waldo0906
Copy link

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

@tome9111991
Copy link
Author

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.

@SISLANGER
Copy link

@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

@Waldo0906
Copy link

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

@SISLANGER
Copy link

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

@Waldo0906
Copy link

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

@erdoganguner
Copy link

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

@erdoganguner
Copy link

erdoganguner commented Nov 27, 2021

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
Copy link

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?

@tome9111991
Copy link
Author

tome9111991 commented Nov 27, 2021

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

@erdoganguner
Copy link

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

@erdoganguner
Copy link

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

@tome9111991
Copy link
Author

tome9111991 commented Nov 28, 2021

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

@I-dont-want-peace
Copy link

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.

@tome9111991
Copy link
Author

tome9111991 commented Dec 12, 2021

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

@Nuttavoot
Copy link

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

Which ui you’re using?

@tome9111991
Copy link
Author

tome9111991 commented Jan 12, 2022

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 #40 (comment)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants