Only this pageAll pages
Powered by GitBook
1 of 14

CR6Comm Touchscreen ReFactored Firmware Docs

Introduction

Loading...

Overview

Loading...

Installation Guidelines

Loading...

Loading...

Loading...

Release Notes

Loading...

Loading...

Development Guidelines

Loading...

Loading...

Re-Factored CR-6 Touchscreen firmware

Do You Need This Re-Factored Version?

If you have a BTT SKR board with the BTT TFT you do not need this firmware. This firmware is only for when you use the stock Creality DWIN TFT display with the stock or BTT motherboard.

Everyone else needs this version of the CR6Community display firmware, to use their stock TFT display with version 6.1 of the CR6 Community motherboard firmware.

What Problem Does This Solve?

The original June 2021 CF6.1 DWIN_SET ONLY ran on displays using DGUS2 v3.5. As of approximately December 2021, Creality started shipping displays flashed and calibrated with DGUS2 v4.5. DGUS2 v4.5 and higher require a different touchscreen calibration than prior DGUS2 versions. CF6.1 users who flashed those new displays with the original CF6.1 display firmware started having one of two serious problems:

  1. If they flashed the Kernel Upgrade files to their displays, then the push buttons on the main menu did not respond to touch (because the touchscreen was not calibrated for DGUS2 v3.5)

  2. If they did NOT flash the Kernel Upgrade files (What? Not everybody follows the Readme instructions?!?), their screens came up blank, because the June 2021 version of CF6.1 DWIN_SET ONLY ran on DGUS2 v3.5.

That issue left some new CF6.1 users "snookered" and often led to other issues as they tried to revert to stock and could not make that work either (if they had flashed the kernel upgrade files.) As of 17 Dec 2024, we have removed the original diplay firmware files from the motherboard firmware download and replaced that with a link to this firmware.

How Re-Factoring Helps

This Re-Factored version of DWIN_SET was recreated from the June2021 release of the CF6.1 Touchscreen Firmware, in a different version of the DGUSTools. It runs on ALL versions of DGUS2, regardless of the touchscreen calibration, AS LONG AS YOU DO NOT FLASH DGUS2 KERNEL FILES TO THE DISPLAY THAT ARE INCOMPATIBLE WITH THE TOUCHSCREEN CALIBRATION. (See the README in the folder containing the DGUS2 Kernel files.)

NOTE: Text kerning does NOT work correctly on DGUS2 v1.x, so although this DWIN_SET can be used on Kickstarter CR6 machines still running DGUS2 v1.4, some data will not fit neatly into their display fields, unless you upgrade the DGUS2 with the DGUS2 v3.5 kernel upgrade file provided.

How Do I Find Out What DGUS2 kernel is Running on my Display?

To find out which version of DGUS2 is running on your display, "flash" your display with a micro SD card that contains ONLY an EMPTY folder named DWIN_SET. The top line on the blue flash screen will display the DGUS2 version currently installed.

Downloads

The Source and DWIN_SET zip files are posted as Assets in the Releases section of this repository.

  • The Zip file with DWIN_SET in the name contains the DWIN_SET folder, README and support files for the current release. Download that file from the latest Release's Assets list.

  • Zip files with "Source" in their name are the DGUS project and source files for this project. You do not need those files, unless you intend to try to fork and modify this version of the UI.

