BIGTREETECH-SKR-mini-E3
BIGTREETECH-SKR-mini-E3 copied to clipboard
[BUG] SKR mini E3 V3.0 Dwin (ender 3 v2)
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
If necessary, reconnect the cables to the display. Find inspiration here: https://github.com/bigtreetech/BIGTREETECH-SKR-E3-Turbo/issues/40
does it finally work?
does it finally work?
Wel yes and no. The display wil work but constantly gets garbled i am still tuning it.
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
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
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.
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
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
, findSTM32G0B1RE_BTT
, which is the board we want to target (note: you can also find the correct board name inMarlin/src/pins/pins.h
, by searching forBTT_SKR_MINI_E3_V3_0
) - Still in the sidebar, click on
STM32G0B1RE_BTT
to expand it, then click onBuild
to compile it - If first build produces errors, which may also happens after a
Clean
/Clean All
, simply clickBuild
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 calledFIRMWARE.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.
Thanks, this solved my issues! Wiring and serial_port -1 was what i needed. Massive head ache for the last 4 hours!
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).
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 :(
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.
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
Can u send for me firmware? I have same problem (the screen only dark...), but i can't modify marlin... [email protected]
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
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/
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/
Do you have the firmware for ender3 v2 with a skr mini e3 v3? could you share it