CR6Community / Marlin

This Marlin fork has the goal of cleaning-up the source code changes for the CR-6 so it can be merged upstream. We also want to extend the functionality to make it fully functional
GNU General Public License v3.0
474 stars 82 forks source link

Community Firmware 6.1 - Provisional release notes #241

Closed Sebazzz closed 3 years ago

Sebazzz commented 3 years ago

This release is a smaller release to implement some feature requests and issues reported in release 6. All the testing and feedback has made this firmware better and better. Thank you for testing and sending your feedback.

TLDR: Added PID tuning, interactive e-steps calibration, overriding slicer retractions, custom ABL probing settings, many more configuration knobs and stability improvements.

Unfortunately the CR-6 Community Firmware team has been made aware of illegitimate copies of the CR-6 Community Firmware being sold by a certain individual. If you find any cases of the Community Firmware being sold, please let us know.

Table of contents

Hardware Supported

This release of the CR-6 Community Firmware supports the following hardware configurations:

Previous Community Firmware Release History:

For a summary of features added at previous releases of the Community Firmware, please review:

New Features at Release 6.1

This section summarizes the features which were added or modified in the Community Firmware since the "Tune it, love it" version (Release 6.) For a summary of any bug fixes made, see the section "Bug Fixes at Release 6.1", below.

Check here how to activate this feature

Issues resolved in Release 6.1

For a full list of added features and bugs fixed at Release 6.1, see the Community Firmware Release 6.1 milestone. For a full list of added features and bugs fixed at Release 6, see the Community Firmware Release 6 milestone.

Comparison to Creality firmware

See for a full list the Community firmware 4 alpha release notes, but some highlights here:

Some bugs fixed

Some bugs may be fixed in the Creality v2.x firmware too - this list compares to the Creality v1.0.3.7 firmware on which the BTT SKR firmware is also based.

Known issues

For a full list of things found and fixed for the next release - please check the Community Firmware 7 milestone

When using the Creality stock touch screen:

For the BTT SKR CR6 board with BTT TFT:

Features not available in this firmware

Important Safety Warnings

The Community Firmware enables the watchdog timer function for STM32F1 processors - if Marlin would freeze from some reason (like due to SD card issues) the printer is automatically reset and the heaters are disabled - this feature is not enabled on the stock Creality or BTT firmware

Included in the downloadable Assets on this page is one pre-compiled version of the Community Firmware with this Watchdog Timer disabled.

CR6Comm-CF6-Final-cr6-se-v4.5.2-mb-no-watchdog-2021-03-27-15-53.zip is provided to support the troubleshooting by owners of printers using the Community Firmware on 4.5.2 motherboards, which appear to be repeatedly rebooting themselves.

This special version of the firmware is designed only to help users confirm or eliminate the possibility that the watchdog timer function is rebooting their machine. It is not intended to be used on unattended printers or to "solve" the rebooting problem.

Community Firmware Architecture

This Community Firmware is comprised of two firmwares to flash:

  1. A Community Firmware Motherboard module, based on Marlin bugfix 2.0
  2. A Community Firmware Display module (for the Creality Stock Displays only).

The Marlin firmware on which this Community Firmware is based is designed to facilitate the customization of the firmware to run on a wide variety of hardware configurations.

Compiled versions of the Motherboard firmware are provided in the Assets section at the bottom of this page, each uniquely configured for one of the motherboards listed under Supported Hardware, above. The latest version of the Community Firmware Motherboard module is maintained on the CR6Community/Marlin GitHub page.

The Community Firmware Display module is ONLY required on Creality stock (DWIN) TFT displays.

A compiled version of the Display firmware module + the DGUS OS installer program are included as an embedded zip file inside the Motherboard firmware zip files, for each of the supported hardware configurations that include the stock Creality TFT. The latest version of the Community Firmware Display module is maintained on the CR6Community/CR-6-touchscreen GitHub page.

