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

[BUG] SKR mini E3 V3.0 Dwin (ender 3 v2)

Open spacecabbie opened this issue 3 years ago • 16 comments

Description

Referring to: https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/issues/424

Applying the same fix to the new board I get no display. Figured to check first before i continue trouble shooting.

Steps to reproduce

compiled firmware from https://github.com/bigtreetech/Marlin/ with: #define DWIN_MARLINUI_PORTRAIT //#error "DWIN_CREALITY_LCD requires a custom cable, see diagram above this line. Comment out this line to continue." Expected behavior Had hoped it would work out of the box.

Actual behavior compiles fine and firmware is applied (.bin is renamed to .cur) but red led keeps blinking also afther restart. Note: I cannot exclude that perhaps my display cable broke or something just want to make sure layout is the same.

Additional Information

my_config.zip

spacecabbie avatar Jan 02 '22 23:01 spacecabbie

If necessary, reconnect the cables to the display. Find inspiration here: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40

radek8 avatar Jan 03 '22 22:01 radek8

does it finally work?

lanzaralx avatar Jan 07 '22 16:01 lanzaralx

does it finally work?

Wel yes and no. The display wil work but constantly gets garbled i am still tuning it.

spacecabbie avatar Jan 09 '22 18:01 spacecabbie

Hello. For a test you can try this Wiring diagram: https://github.com/MarlinFirmware/Configurations/issues/535#issuecomment-873010783

~~And add #define LCD_SERIAL_PORT 1 in your Configuration.h~~

Edit Not tested i dont have V3.0 or V2.0 board

But V3.0 Exp1 looks similar V2.0 Exp1

tome9111991 avatar Jan 12 '22 10:01 tome9111991

Merge is done https://github.com/MarlinFirmware/Marlin/pull/23593

In latest Marlin-bugfix you dont need #define LCD_SERIAL_PORT 1 in your Configuration.h

tome9111991 avatar Jan 22 '22 16:01 tome9111991

does it finally work?

Wel yes and no. The display wil work but constantly gets garbled i am still tuning it.

What fixed it for you?

I'm on the latest bugfix branch, using the E3 V3.0 board config, set SERIAL_PORT to -1 (along with some other config tweaks) and I've triple checked my wiring, however all I see is the backlight coming on the DWIN display, yet no picture of any kind.

I'm still not sure if I'm doing something wrong on the firmware side of things, or if my wiring is either wrong or my cables are faulty.

UPDATE: Figured it out. Display was refusing to flash itself.

Dids avatar Feb 01 '22 08:02 Dids

does it finally work?

Wel yes and no. The display wil work but constantly gets garbled i am still tuning it.

What fixed it for you?

I'm on the latest bugfix branch, using the E3 V3.0 board config, set SERIAL_PORT to -1 (along with some other config tweaks) and I've triple checked my wiring, however all I see is the backlight coming on the DWIN display, yet no picture of any kind.

I'm still not sure if I'm doing something wrong on the firmware side of things, or if my wiring is either wrong or my cables are faulty.

UPDATE: Figured it out. Display was refusing to flash itself.

I bought the skr mini e3 v3 unknowingly of the display problem.

I tried but i just couldn't get the firmware to compile. Would you be so kind and tell me exactly what you changed to make it work?

ingoknito0815 avatar Feb 04 '22 09:02 ingoknito0815

@ingoknito0815

Here is a quick and rough guide on the steps I took specifically for Ender 3 V2 and BTT SKR Mini E3 V3.0.

Marlin

The latest Marlin bugfix branch has support for the SKR Mini E3 V3.0, however the stock DWIN display on Ender 3 V2 will require a custom cable, which I won't be detailing in this, as I'm still gathering my notes on the exact pin and wire color changes necessary, however I do have it working with the stock display firmware.

Configuration

Prepare your IDE (VSCode) and the Marlin source:

  • Checkout the latest bugfix-2.0.x branch
  • Open in VSCode and install PlatformIO etc.
  • Copy the configuration files from the Marlin Configurations repository to Marlin/Configuration.h/Marlin/Configuration_adv.h

