bigtreetech / BIGTREETECH-SKR-E3-Turbo

80 stars 53 forks source link

DWIN display Ender 3v2 #40

Open tome9111991 opened 3 years ago

tome9111991 commented 3 years ago

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 commented 3 years ago

E3 turbo dont have tx & rx pin?

radek8 commented 3 years ago

image

tome9111991 commented 3 years ago

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

radek8 commented 3 years ago

You send configuration files

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

radek8 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

It works.

20210618_201021

badbod commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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

badbod commented 3 years ago

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 commented 3 years ago

@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_CREALITYLCD and commented _#define CR10STOCKDISPLAY, _#define LCD_BEDLEVELING in my configuration.h. Compiling for SKR E3 Turbo still fails. image

tome9111991 commented 3 years ago

@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_CREALITYLCD and commented _#define CR10STOCKDISPLAY, _#define LCD_BEDLEVELING 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 commented 3 years ago

@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 commented 3 years ago

I dont know I have no raspberry

define SERIAL_PORT -1

Should work also

itsround commented 3 years ago

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

tome9111991 commented 3 years ago

You have to rewire your displaycable

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

itsround commented 3 years ago

@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 commented 3 years ago
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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

Maybe my screen is just fucked?

tome9111991 commented 3 years ago

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

jonasl03 commented 3 years ago

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

tome9111991 commented 3 years ago

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

You can post your config?

jonasl03 commented 3 years ago

Gonna send a picture of my wiring in a second

Do you want the pins_BTT_SKR_E3_TURBO.h?

tome9111991 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

IMG_20210919_174232 IMG_20210919_174159 IMG_20210919_174134

tome9111991 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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

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

Or you use jumper cable?

SISLANGER commented 3 years ago

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

tome9111991 commented 3 years ago

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

SISLANGER commented 3 years ago

@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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

@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 commented 3 years ago

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

SISLANGER commented 3 years ago

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

Waldo0906 commented 3 years ago

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

erdoganguner commented 2 years ago

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

tome9111991 commented 2 years ago

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