The Display firmware module and the Motherboard firmware module on printers using both Creality Motherboard hardware and Creality TFT hardware must be a matched-pair.

On printers using both Creality Motherboard hardware and Creality TFT hardware, Community Firmware UI controls and displays are implemented as a collaboration between the Display firmware and the Motherboard firmware.

e.g.: On the Creality TFT: Pressing a "button" on the Creality TFT results in the Community Firmware Display module sending messages to the Community Firmware Motherboard module, sometimes eliciting a response back.
When the Community Firmware Motherboard module needs to display information to the user, it sends a message to the Community Firmware Display module, which then displays the information on the TFT screen.

NOTE: Although it is physically possible to load a Motherboard firmware module from one release and a Display firmware module from another, the printer system will not operate correctly if you do. For this reason, at Release 6 of the Community Firmware we have added "version checking" to alert the user if the two firmwares do not match.

BTT TFT displays do not use the Community Firmware Display firmware module or the DGUS OS.

BigTreeTech (BTT) TFT v3.0 Displays can also be used with the Community Firmware in systems where the printer has a BTT SKR CR6 motherboard installed. In that case, though, the display must be flashed with the BTT Touchscreen Firmware, NOT the Community Firmware Display module.

On printers using the BTT SKR CR6 motherboard hardware with BTT TFT hardware, the Community Firmware Motherboard is designed to work with the BTT Touchscreen Firmware.

The BTT TFT display Firmware is ONLY required on BTT TFT displays. The latest version of the BTT Touchscreen Firmware is maintained and released by BigTreeTech on their GitHub page.

Hardware Dependencies and this Community Firmware

Unless otherwise stated, all features documented in these release notes are available on all supported hardware configurations. Any features which are limited to specific hardware configurations are highlighted as such.

Some of the Community Firmware functionality is only available when installed on specific combinations of hardware. This happens because our user community sometimes choose to modify their systems with non-stock components which require firmware configurations that are only compatible with those non-stock components. Some of those components in-turn enable functionality not available from the Creality stock components.

Some hardware differences can be accommodated by making printer setup functions available in the menu system. (e.g. Extruder steps/mm to support the use of non-stock extruders)

Some hardware differences require accommodation through changes to the configuration settings in the Motherboard firmware. (e.g. Pins.h to support hardware differences between Creality 4.5.2 and 4.5.3 motherboards)

Some Community Firmware functionality is only available on the BTT SKR CR6 motherboard because BigTreeTech chose to implement different features on their motherboard. (e.g. Neopixels support)

Since our users are likely most interested in what this firmware can do on their own printer, but may also be curious about the possible impact of making hardware changes, these release notes make it clear whenever the availability or functionality of a feature is hardware-dependent.

Flashing instructions

Note: This release is accompanied by a new firmware for the touch screen. This release and the new touch screen firmware goes hand-in-hand - one cannot be used without the other.

Touch screen flashing instructions

This release of the touch screen firmware comes with version 3.5 of the DGUS OS (the underlying operating system of the Creality DWIN touch screen) to fix text rendering issues.

Flashing instructions are also available as a video - this video is for the Ender 3 V2 but the same procedure applies to the CR-6. For instructions, check the README.txt in the touch screen firmware download.

For this release the touch screen firmware and flashing instructions are included in the firmware release package. Be sure to follow the instructions carefully. If you experience issues, try flashing the touch screen a second or even a third time. It doesn't always "take" all the files. Sorry - hardware limitation!

Mainboard / Marlin flashing instructions

  1. If you like to remember what settings you had, run M503 in a serial monitor.
  2. Use an empty SD card formatted FAT32 4096KB sector size.
  3. Put the firmware ".bin" file from the zip file in the root folder of your SD card
  4. When using Windows - do a "safe removal" to remove your SD card.
  5. Put the SD card in the printer.
  6. Either turn the printer off, then on again or issue command M997 from Octoprint/Pronterface.
    • BTT SKR boards will flash the hot-end led while the firmware is flashed and rename the firmware.bin file to firmware.cur.
    • Creality boards will give no indication of correct flashing - except for the fact that it took a few seconds for the flashing to complete
  7. Verify the firmware is flashed by issuing M115 or going to "Control -> Info" on the touch screen.
  8. You can now remove the file from the SD card.