Make the following changes to Marlin/Configuration.h:

  • Change #define MOTHERBOARD BOARD_CREALITY_V4 to #define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0
  • Change #define SERIAL_PORT 1 to #define SERIAL_PORT -1
  • Change #define X_DRIVER_TYPE TMC2208_STANDALONE to #define X_DRIVER_TYPE TMC2209
  • Change #define Y_DRIVER_TYPE TMC2208_STANDALONE to #define Y_DRIVER_TYPE TMC2209
  • Change #define Z_DRIVER_TYPE TMC2208_STANDALONE to #define Z_DRIVER_TYPE TMC2209
  • Change #define E0_DRIVER_TYPE TMC2208_STANDALONE to #define E0_DRIVER_TYPE TMC2209
  • Change #define INVERT_X_DIR false to #define INVERT_X_DIR true
  • Change #define INVERT_Y_DIR false to #define INVERT_Y_DIR true
  • Change #define INVERT_Z_DIR true to #define INVERT_Z_DIR false
  • Change #define INVERT_E0_DIR false to #define INVERT_E0_DIR true

Make the following changes to Marlin/Configuration_adv.h:

  • Change //#define USE_CONTROLLER_FAN to #define USE_CONTROLLER_FAN
  • Change //#define CONTROLLER_FAN_PIN -1 to #define CONTROLLER_FAN_PIN FAN1_PIN
  • Change #define X_CURRENT 800 to #define X_CURRENT 580
  • Change #define Y_CURRENT 800 to #define Y_CURRENT 580
  • Change #define Z_CURRENT 800 to #define Z_CURRENT 580
  • Change #define E0_CURRENT 800 to #define E0_CURRENT 700
  • Change #define CHOPPER_TIMING CHOPPER_DEFAULT_12V to #define CHOPPER_TIMING CHOPPER_DEFAULT_24V

Make the following changes to Marlin/src/pins/stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h:

  • Change #error "DWIN_CREALITY_LCD requires a custom cable, see diagram above this line. Comment out this line to continue." to //#error "DWIN_CREALITY_LCD requires a custom cable, see diagram above this line. Comment out this line to continue."

Now you're ready to compile your custom Marlin firmware.

NOTE: There are additional configuration options in both configuration files which only apply to specific hardware and feature requirements, such as bed leveling, probing etc. and I won't go through those here, as this is only meant to serve as an example of how to get the SKR Mini E3 V3.0 working.

Compilation

Compiling can be done in multiple ways, but using VScode and the PlatformIO extension is the easiest way, as it's only a few clicks away.

Follow these steps to compile your custom Marlin firmware:

  • Locate and select the PlatformIO extension icon in VSCode's sidebar, on the left side of the IDE
  • Under Project Tasks, find STM32G0B1RE_BTT, which is the board we want to target (note: you can also find the correct board name in Marlin/src/pins/pins.h, by searching for BTT_SKR_MINI_E3_V3_0)
  • Still in the sidebar, click on STM32G0B1RE_BTT to expand it, then click on Build to compile it
  • If first build produces errors, which may also happens after a Clean/Clean All, simply click Build again
  • If the build finished successfully, your new firmware should now be available at .pio/build/STM32G0B1RE_BTT/firmware.bin

Compilation should now be done and you're ready to flash the SKR Mini E3 V3.0 mainboard.

Flashing

Flashing the board is simple, however there are some issues I ran into, which I've outlined here as part of the flashing process.

Follow these steps to flash your custom Marlin firmware:

  • Copy firmware.bin as is to the SD card (FAT32 formatted + 4K sectors works well for flashing both the mainboard and display)
  • Disconnect any USB cable from your Ender 3 V2 printer
  • Insert the SD card and power on the printer
  • Watch the mainboard LED lights, as they will blink in different intervals and stop blinking when the flashing is done
  • Shutdown power to the printer, remove the SD card, plug it back into your computer and check that firmware.bin has been replaced by a file called FIRMWARE.CUR, as this confirms that the flashing was successful

Flashing is now done and you can move on to the DWIN display, which is the final step in getting all of this to work properly.

Display (DWIN)

All you need to do for the display is to update the firmware, as it will need updated graphics etc. to function correctly with the latest Marlin firmware.

Follow these steps to flash the DWIN display with new firmware:

  • Download the latest stock display firmware from the Marlin Configurations repository
  • Copy the DWIN_SET folder to a FAT32 formatted (with 4K sectors) empty SD card
  • Plug the SD card into the display's SD card slot and power on the printer
  • Wait for a blue screen, which indicates that it is flashing the firmware
  • Wait for an orange screen, which indicates the flashing procedure has finished