Installing This Firmware to your Touchscreen

  1. Download the DWIN_SET .zip file from the latest Release's Assets list

  2. Extract all contents from that .zip file into a new blank directory

  3. Find and read ALL of the README files BEFORE attempting to flash your display (You'll be glad you did!)

  4. Figure-out which DGUS 2 is presently running on your display (it may help you later, to know what you started with)

  5. DO NOT FLASH ANY KERNEL FILES TO YOUR DISPLAY, unless: 5.1 You have inadvertently "bricked" your display by flashing the DGUS2 kernel upgrade files to a display calibrated for DGUS2 v4.5+ 5.2 Your display is running version 1.x of DGUS2, and you want to fix the text kerning (in which case, add the DGUS2 v3.5 kernel file to your DWIN_SET.)

  6. Verify that you have satisfied all of the Pre-Requisites for flashing this firmware (Which you will know after reading the README files...)

  7. Flash your display with the DWIN_SET folder

  8. If anything went wrong, try the TROUBLESHOOTING.MD instructions

  9. Please provide feedback in Comments or Issues, as applicable

CAUTION: If you are using a MAC to prepare the SD card and to copy DWIN_SET to the card, PLEASE READ THIS FAQ: https://github.com/CR6Community/Marlin/wiki/Troubleshooting-Problems-with-Firmware-Flashing#my-screen-looks-like-this-picture-after-flashing-it

Contributing

If you wish to contribute to the project, please provide your inputs by raising a new Issue or by commenting on an Open Issue on this repository, and/or by contributing to the discussion on the CR6Community Discord #lcd-discussion channel

Credits

InsanityAutomation initiated the refactoring project. It is upon that work that Thinkersbluff has built this Release.

The core CR-6 Community firmware dev team did the heavy-lifting that resulted in the CF6.1 baseline.

Icons from Font Awesome and Remix Icon.

Font from Google Fonts and customized with FontForge.

Release Notes

Release#: Re-Factored Version 1.1

NOTE: If you do not see this release number on your system, you have not flashed this version of the touchscreen firmware.

Introduction

This formal release is identical to 61F_220622_v1, except:

  1. The colour theme of the screens has been changed back from cyan/darkblue to black/grey/red

  2. The jpeg compression artifacts have been removed

  3. The font has been changed, to solve the descender clipping issues

  4. The version # has been rebranded on the splash screen, main menu and Info screens.

  5. A red line has been added between the grey screen banner and the black background on each screen, to facilitate the recognition of this build vs the original DWIN_SET, when providing help based on photos of the screens.

Background

The CF6.1 touch screen firmware was designed and distributed to run only on the DGUS2 v3.5 operating system.

Creality has now begun delivering the CR6 printers running a more recent version of DGUS2 (v4.5, at the time of this release.)

DGUS2 v4.5 and higher require a different calibration of the touchscreen than did v3.5.

Following the CF6.1 installation instructions to flash v3.5 with CF6.1 to these newer printers therefore causes the v4.5 touchscreen calibration to be invalid. That results in the touchscreen becoming non-responsive. Reverting to Creality stock also then fails, until the DGUS2 v4.5 kernel is restored to the display.

This re-factored version of the firmware operates correctly on all CR6 printers flashed with DGUS2 OS version 2.0 or higher, as long as:

  1. The motherboard has also been flashed with the correct configuration of CF6.1-Final firmware

  2. The display hardware has already been calibrated to operate with the version of DGUS2 (2.0 or higher) that is installed on the display.

Recommendations for using this firmware

PLEASE read all of these recommendations, before following any of them.

NOTES:

1. As always, flashing this firmware to your system is done entirely at your own risk. The CR-6 Community firmware developers take no responsibility for any consequences of flashing this firmware to your system.

  1. We have seen STEP1 display DGUS2 v4.5 with a different date stamp than the one bundled with this release. (13/01/22 vs 05/01/22) We can not explain why DWIN would publish two variants of the same OS version, nor can we answer whether there are any differences between the two. (See note 1)

STEP1 - BEFORE ACTING ON ANY OF THE FOLLOWING RECOMMENDATIONS:

  1. Create an EMPTY folder at the root directory of an EMPTY micro SD card.

  2. Ensure that your printer power is OFF

  3. Place that SD card in your display and cycle power ON

  4. The top line of the display will report which version of DGUS2 is currently flashed .

  5. Make note of which DGUS version is currently flashed to your display hardware (see top line on display)

  6. Take care to follow the applicable instructions below.

If you are currently running Creality stock firmware on your system, and your display is currently running DGUS2 v4.5+

Flash this touchscreen firmware INSTEAD of the CF6.1-Final touchscreen firmware.

  1. Ignore the Touchscreen firmware folder in the CF6.1-Final release zip file.

  2. INSTEAD, copy the DWIN_SET folder and contents from this release to the micro-SD card you use to flash the display

  3. DO NOT copy ANY DGUS2 kernel upgrade files to the DWIN_SET folder before flashing it to your display.

If you are currently running Creality stock firmware on your system, and your display is currently running any version of DGUS2 between (and including) v2.0 and v4.4 (e.g. v3.5)

EITHER: Go ahead and flash the CF6.1 TouchScreen Firmware to your system, following the CF6.1 Touchscreen Firmware README instructions precisely

OR:

Do exactly the same thing as recommended above for the v4.5 users:

  1. Ignore the Touchscreen firmware folder in the CF6.1-Final release zip file.

  2. INSTEAD, copy the DWIN_SET folder and contents from this release to the micro-SD card you use to flash the display

  3. DO NOT copy ANY DGUS2 kernel upgrade files to the DWIN_SET folder before flashing it to your display.

If you already flashed the CF6.1-Final touchscreen firmware to your display hardware, your display is now running DGUS2 v3.5, and your display is non-responsive

You can flash this re-factored version of the CF6.1 UI to your display and restore the display to running DGUS2 to v4.5, as follows:

  1. Delete the DWIN_SET folder from the SD card with which you previously flashed your display. (Make sure you keep a copy, just in case!) OR prepare a new blank micro SD card.

  2. Copy the new DWIN_SET folder distributed in this release to that SD card

  3. Copy T5L_UI_DGUS2_V45_20220105.BIN from the DGUS2 kernel upgrade files folder into the new DWIN_SET folder on that card

  4. Re-flash your display with the updated card

  5. Verify that the top line of the display shows the DGUS2 v4.5 OS was flashed as part of the process (it will be written in red text over the top of white text that said v3.5)

  6. Power off the printer

  7. Remove the SD card from the display and power it back up

  8. The CF6.1 interface should now work correctly

  9. Repeating the empty DWIN_SET folder trick described as STEP 1 above will allow you to confirm with confidence that DGUS2 v4.5 is now flashed to the display

Instructions for Reverting a Display to the Creality Stock Firmware

If you flashed the CF6.1 firmware and the DGUS v3.5 kernel upgrade files to a DWIN display that was previously configured to run on DGUS2 v4.5 and just want to revert to stock, rather than flashing this firmware release

  1. Copy the T5L_UI_DGUS2_V45_20220105.BIN kernel upgrade file into the Creality DWIN_SET folder.

  2. Important: Verify that the Creality DWIN_SET folder includes their T5L...CFG file

  3. Re-flash that Creality DWIN_SET to your display.

  4. Re-flash the stock Creality DWIN_SET firmware to the motherboard

The printer will now have been reverted to the Creality stock firmware.

If you successfully flashed CF6.1 or this release to a DWIN display without flashing any DGUS kernel upgrade files to that display, but now wish to revert to the Creality stock firmware

Flash the stock Creality firmware back to the motherboard and the display, per Creality's instructions.

Instructions for reverting from this re-factored version BACK to the CF6.1-Final TouchScreen Firmware on a display running DGUS2 v3.5

Follow the flashing instructions in the CF6.1-Final Touchscreen firmware README file.

Flashing Help

Flashing Help For Re-Factored DWIN_SET Version 1.1

NOTE: If you have already successfully flashed your system by following the instructions in the README.MD file, then you do not need to read this file.

These instructions are offered for use by those who were not able to succeed at flashing this DWIN_SET to their display by following the instructions in the repo README.

Begin wih the End in Mind - Steve Covey, The 7 Habits of Highly Effective People

The end goal of the flashing process documented herein is to install version 1.1 of the DWIN_SET application Re-Factored from the original Community Firmware 6.1 Final DWIN_SET, to run on all versions of DGUS2.

When you have successfully achieved that goal, your screen will look like this:

RECOMMENDED PRACTICES:

  • Always Start this process a BLANK SD Card, when copying a new DWIN_SET folder and/or contents to the SD Card!

  • ALWAYS Power-Off the printer, before removing or installing a card from the display!

  • Be VERY careful that you don't short out the touch screen when flashing it.

  • Ensure the power is not interrupted while flashing.

  • Seriously consider installing a micro-SD to SD card extension cable, permanently plugged into the display micro SD card slot

    • This minimizes the stress on what may be a very delicate card slot

    • It also eliminates the need to remove the back cover (and the serial interface harness), which speeds up the process considerably and eliminates the potential risk of damaging the PCB while the back cover is off.

Step 1: Prepare a Blank Micro SD card

Partition and format a micro SD card, per the detailed SD card formatting instructions.

Alternatively, if you are using a micro SD to full SD extension cable, you can prepare a full sized SD card.

After you have partitioned and formatted your SD card:

Extract DWIN_SET to the SD card

Take the firmware archive and extract the DWIN_SET folder to the SD card, so that the DWIN_SET folder itself is present on the SD card. Optionally, you can delete all of the bitmap (.bmp) files from DWIN_SET.

Except (perhaps) for the name and disc number, the result will look like this:

Decide whether to use the approach described in Option 1 or in Option 2, below, to Flash the DWIN_SET contents to your display

Review the Examples below and follow either Option 1 or Option 2.

  • Option 1 is the quickest, if it works

  • Option 2 is more methodical and more consistent with the flashing practices recommended by DWIN. e.g.: It may help you succeed if you flash the T5L CFG file all by itself, before trying to flash the other files.

Use this general approach, to flash the display:

To flash the display from the SD card:

  • Power OFF the printer

  • Access the SD card slot on the back of the display (involves removing the back cover off the display or using a micro SD to full (or to micro) SD extension cable)

  • Insert an SD card containing the DWIN_SET files to be flashed

  • Power ON the printer

  • Wait for END! to display

  • Power OFF the printer

  • Remove the SD card

  • If not finished, delete or empty the DWIN_SET folder on the card, then copy the next DWIN_SET folder/files to a blank SD card and repeat the above steps, starting with "Power OFF the printer"

  • If finished, Power ON the printer

  • Verify (per the Examples below) that the flash has been successful

If the motherboard was also flashed correctly before starting this process, then after restarting the printer the Re-Factored Version 1.1 Splash Screen will display, followed by the Main Menu screen, as shown in "Begin with the End in Mind" above and in the Examples below.

IF your system has NOT flashed correctly, proceed to the Troubleshooting section below.

NB: If you decide to follow a video to clarify these instructions, please note: NONE of those YouTubers was flashing this version of the firmware, so they may provide instructions that DO NOT APPLY to this installation!

What does a successful flash look like?

The flash process is completed when you see "END!", as shown in the Examples below. Note that there are also several lines below END!, each showing the number of files flashed to the display, listed by file suffix (there must be non-zero numbers displayed, as shown in the Examples.)

If - as recommended - you flash this firmware without including any kernel upgrade file in the DWIN_SET folder, then the top line will report the currently active version of DGUS on the display, written in white text.

What if I also flashed a DGUS2 kernel file?

If this is the first time you have flashed the required version of the DGUS OS, then the top line on the screen will name that version of DGUS2 in red text, written over top of white text naming the DGUS version that has been overwritten (upgraded.)

If you flash the display with the same DGUS kernel file that is already installed, the top line will again be in red text, but more easily read, since it will overwrite the same text written in white.

What does an unsuccessful flash look like

  • If you get an orange screen, flashing did not succeed.

  • If you get a blue screen with END!, but the numbers of the updated files only showing "0", flashing did not succeed. Check the examples further down in this document for more information.

  • If, after rebooting the printer, a message is shown about "TFT version mismatch", then flashing was not successful.

  • if, after rebooting the printer, a message is shown about "Firmware flashed incorrectly" then your screen firmware might be flashed but your motherboard ignored the firmware update. You need to re-attempt flashing the motherboard. This sometimes happens on Creality v4.5.2/v4.5.3 boards - reformat your SD card and rename the ".bin" file of the motherboard firmware to something like "today.bin" or "1.bin" and retry.

NOTE We have observed with at least one user that even though the file counts were correct, the firmware still was not flashed correctly.

Some users have also used cards that work sometimes but not other times, which can be very confusing.

If you observe no issues with the firmware flashing but there are still elements missing on the touch screen, please try a different SD card, a smaller SD card and partition etc.

If the touchscreen looks right after flashing but does not respond when you tap the menu buttons on the screen, then you may have an incompatible combination of firmware, DGUS2 kernel version and display hardware. Try flashing again with the other kernel upgrade file, per the instructions in the DGUS2 kernel files README. (Make sure there is only the one kernel file in the DWIN_SET folder.)

Examples

NB: This section assumes that you have already flashed CF6.1 to the Motherboard, BEFORE you try to flash the Re-Factored DWIN_SET to the display. If instead you choose to flash the motherboard AFTER flashing the display, you will NOT see "CR6Comm-Rel6.1 Final Ready." after flashing the display, until you have also flashed the motherboard. You will instead likely see the splash screen message with the "bootloader seems confused" message. In that event, just proceed with flashing the motherboard.

The blue screen displays differ between DGUS2v3.5 and DGUS2v4.5.

If you have DGUS2 v4.5 installed, there will be one additional status line on the blue flash END! screen for CRC32 Check, which you can ignore, as shown here:

CRC32 Check: 000 Appears only with DGUS2v4.5

Options for Flashing Contents of DWIN_SET Folder to Display

SD Card Requirements

You must use a micro SD card to flash DWIN_SET to the display (or an SD card in an SD to micro SD card extension cable).

The display bootloader program imposes the following mandatory requirements on the SD card you use:

  • Partitioning must be:

    • Master Boot Record (MBR)

    • Primary (not Logical) Partition

      • NOTE: If using a MAC, this is probably called DOS partitioning (vs GPT)

    • NOTE: If there are multiple partitions on your card, the display will only "see" the first one!

    • CAUTION: If a card has been partitioned multiple times and/or some partitions have been deleted, the boot loader may become unable to read the partition containing DWIN_SET. Try deleting all partitionss from the card and starting again, with just one Primary MBR 8Gb(or smaller) partition

  • Formatting must be:

    • FAT32

    • 4096 allocation units per sector

A NOTE About SD/HC/XC

This DWIN display seems to have difficulty reading XC cards, even if they are particioned smaller, so it is best to try to use SD cards which are 8Gb or smaller. If you can not find smaller cards, HC cards (16Gb or 32Gb) may work.

Option 1: Flash All of the Files At Once

Copy the DWIN_SET folder as-is, from the ZIP file to a blank SD card. dwin-folder-on-sd-card.png shows the DWIN_SET folder and files as they should be on your SD card, if you plan to flash them all at once:

Default DWIN_SET folder on SD Card

On DGUS2 v3.5: If you successfully flash all of the DWIN_SET files at once, the display will look like this:

On DGUS2v4.5: Any time you flash a set of files that includes the T5L...CFG file, the process ends in a colourful screen of noise, like this:

If this bothers you, you may prefer to follow Option 2 to flash your screen...

Option 2, Part 1 of 3: Flash the CFG File Separately, First

The CFG file configures your display. It is critical that the flashing of that particular file NOT be interrupted, since an incomplete flash may brick your display. You only need to flash it once, so you may want to _flash it by itself, before flashing anything else.

Create an empty DWIN_SET folder alone on the SD card, and copy just the CFG file into that. It should look like this:_

Optionally - Flash T5LCFG_272480K.CFG by itself

With power OFF, insert that card into the display and power ON to flash it.

On DGUS2 v3.5 - If flashing just the CFG file is successful, the screen will show this, pretty quickly:

Successful Flash of CFG file only

On DGUS2 v4.5 - For some reason, this step ends in this colourful noise screen, whenever you flash the CFG file:

You might see the usual blue screen display briefly before this noise replaces it. If you remove the CFG file and flash again, you will see the proper blue screen display (though it will show 000 for Configuration Files flashed, of course.)

Option 2, Part 2 of 3: Flash the HZK File Separately, Second

Flashing the HZK file loads the font data. It is a large file, so it takes a long time to flash. Since the HZK file only needs to be flashed once, and since you may need to flash your display several times with other files, you may prefer to remove the HZK file from the default DWIN_SET folder and flash it once, by itself, after flashing the T5L file and before flashing everything else.

As above, create an empty DWIN_SET folder alone on the card. Copy the HZK file into that. It should look like this:

The HZK file flashed alone in DWIN_SET

With power OFF, insert that card into the display and power ON to flash it.

On DGUS2v3.5: If flashing just the HZK file is successful, the screen will show this afer a minute or two:

On DGUS2 v4.5: If flashing just the HZK file is successful, the screen will show this afer a minute or two:

Successful Flash of HZK file only

Option 2, Part 3 of 3: Flash the rest of the files

Once the CFG and HZK files have been flashed, you can remove those two files from the default DWIN_SET folder that you copy to your SD card. The resulting card should look like this:

Default DWIN_SET without the CFG and HZK files in it

NOTE: DWIN_SET as distributed in the zip file also contains a large collection of .bmp files. You can either delete or ignore all of those. They are there for the convenience of developers only and are ignored by the display bootloader.

With power OFF, insert that card into the display and power ON to flash it.

On DGUS2 v3.5: If flashing is successful, the screen will show this afer a minute or two:

On DGUS2 v4.5: If flashing is successful, the screen will show this afer a minute or two:

NOTE You can also choose to flash any combination of the above files alone or in combination. The display will only work correctly after all of the files have been successfully flashed to it.

What a Successful FLash Looks Like

In the previous section, we showed you what to expect on the blue screen, while flashing.

"If your attempts at flashing do NOT result in the blue screen as shown, then proceed to the Troubleshooting section, below.

Otherwise, when you have completed flashing all of the DWIN_SET files to the display, you should Power OFF, remove the SD Card, and Power ON.

The display screen should first load this "splash screen", and the progress bar should fill from left to right,...

Splash Screen, if Flash Successful

... then the screen should switch to this main menu screen:

NOTE: IF, instead, the Splash Screen looks like this, a minute or so after powering-up, then proceed to Troubleshooting, below:

Motherboard Firmware Error Message

Troubleshooting

The Blue Screen Shows all Zeroes at Process END!

Blue Screen shows all zeroes - DGUS2v3.5

There are several possible root causes for this failure, but the bottom line is that the bootloader is not able to find any of the files it tries to flash, in the DWIN_SET folder on the card. It does, however, see the card and the DWIN_SET folder.

Verify that

  • the DWIN_SET folder is not empty, when viewed on your PC/MAC

  • there is only one partition on the card, and it is a Primary MBR partition.

  • that one partition is formatted FAT32, 4096 allocation units per sector

  • there are no bad sectors on the card, when you perform a surface test on the card, using your PC/MAC.

  • there are no other contents on the SD card, except for the DWIN_SET folder and its contents

Try flashing just one file at a time in the DWIN_SET folder, starting with CFG, then HZK, then each of the other files.

  • if this works for some files but not for one or more of the others, those unzipped files may be corrupted. Try replacing those files from a fresh download of the zip file.

ISSUE: The Screen Shows a Different Splash Screen or Main Menu

ADVICE: You have not flashed the Re-Factored Version 1.1 firmware.

What you are looking at is whatever remains in the display's memory, which has not yet been overwritten by the flashing process (or you are flashing from the wrong DWIN_SET folder)

Verify that you are working with the correct DWIN_SET .zip file and try again to flash per the above instructions.

ISSUE: I Hear Beeping and the Nozzle LED is Flashing

ADVICE: The CF6.1 Motherboard Firmware is programmed to signal you in that way, if it can not communicate with a compatible DWIN_SET on your display

IF the motherboard has already been flashed with CF6.1, then you will likely also see the nozzle LED flashing and hear a beeping from the motherboard, when you power-up and CF6.1 can not find a compatible version of DWIN_SET on the display.

  • Verify that the display flash screen matches the example.

  • Verify that the serial cable to the display is not damaged.

ISSUE: My touch screen is garbled, pages are shown partially or the screen stops responding

ADVICE: Your display is not correctly flashed

One or more of the files flashed to the display may have been corrupted.

  • Try reflashing the firmware using a different SD card.

  • Try downloading a fresh copy of the DWIN_SET zip file and unpack it to a different location than last time

If, alternatively, one or more memory location in the display is faulty, you will need to replace the display.

ISSUE: The Screen Stays Stuck on the Splash Screen

ADVICE: Verify that you have met all of the following Pre-Requisites

Users are often unsure whether to flash the motherboard or the display first. When they see this "Bootloader may be confused" message appear on the screen, some think it is referring to the display bootloader and display SD card. That message actually refers to the motherboard bootloader and card, assuming that the display was flashed first.

The motherboard must be flashed with CF6.1 and the display with Re-Factored DWIN_SET version 1.1, before the display and the printer will show the Main Menu screen with the message "CR6Comm-Rel6.1 Final Ready."

ISSUE: I see the main menu screen, but tapping the buttons on the screen doesn't do anything

ADVICE: Verify that the correct version of DGUS2 is installed on your display, per the README.MD file in the folder "DGUS2 kernel files"

NOTE: This is why it was STEP 1 of the README recommendations to identify which DGUS2 was running on your hardware before you started flashing anything.

  • If you inadvertently flashed your display with DGUS2 v3.5, but your display was factory-calibrated for DGUS v4.5, the screen is likely to be non-responsive. Try flashing it back to v4.5 (per the README in the kernel upgrades folder).

  • If you inadvertently flashed your display with DGUS2 v4.5, but your display was factory-calibrated for DGUS v3.5, the screen is likely to be non-responsive. Try flashing it back to v3.5.

ISSUE: The Display did not flash from the SD card (the screen remained blank or zero files were copied)

ADVICE: You must prepare the micro-SD card per the the detailed SD card formatting instructions, to host the DWIN_SET folder

The touch screen is very picky when it comes to SD cards, partitioning and partition sizes.

SD, SDHC and SDXC cards will all work with the display, but:

  • the card must be partitioned to the Master Boot Record (MBR) standard, not GPT

  • the first partition must be a Primary Partition, formatted FAT32 with an allocation unit size of 4096 sectors. To achieve that FAT32 format with an SDHC or SDXC card, the first Primary Partition must be sized <16GB. (NOTE: 16Gb is actually the threshold value. You may need to size your partition to 15Gb, to be able to select 4096 as your option in the PC OS.)

  • the display does seem to favour the older technology cards.XC cards in particular may not always work with it.

This YouTube video explains and demonstrates how to prepare SDHC or SDXC cards: https://youtu.be/CEvQpMpNxbY

When all else fails, try a different SD card

If you need more help

Check this video tutorial playlist on YouTube: https://www.youtube.com/watch?v=Q6738aiEKkU&list=PLfDSKnF0RNcYDkxM5m�

Sometimes, the problem may be how we say things, rather than what we have said. Maybe we were more clear when we wrote the FAQs?: https://github.com/CR6Community/Marlin/wiki/How-To-Flash-Firmware-to-the-CR6-printer

Welcome!

This is the documentation for the latest release of

Application

This DWIN_SET is compatible with:

  • the motherboard firmware of

  • any version of DGUS2 OS

  • the 272 x 480 pixel portrait-mode DWIN TFT display delivered stock with each Creality CR6 printer

NOTE: This DWIN_SET is NOT compatible with the AnyCubic Vyper display.

  • The Vyper is supplied with a different TFT.

  • If users wish to adapt this display to that TFT, they will need to use a bitmap editor to modify the screenmaps, and DGUSTools to refactor the application. That effort is beyond the scope of this project.

Installation Guidelines

This DWIN_SET must be flashed to the DWIN TFT display, from an SD card.

  • The SD card must be prepared as documented in

  • A high-level set of installation instructions is included in

  • Detailed Instructions and Examples for preparing-for, performing and troubleshooting problems with the flashing process are documented in

Help For Users Who Have Problems With or After Flashing Their Display

Some users will have difficulty flashing this firmware to their display.

  • e.g.: The display bootloader may not read their SD card correctly Troubleshooting advice is included in Some users will have flashed their touchscreens with a different version of DGUS2 than the one for which their display was calibrated. Those users will find that although the main menu screen is correctly displayed after flashing this firmware, the buttons will not work if tapped, as if their touchscreen is "frozen".

  • DGUS2 Kernel files are provided, with , to support users who wish to flash their screen back to a compatible version of DGUS2.

Release Notes

A brief summary of the differences between this release and the CF6.1 release is documented in

Known Issues

A brief overview of known issues with this release is documented in

Reverting to Stock Creality Firmware

Guidelines for reverting a CR6 printer from CR6Community Firmware back to Creality stock firmware are included in NOTE: Those guidelines are offered in good faith, but we obviously can not guarantee that those instructions will work, since we can not be sure what (if any) changes Creality have made or will make to their systems.

License

The CR6Community CR-6-touchscreen firmware is licensed under the GNU General Public License (GPL) v3.0

the CR6Community DWIN_SET application - Re-Factored version 1.1, released 13 March 2023.
CR6Community Firmware Release 6.1
Detailed SD Card Formatting Instructions.MD
the repo README
Flashing Help.MD
Flashing Help.MD
instructions
Release Notes.MD
Known Issues.MD
Release Notes.MD

DGUS DWIN scavenged documentation

Primary resource is T5L_DGUSII Application Development Guide20200902.pdf

Secondary resource should be T5L translated docs.docx, which is a machine translated version of this document.

Outdated documents but on some points relevant:

  • T5UID1 Application Guide.pdf

  • EN_Dwin DGUS Screen Development Guide 2016.12.19.pdf (machine translated)

  • EN_DWIN DGUS Display Development Guide_V4.3.pdf

  • EN_DGUS V5.10 User Guide.pdf

Further downloads

Check on the DWIN website download section and search for "T5L".

DGUS Kernel Files

DGUS Kernel Files

NOTE: These kernel files are not required, unless you are having problems resulting from having inadvertently overwritten the DGUS2 kernel for which your display was last calibrated.

STEP1 - BEFORE ACTING ON ANY OF THE FOLLOWING RECOMMENDATIONS:

  1. Create an EMPTY folder at the root directory of an EMPTY micro SD card.

  2. Ensure that your printer power is OFF

  3. Place that SD card in your display and cycle power ON

  4. The top line of the display will report which version of DGUS2 is currently flashed .

  5. Make note of which DGUS version is currently flashed to your display hardware (see top line on display)

  6. Take care to follow the applicable instructions below.

IF your display is currently running v3.5 and it should be running v4.5:

STEP 2:

  1. Copy T5L_UI_DGUS2_V45_20220105.BIN to the DWIN_SET folder created at step 1 above, and flash that to your display.

  2. Verify that the top line on the blue flash screen is now overwritten in red confirming that DGUS2 v4.5 is flashed

  3. Optionally repeat step 1 with an empty DWIN_SET folder, to confirm v4.5 is now the DGUS2 OS

OR

IF your display is currently running v4.5 and it should be running v3.5:

STEP 2:

  1. Copy T5L_UI_DGUS2_V35_20200730.BIN to the DWIN_SET folder created at step 1 above, and flash that to your display.

  2. Verify that the top line on the blue flash screen is now overwritten in red confirming that DGUS2 v3.5 is flashed

  3. Optionally repeat step 1 with an empty DWIN_SET folder, to confirm v3.5 is now the DGUS2 OS

Here is how to interpret what you see:

The top line of the blue boot screen always identifies the current DGUS2 OS in white text.

If the DWIN_SET folder being flashed contains a DGUS kernel BIN file, the top line is overwritten in RED text, reporting the version that has been flashed.

If the two lines are different, it may be difficult to read either line.

If the two lines are identical, the current DWIN_SET folder has reflashed the same kernel to the display.

Alt text
Full DWIN_SET extracted to an SD card
Flashing of touch screen successful
Colourful screen of noise
Colourful Noise screen
DGUS2v3.5-Flash HZK File Only successful
All remaining files successfully flashed at once
Alt text
Main Menu Screen, if flash successful
Bootloader may be confused

How-To Development Information

CAUTION: THIS FILE IS OUT OF DATE. IT IS HERE TO PRESERVE KEY USEFUL INFO UNTIL THE REPLACEMENT DOCUMENTATION (CURRENTLY IN WIP) IS READY TO POST. - Thinkersbluff.

Translations / localization

Internationalization support in DGUS DWIN is very cumbersome. The background images of each page has the text hardcoded. To translate and have it first-class, you would need to duplicate all the bmps, give it a separate ID, and maintain that mapping in firmware as well or make every label an icon, which is a lot of work. The development team has no capacity to maintain localizations.

If you like to translate the user interface to your own language, you must fork this repository and maintain your own version of the touch screen firmware.

The complete workflow would look like this:

  1. Fork this repository.

  2. Work on the extui branch (this is the branch for all work going forward)

  3. In your fork, follow the steps in the images section of this file to change the current bitmaps and translate them. There are XCF files available as the source of these bitmaps, usable in Gimp, to make life easier but you can do what you want.

  4. When we change something, it is up to you to replicate those screen changes. Therefore I recommend only to update the screen backgrounds and don't use the DWIN editor for anything other than for the purpose of generating the ICL file.

  5. Translated touch screen builds are up to you to provide which would then need to be made from the same moment as we are releasing builds.

Good luck, and if you maintain your own translated firmware, please let us know!

Documentation for development

You need the DGUS v8.2.1.14.x software for editing the touch screen.

You can open the .dgus project file in the src\DWIN folder:

DGUS II interface

Build firmware archive

To build a firmware archive for distribution, use the build.cmd script. It will do a sanity check and then zip the files to the build folder.

For development you can run the build script as follows:

.\build -Deploy Q:

Where Q: is the path of your flash drive with the SD card.

You need to have Powershell Core installed (pwsh).

Images / screen images sources

You can find the source files where the screen bitmaps are generated from in the /src/DWIN/DWIN_SOURCEimages_src folder.

To update the BMP of a screen put the generated BMP file you made with your image editor in the src\DWIN\DWIN_SOURCE folder.

Updating the touch screen firmware files

It will be picked up automatically by the build process of DWIN when saving or generating the project. However, the ICL file is what actually gets flashed. This is essentially a dictionary of concatenated compressed JFIF files.

Next, re-generate the 23_Screen.icl ICL file are follows:

Update ICL file

Things worthy of note:

  • Quality is set to 100%, followed by pressing the "Set all" button to apply it to each import file.

  • The DWIN_SOURCE is used as a source for generating the ICL.

  • The ICL is saved twice: once in the DWIN_SOURCE folder, once in the DWIN_SET folder.

As you can note, you update it in both DWIN_SET and DWIN_SOURCE. The first is what goes to the touch screen, the latter is what the DWIN editor uses (apparently).

For icon ICL generation the process is the same, except that you pick the icons from a subdirectory of DWIN_SOURCE.

Flash space

DWIN uses a specific set-up of the flash space as described in the manual - as shown below.

DWIN flash space

Essentially what it boils down to:

  • The flash space is divided into 256KB sectors

  • The number prefix on the ICL/HZK/BIN file name is the sector number where the file is flashed

  • A sector can only contain a single file

  • A file can span over multiple sectors, and if a file needs 1½ sectors for instance, it will allocate 2 sectors.

  • There is no protection against sector overwriting: if you have files overlap sectors, DWIN will happily flash the next file over the previous file

So with the above in mind one must take care to make sure files do not overlap. When you flash everything to the touch screen you must ensure you've deleted the old (renumbered) ICL files from your SD card, otherwise weird things will happen. Background may go missing, etc.

During build a script will run to make sure no sectors have been overallocated. You can also run this script manually.

DWIN sector allocation check script

How buttons are handled with code

In the currently - cleaned up - source code of the touch screen handling in Marlin, the events of the touch screen are handled as described below. This may change in the future. This picture says it all:

DWIN button-code correlation

For buttons:

  • Virtual Pointers for buttons are defined in extui/lib/dgus_creality/DGUSDisplayDef.h

  • In extui/lib/dgus_creality/DGUSDisplayDef.cpp in the ListOfVP the Virtual Pointer are connected to a callback handler

  • Because the Creality display used the same VP all over the place, sometimes in completely different functions or values (and this is quite some work to clean up!), these "legacy" VPs are delegated to DGUSCrealityDisplay_HandleReturnKeyEvent

  • For legacy VPs handlers are defined per page in extui/lib/dgus_creality/PageHandlers.cpp

    • The "Key Data" is used to distinguish between the actual key pressed and passed to these functions as buttonValue

For dynamic updatable values:

  • Dynamic updatable values are Virtual Pointers with a value that is pushed from the display when it is changed, and pushed to the display during the Marlin idle loop

  • The Virtual Pointers are defined in extui/lib/dgus_creality/DGUSDisplayDef.h

  • Per dynamically updated virtual pointer there is in extui/lib/dgus_creality/DGUSDisplayDef.cpp:

    • A registration in ListOfVP, with:

      • The VP ID

      • A pointer to the memory location to read the value from in Marlin (can be nullptr)

      • A callback that is triggered when the VP changed in the display and is pushed to firmware

      • A callback that is triggered to format the VP for transfer to the display. This is because strings need to be sent differently than floats, or if your VP does not point to a direct value in memory.

    • A mention in the specific VPList for the current page as referenced in VPMap. This is to optimize that we don't update VPs that are not displayed anyway.

  • Some values like the M117 text are transient and are pushed directly to the display, but are still present in the ListOfVP

Previous version of the code

If you like to see how the touch screen code is handled in the Creality firmware and the original Community Firmware release 3 and lower, please check the cf3-legacy branch. This branch is no longer maintained and only exists for historical purposes.

Touch screen configuration

The touch screen configuration file "T5LCFG_272480.CFG" has its specification described in T5L_DGUSII Application Development Guide20200902.pdf chapter 4. You can use an editor like HxD to explore and edit it (with caution!). The DWIN editor also has a way to edit this file. Many parameters can also be set at runtime.

Fonts

Font's are currently configured like below:

Font Settings

In the same folder where you have the DWIN tool unpacked a 0_DWIN_ASC.HZK file is placed. You need to copy that to the DWIN_SET folder, and can flash it directly. The kerning of the current font is not ideal (especially using numbers that are small, like "1"), so perhaps we should look for a replacement.

Other documentation

Vendor documentation is mirrored to the vendor docs folder.

In addition, this is a nice resource.

Credits

The core CR-6 Community firmware dev team

Icons from Font Awesome and Remix Icon.

Font from Google Fonts and customized with FontForge.

KNOWN ISSUES

Formal Release: Re-Factored Version 1.1 Release date: 9 March 2023

The following issues have been observed but not resolved, at this release:

  1. The ABLprocess no longer uses the contents of 35_Autolevel.icl to animate the collection & display of the mesh data. To enable old eyes to read the mesh, the normally white background of the initial screen has been changed to black. As a result, when the process first initializes all of the values to 0.000 in white, those zeroes are now visible to the user, until replaced by the probing process. This will not look familiar to past users of 6.1, but should not be a problem for new users.

  2. Although we have added the display of temperature readings and target values to three thermal warning screens, there is at least one known failure case where the displayed values are all zeroes, instead of the hoped-for dump of the values "seen" by Marlin, if the Thermal Runaway screen appears immediately after the printer is powered-up. That particular failure appears to be a motherboard failure, which requires replacement of the motherboard to resolve.

IF you find any other issues, please message @Thinkersbluff with the key info. TIA!

Detailed SD card formatting instructions

One of the most frequent (and frustrating) problems users have when flashing firmware to a CR6 printer is that the bootloader routines are VERY PICKY about what kind of SD Media they will work with. This file documents the critical factors and the processes most likely to help you succeed.

  • You can IGNORE this file, if you flash successfully.

  • FOLLOW IT VERY CAREFULLY, if you can NOT flash the firmware (especially the DWIN_SET firmware!)

Windows Users (Linux/MAC users, see below)

You can use the Windows File Explorer to format 16GB cards or smaller, to FAT32, 4096.

If you are trying to format an SDHC 32GB card, or a larger (SDXC) card, and can't find the option for FAT32, 4096 in File Explorer when formatting your SD card

The partition is too large. You can either use a smaller SD card or you can shrink or split the partition in Disk Manager.

NOTE: Disk Manager can only shrink volumes which are formatted NTFS. If the card is already formatted FAT32 with the wrong allocation unit size, you can use Disk Manager to:

  1. Format the card back to NTFS

  2. Shrink or Split the volume, so that the first Primary Partition is smaller than 16GB

  3. Format the first Primary Partition on the card to FAT32, 4096

If the card shows that the first partition is a Logical Partition instead of a Primary Partition

The printer will not be able to read the card, until you create a Primary Partition as the first partition on that card.

If there is Unallocated Space on the card, to the left of the Logical Partition, right click on that space and select Create New Volume. Use the Wizard to create a new Primary Partition in that space. Format that new partition FAT32, 4096.

If there is no Unallocated Space to the left of the Logical Partition, you can try right-clicking that partition and shrinking that volume to create unallocated space. (NOTE that a partition must be formatted NTFS, to be able to shrink it)

If you are not able to create a Primary Partition on that card, you may need to delete the volume on which the Logical Partition(s) exist.

Be aware that Disk Manager may not be able to read an SD card that has NO volumes on it. If you delete all volumes on the card and Disk Manager is no longer able to launch the Create New Volume Wizard for that card, you may need to use a commercial Disk Partitioning software to recover the card.

Alternatively, you may find that a digital camera or an alternative (eg. Linux or Mac) system can reformat the card for you.

Linux Users (MAC users, see below)

The SD-card should be formatted FAT32 with 4096 cluster size, with only one partition on the card, starting at sector 8192. The partion should be of type b, "W95 FAT32". Partition table type GPT does not work. The card must be partitioned as MBR, so choose type DOS.

Commands:

fdisk /dev/sdX where sdX is your SD card's device

In fdisk:

o (new DOS(MBR) partition table)
n (new partition)
p (primary)
1 (partition nr)
8192 (starting sector)
enter (last sector) ---> if your SD card is bigger than 8Gb, enter a lower sector number here so that the partition <8Gb
t (change type)
b (hex code of W95 FAT32)
w (write all changes to sd-card)

On the command line:

mkfs.fat -F 32 -s 8 /dev/sdX1
fsck.fat -v /dev/sdX1
mount /dev/sdX1 /mnt

For touchscreen firmware:

cp -r /path/to/touchscreen-firmware/DWIN_SET /mnt

Mac Users

  1. Install/Load the SDCard

  2. Use the following command, to determine the card's path:

     sudo diskutil list

It'll list all drives attached to your computer. Look for an entry that matches your SDCard size (e.g. /dev/diskXXX)

  1. Unmount the SDCard (where XXX is your SD card)

     sudo diskutil unmountdisk /dev/diskXXX
  2. Partition the SDCard

     sudo diskutil partitionDisk /dev/diskXXX FAT32 MBD R
  3. Format the SDCard

     sudo newfs_msdos -F 32 -c 8 -v micro /dev/diskXXX