cf61ready

The version should be shown when flashed successfully. If it is not shown, try rebooting your printer, reflash the motherboard by renaming the .bin file, reformatting the SD card, or trying a different SD card

Configuring Your Printer After Flashing

  1. Go to the Setup menu.

    • Verify that the INFO screen shows the correct build volume and the correct firmware version
      • If any of the fields are blank or contain incorrect information, the flashing process has failed. Try again.
    • Select Reset to Factory settings and Cycle printer power OFF/ON OR - issue M502 followed by M500 via the serial interface from a Terminal software like Octoprint.
    • Review and adjust any of the printer configuration and performance parameters on the Setup menus to your preferred settings
  2. Go to the Calibrate menu

    • Select the Level submenu
      • Review/adjust the Leveling Settings to your preference
      • Relevel the bed
      • Recalibrate the z-offset
    • Reprogram esteps (if you are not using the stock 93.0 steps/mm)
    • Do a PID tune (if you find that the heating is not reliable for you or if you use high temperature plastics like ABS and nylon).

Your printer is now ready to Prepare and Print, using the latest Community Firmware. Enjoy!

FAQ

Some frequently asked questions. Your question will most likely be answered here!

How do I know if I have a Creality v4.5.2 or v4.5.3 motherboard?

I have a v1.1-ERA motherboard. What firmware do I flash?

At least one CF6 user has confirmed to us that their system works correctly, after flashing the v4.5.3 firmware.

I don't want to open my printer. What happens if I install the firmware for the v4.5.3 motherboard on my v4.5.2 motherboard

No smoke - or at least, not due to the firmware. However, during homing the printer won't be able to read the optical sensor on the gantry. So it won't know when to listen to the strain gauge and may drive the nozzle into the print bed.

Does it matter if I flash the touch screen or motherboard firmware first?

No - you can flash in either order or you can flash both at once. Though, I advise to flash the touch screen first.

I'm having trouble flashing the touch screen firmware / things aren't working / I'm seeing garbled or missing text

Try reflashing your touch screen firmware. Read the flashing instructions carefully. The DWIN stock touch screen is very picky when it comes to SD cards. Sorry, we nor Creality can't change this.

After flashing the touch screen it only shows a black display

This has occurred to some users while upgrading to either official or community firmware, but it is unclear why this happens.

Make sure you haven't accidentally shorted the PCB of the touch screen when you attempted to flash it. Because the DWIN touch screen uses SRAM, it takes a while for the error condition to clear. Turn off the printer for 5 minutes or more and try reflashing the touch screen.

I have leveling issues / my prints don't stick to the bed

Your Z-offset isn't the same as with a previous firmware due to leveling accuracy improvements.

Also try cleaning your bed with hot soapy water. You may have touched it or it may just have accumulated too much filament residue.

My nozzle is driven into the bed

Ensure the optical sensor is properly connected. You can verify this by running command M119 from a serial monitor, blocking the optical sensor, and running the command again. You should see a difference in the output, regarding the probe_en endstop.

A previous release of the community firmware was (incorrectly) tolerant of this sensor being connected incorrectly. On the v4.5.3 board it should be connected to port J2.

If your sensor is broken, build the firmware yourself with the option '#define PROBE_ACTIVATION_SWITCH` commented out.

My printer reboots when printing (Creality v4.5.2 boards)

Make sure your SD card isn't corrupt. Also some v4.5.2 boards do not like some types of SD cards.