The DWIN display is now ready and as long as you have a correctly wired custom display cable, it should function properly.

NOTE: If the flashing fails or does not start, this usually means that the SD card is not properly prepare or there is something wrong with the firmware files. You can easily detect this by looking for the blue screen, which should stay visible for a few seconds. If the blue screen is not visible, the display has not been flashed, successfully or otherwise.

Dids avatar Feb 04 '22 10:02 Dids

Thanks, this solved my issues! Wiring and serial_port -1 was what i needed. Massive head ache for the last 4 hours!

neilvangeffen avatar Feb 27 '22 08:02 neilvangeffen

Let me know if you're seeing artifacting with your DWIN display, especially after longer prints, as I've been trying to debug it for a while now, however it might just be a bug in latest Marlin (bugfix-2.0.x).

Dids avatar Feb 28 '22 07:02 Dids

those settings just got it to compile... dont actually have the screen running. Figuring out why its not homing properly first, then im onto why the screen doesnt work :(

neilvangeffen avatar Mar 03 '22 06:03 neilvangeffen

If the configuration is correct and the display has been flashed with the newer firmware, it has to be the custom cable that's not wired correctly, unfortunately.

Dids avatar Mar 07 '22 14:03 Dids

Description

Referring to: #424

Applying the same fix to the new board I get no display. Figured to check first before i continue trouble shooting.

Steps to reproduce

compiled firmware from https://github.com/bigtreetech/Marlin/ with: #define DWIN_MARLINUI_PORTRAIT //#error "DWIN_CREALITY_LCD requires a custom cable, see diagram above this line. Comment out this line to continue." Expected behavior Had hoped it would work out of the box.

Actual behavior compiles fine and firmware is applied (.bin is renamed to .cur) but red led keeps blinking also afther restart. Note: I cannot exclude that perhaps my display cable broke or something just want to make sure layout is the same.

Additional Information

my_config.zip

Can u send for me firmware? I have same problem (the screen only dark...), but i can't modify marlin... [email protected]

Dplayer82 avatar Apr 06 '22 05:04 Dplayer82

Description

Referring to: #424 Applying the same fix to the new board I get no display. Figured to check first before i continue trouble shooting.

Steps to reproduce

compiled firmware from https://github.com/bigtreetech/Marlin/ with: #define DWIN_MARLINUI_PORTRAIT //#error "DWIN_CREALITY_LCD requires a custom cable, see diagram above this line. Comment out this line to continue." Expected behavior Had hoped it would work out of the box. Actual behavior compiles fine and firmware is applied (.bin is renamed to .cur) but red led keeps blinking also afther restart. Note: I cannot exclude that perhaps my display cable broke or something just want to make sure layout is the same.

Additional Information

my_config.zip

Can u send for me firmware? I have same problem (the screen only dark...), but i can't modify marlin... [email protected]

I know it's been awhile but did you figure out that you need to rewire the LCD cable to make it work? The pinout for the LCD on the SKR mini is (frustratingly) not the same as the Ender 3 V2. https://www.smith3d.com/2022/02/28/skr-mini-e3-v2-v3-on-ender-3-v2-ender-3-s1-lcd-dwin-knob-screen/

grilparto avatar Jul 27 '22 13:07 grilparto

For anyone else that's new to this coming here from google looking how to solve the LCD beep of death problem, before doing any of this for the LCD identify what LCD screen you have first. There are apparently 3 different types of this same display for the Ender 3 V2 that all look identical on the outside. One of the displays can be flashed, another can be flashed but still has errors and the third one apparently has locked down firmware that can't be flashed. Take a guess as to which one I have and how much time I wasted trying to figure this all out... You need to take off the back cover of the screen to identify which one you have. I found this writeup explaining how to identify the screen with pictures here: https://support.th3dstudio.com/helpcenter/creality-printers-color-lcds/

nitrospaz avatar Sep 25 '22 22:09 nitrospaz

Do you have the firmware for ender3 v2 with a skr mini e3 v3? could you share it

kamisamacash avatar Dec 25 '22 01:12 kamisamacash