A small number of v4.5.2 boards also get overloaded by the more features that are enabled by the firmware. For most boards it isn't an issue, but some particular v4.5.2 boards are unstable. Nothing you can do, stock firmware for you only - or upgrade to a v4.5.3 or a BigTreeTech SKR CR6 board.

You can also try CF[version]-cr6-se-v4.5.2-mb-no-watchdog-[date].zip firmware, but be aware: if the firmware would freeze then there is nothing that prevents the printer from overheating. Use with caution!

The temperatures go up/down/up/down while bed leveling

That is by design to improve bed leveling accuracy. You can turn that behaviour off by disabling "Better accuracy" in the leveling settings (not recommended).

Reporting issues

Please follow the instructions here carefully. Issues not following the issue template will be closed due to insufficient information.

Troubleshooting

Feature requests or other input

Feature requests are welcome! Let us know in the issue tracker!

Contributing

Your contributions are very welcome!

Some final notes

File Listing

The firmware files can be downloaded using the links provided in the assets section at the bottom of this page. Note that each file name includes the motherboard for which that particular version has been compiled.
In the case of the BTT motherboard, there are also separate files for those using the Creality Stock Thin Film Transistor (TFT) display and for those using a BTT display in LCD mode.

If you are using a BTT TFT v3.0 display in LCD mode, then you only need to flash the motherboard firmware, which includes the Marlin UI.

If you are using the stock Creality TFT touch screen display, then you must also flash the display with a DWIN firmware that matches the motherboard firmware. The DWIN firmware files are embedded as the zip file DWIN_SET.zip within the applicable motherboard firmware zip files.

Take care to download the correct version of the firmware according to both the motherboard and the display type in your printer.

You can find descriptions of the files and the file SHA256 hash codes in this section in the table below (scroll right to see it all).

For use with the CR6-SE:

File name                                                                          Description                                                                      SHA256 hash
---------                                                                          -----------                                                                      -----------
File name                                                                    Description                                                                      SHA256 hash
---------                                                                    -----------                                                                      -----------
CF6.1-Final-btt-skr-cr6-with-btt-tft-2021-06-04-16-50.zip                    CR-6 SE with BigTreeTech SKR CR6 and BTT TFT                                     71165089A7B16D5436F3C914DA14AABAC0B67DF5E2891E151AAF456A829F0554
CF6.1-Final-btt-skr-cr6-with-stock-creality-tft-2021-06-04-16-50.zip         CR-6 SE with BigTreeTech SKR CR6 and stock Creality screen                       8776DCD082EB8E9A5B92202160CBB646F43DE32F268CD1248CEB53744C8FD052
CF6.1-Final-cr6-se-v4.5.2-mb-2021-06-04-16-52.zip                            CR-6 SE (v4.5.2 motherboard)                                                     557EEF720F2224C9FE7F8BDF39AAAB2BDCEBB4CF4E49F5872B9FF69BA8FA446B
CF6.1-Final-cr6-se-v4.5.2-mb-no-watchdog-2021-06-04-16-53.zip                CR-6 SE (v4.5.2 motherboard) (no watchdog - caution - thermal runaway possible!) 4F7F81A3575B5C0E1948DE3EE7332EC05D8A47115102146D9FDF48FF2F548B88
CF6.1-Final-cr6-se-v4.5.3-mb-2021-06-04-16-53.zip                            CR-6 SE (v4.5.3 or v1.1-ERA motherboard)                                         42EDCB4726A42600555ACE7CBC6DA9A30C5D7135ADBE5E7F3D8EFEE20046D8A7

For use with the CR6-MAX:

File name                                                                          Description                                                                      SHA256 hash
---------                                                                          -----------                                                                      -----------
File name                                                                    Description                                                                      SHA256 hash
---------                                                                    -----------                                                                      -----------
CF6.1-Final-cr6-max-btt-skr-cr6-with-btt-tft-2021-06-04-16-51.zip            CR-6 MAX with BigTreeTech SKR CR6 and BTT TFT [experimental]                     9639C6DEDEA8AA88C544A5295479BC827CC7A155489D311654ADD6BD54478418
CF6.1-Final-cr6-max-btt-skr-cr6-with-stock-creality-tft-2021-06-04-16-51.zip CR-6 MAX with BigTreeTech SKR CR6 and stock Creality screen [experimental]       8E748CAA8D60BE9AD59447D0AB6276A99FC8A13976B026B146A74659BAACA333
CF6.1-Final-cr6-max-stock-mb-2021-06-04-16-52.zip                            CR-6 MAX (stock motherboard)                                                     71F01640EE8EA958EFD49F63A02CEE4F3BEC5B6304AAB4F684C797611424E653

Source Files:

File name                                                                          Description                                                                      
---------                                                                          -----------                                                                      
Source Files (zip)                                                                 The source files for the motherboard firmware in this release (.zip file)
Source File (tar.gz)                                                               The source files for the motherboard firmware in this release, (.tar.gz file)

Downloads below - find the correct download for your printer(s) in the file listing above

Thinkersbluff commented 3 years ago

Could this just summarize what changed at 6.1, please? “ TLDR: Added PID tuning, interactive e-steps calibration, overriding slicer retractions, custom ABL probing settings, many more configuration knobs and stability improvements.”

Thinkersbluff commented 3 years ago

Should Issue#237 be listed under milestone 6.1?

Sebazzz commented 3 years ago

Should Issue#237 be listed under milestone 6.1?

It is, isn't it?

Thinkersbluff commented 3 years ago

Should Issue#237 be listed under milestone 6.1?

It is, isn't it?

Am I looking in the wrong place? image

Sebazzz commented 3 years ago

Should Issue#237 be listed under milestone 6.1?

It is, isn't it?

Am I looking in the wrong place? image

That issue is closed, isn't it? You're filtering on open issues.

Thinkersbluff commented 3 years ago

Hah! Mind if I update the Release Notes to add that Filter setting where it says,"to view a complete list.."? Seems we don't see a complete list of closed unless we also filter on closed...

Sebazzz commented 3 years ago

Hah! Mind if I update the Release Notes to add that Filter setting where it says,"to view a complete list.."? Seems we don't see a complete list of closed unless we also filter on closed...

Once it is actually released then all the issues will normally be in a closed state as well, so then it doesn't matter.

Thinkersbluff commented 3 years ago

For those of us not as familiar with navigating in GitHub, please rephrase: "For a full list of added features and bugs fixed at Release 6.1, see the Community Firmware Release 6.1 milestone. For a full list of added features and bugs fixed at Release 6, see the Community Firmware Release 6 milestone."

To read: "For a full list of added features and bugs fixed at Release 6.1, see the Community Firmware Release 6.1 milestone and select "Closed". For a full list of added features and bugs fixed at Release 6, see the Community Firmware Release 6 milestone and select "Closed".

Sebazzz commented 3 years ago

That is not necessary, like I said: when CF6.1 is released, the "open" filter is not preselected, hence all items are visible 😉

Thinkersbluff commented 3 years ago

This particular fix for end-stops not triggering on Creality MB looks important for CF 6.1 users to know about. https://github.com/CR6Community/Marlin/commit/6ea5556c563a4d57c35ed4cf362b39fe984b7615

Would it help to put a corresponding issue on file, so that it shows up when they hit that link for a complete list of all issues resolved?

BloodyRain2k commented 3 years ago

Does 6.1 fix the M300 command? Or is it even a bug in CF 6.0 that my CR-6 only produces a single beep, no matter the parameters I use for M300?

It's still way better than stock: knowing when it finished preparing and starts to print, so I can check that the first few layers are done properly, and knowing when it's done.

But I'm still wondering why it just has a single kind of beep, of if my CR-6 is just "special".

Sebazzz commented 3 years ago

No bug has been reported regarding M300.