Skip to content

Releases: CR6Community/Marlin

Community Firmware release 6 prerelease 2 (Discord users only)

27 Jan 22:26
1efb1ec
Compare
Choose a tag to compare

This release is for testers in the #prerelease-testing of the Discord server only - if you are looking for Community Firmware release 5 beta, you can find that here

Instruction to Discord testers

After flashing reset to factory settings - if unsure how to flash, check the Community Firmware release 5 beta release notes.

Check for issue #159 on what is changed.

Note: the "view mesh" button does not work (not yet implemented). Do not touch.

File listing

File name                                                         Description                                                SHA256 hash
---------                                                         -----------                                                -----------
CF6-Pre2-btt-skr-cr6-with-btt-tft-2021-01-27-23-21.zip            CR-6 SE with BigTreeTech SKR CR6 and BTT TFT               7EBC34A5774420A19ADB5D5DF6280AAF62FFB2E3EEA1DCB31DC200CF5852C181
CF6-Pre2-btt-skr-cr6-with-stock-creality-tft-2021-01-27-23-22.zip CR-6 SE with BigTreeTech SKR CR6 and stock Creality screen 077A1DF6AAD5FA0D5E8AB8B5B9A63B9BFFC79438DC8F0CCE0632E05FCF47EF11
CF6-Pre2-cr6-max-2021-01-27-23-22.zip                             CR-6 MAX                                                   255183CA2E9CB87964BC4A74E76C573194B30FDBD1D243A8A2E2D53C15DE48A1
CF6-Pre2-cr6-se-v4.5.2-mb-2021-01-27-23-23.zip                    CR-6 SE (v4.5.2 motherboard)                               2EC902C4E8D818B0CE669ABD79909DC111F813A08A0D06CD88831F72DEB8EF61
CF6-Pre2-cr6-se-v4.5.3-mb-2021-01-27-23-23.zip                    CR-6 SE (v4.5.3 motherboard)                               303CFD9DE0F8F4A0D0AB02B6A636DE5756D30E62FA46130D91B735112797E3E3

CR-6 Community Firmware release 5 beta "Happy new year" edition

30 Dec 13:35
1d80040
Compare
Choose a tag to compare

First of all I want to thank everyone who has been testing the alpha 4 release of the community firmware. All the testing and feedback has made this firmware better and better. This is truly a community firmware.

Note: This is not the latest release - please check here for the current release

In the period between then and now, my Creality CR-6 has died and from its ashes it became alive once again with a BigTreeTech SKR CR-6 board. A while later I also received a new Creality CR-6 SE with the v4.5.3 motherboard. It took a while for that one to arrive, then a while for the firmware source code to be released, so it has caused some delays to get real work done. Yet, some users were able to test some fixes I was able to do without a operational printer.

TL;DR: CR-6 MAX support, SD card folder support, better Octoprint support, BigTreeTech SKR CR-6 support, native and improved filament sensor support, many stability and ABL accuracy improvements, rebased on latest Marlin, and enabled the watchdog safety feature

Table of contents

  • Special thanks
  • Other news
  • Major features (all firmware editions)
  • Detailed changes
  • Comparison with Creality stock firmware
  • Known issues
  • Flashing instructions
  • Files listing
  • FAQ
  • Reporting issues
  • Contributing

Special thanks to...

  • @grobux for designing a completely new user interface for Creality stock touch screen
  • @Thinkersbluff, @Beeble2695 and @InsanityAutomation as a sparring partner for various firmware and hardware mechanics of the CR-6
  • @InsanityAutomation for further refining the bed leveling code and submitting some things upstream
  • @Nushio for putting up testing protocols and doing an insane amount of stress testing on the firmware
  • @dabbodev for contributing configuration changes to support for the Creality CR-6 MAX
  • The Discordians in the #prerelease-testing channel for doing the initial pre-release testing
  • The various testers and contributors to the firmware, either through testing, feedback, as a sounding board to the questionnaire we sent out earlier, or even donations!

If you like to contribute to the community firmware, in one way or the other, or support the developers please check the home page of the Creality CR-6 community firmware.

Other news

  • @InsanityAutomation is using the CR-6 community firmware and rebranding it for use on machines sold by Tiny Machines
  • Some auto bed leveling features have already been merged to upstream Marlin

Major features across firmware editions

Note: This is still a beta formally - because this is based on a unreleased version of Marlin. However, thanks to the amount of effort that has gone into it, I'm confident it should be a pretty stable release!

Safety

Important safety feature: We now enabled the watchdog 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

User interface

This release features an entirely refreshed user interface by @grobux! Improved font spacing, improved graphics. JPEG artifacts be gone!

image

In addition we implemented toggles allowing you to decide if you want to hear sounds from the touch screen (or not), and if you like the touch screen display to dim to 10% on idle (30 seconds currently).

qol-settings

We've also implemented that you can tune the flow rate (the amount of filament extruded) during the print from the "tuning" screen. Very useful when tuning in new filaments. You can also control and review the fan speed percentage from the tuning screen.

flow-rate-tuning

You can also now quickly set the bed and hot-end temperature by tapping the temperature in the footer.

On the print screen we've added displays for the fan speed, flow rate, and X/Y/Z axis positions:

image

On this screen you can also set the hotend and bed temperature by directly tapping the numbers.

SD card folder support

We support navigation through folders on your SD card. No longer are you limited to 5 pages of gcode files. You can organise your SD card in folders.

folder-support

Hardware support

  • Support for Creality v4.5.2 and the new v4.5.3 motherboards. See the FAQ section to know which board you have.
  • Support for the BigTreeTech SKR CR-6 board, both with BTT TFT and stock Creality DWIN TFT
  • Support for the Creality CR-6 MAX

Octoprint

We have improved Octoprint support. We show the printer status messages also on the home screen.

image

The filament sensor is working and Octoprint acts on it - it pauses the print. Make sure you have the correct gcode in Octoprint so it parks the nozzle.

image

In addition when an Octoprint print starts we automatically show the "printing" screen with full access to all details and tuning options. You can also set the print progress using the the detailed progress plugin.

Reliability

  • Rebased on latest Marlin bugfix-2.0.x sources which will eventually become Marlin v2.0.7.3
  • Increase bed leveling and homing (Z-offset) accuracy
    • We do this by preheating before probing and turning off heaters when probing so electrical interference when reading the strain gauge is minimized
    • Homing and probing is perceived slower - but in terms of print time this is just a fraction of the time
    • By default we probe at 120C/50C - but if you have preheated your printer to a higher temperature, then that temperature is kept
    • Disable this behavior by commenting PREHEAT_BEFORE_PROBING and PROBING_HEATERS_OFF in the firmware configuration
  • Further tinkering with the movement settings for optimum performance
  • Again for Octoprint users: filament sensor is supported

Detailed Changes

  • Both homing and leveling preheat to decrease the effect of temperature differences and filament stuck to the nozzle causing issues
  • Pausing a print will no longer pause the print with the nozzle hanging over the print, but will instead now park the nozzle during the pause
  • Heaters are turned off while the actual probing is done. This reduces electrical noise which may otherwise cause inaccuracies in the Z-Offset and Bed Leveling measurements.
  • Improve reliability of probing and leveling (issue #71, issue #67, issue #49, issue #42, issue #41, issue #38)
  • Increase serial buffer size to improve reliability when printing a lot of vases via a host like Octoprint
  • Automatically enable bed leveling after homing - even if you haven't called M420 S1 before
  • Enable G26 bed leveling mesh validation tool
  • Enable PID tuning for the heated bed
  • Enable hotend time-out. This feature automatically disables the hot-end to prevent charring and jams. Currently set to 5 minutes.
  • Enable G2/G3 arc by default - useful for those using Arc Welder
  • Enable host action commands and host prompt support
  • Enable probe accuracy test M48
  • Report PID tuning progress on the status messages - you still need to run M303 manually (through serial monitor or gcode on your SD card) but you can now view the results as it happens
  • Tap the temperatures in the footer to set them

Changes specific when using Creality v4.5.2 and v4.5.3 motherboards

  • Improve reliability for SD card prints freezing - especially if using v4.5.2 boards (issue #62)
  • Improve reliability in vase mode, prevent blobs when printing vases

Changes specific when using the Creality stock display

  • When printing from a host, show 'Printing from host' instead of 'DWIN technology' as title (issue #55 and #50)
  • For some users M600 was not working - reliability has been improved (issue #58) - please read here how to use it
  • When printing from a host and removing the SD card, the home screen was displayed (issue #49)
  • Improve the flashing instructions with instructions for Windows, MacOS and Linux users.
  • Its now possible to change the flow rate (amount of filament extruded) from the "Tune" screen during printing
  • Fixed G29 in start gcode causing unexpected behaviour (issue #87)
  • If you are using an all-metal hot-end you can now enter temperatures up 450 degrees on the touch screen. You still would need to recompile the firmware so this temperature is actually allowed by Marlin.

Changes specific to BTT SKR CR6 boards

![image](https://user-images.githubusercontent.com/1426097/103158817-8e350900-47c2-11eb...

Read more

Community firmware release 4 alpha based on Marlin v2.0.7.1 - rewritten from scratch

06 Nov 18:37
e80d24a
Compare
Choose a tag to compare

In this release the interface between Marlin and the touch screen has been rewritten - this release has all Creality code rewritten. Because of this, we will mark this as an alpha and though I have been printing successfully with it, you might not - for you it might not be as stable as the previous release or have small annoyances. There will be also some rough edges, but the added features might make it worth your while. There is also some user interface improvement still to be done - but release can be considered feature complete.

As always, flashing firmware is entirely on your own risk.

Changes compared to Community Release 3 and Creality stock firmware

  • Touch screen interfacing layer between Marlin and Creality touch display has been completely rewritten (issue #1) - The code of Creality was not maintainable(1000+ line switch statements, more "if" statements than you can count, void of comments, incorrect constants).

  • Full support for folder navigation when starting a print from the SD card - your gcode files no longer need to be in the root directory

  • Loading and unloading of filament changed to Marlin native procedures and speed configurable in FILAMENT_CHANGE_FAST_LOAD_FEEDRATE (by default 6mm/s)

  • Movement tweaking Use a good default for JUNCTION_DEVIATION

  • Implement proper retrieval and save of preheat PLA / ABS settings

  • Improve auto bed leveling (issue #32)

    • More often taring/zeroing the strain gauge probe, reducing possible issues with the bowden tube or cable pulling the strain gauge up and causing false or inaccurate readings (issue #32) - for this reason you may need a lower Z-offset than in previous release. You may also be able to increase your strain gauge sensitivity to allow less flexing of the hot-end while probing.
    • Always pre-heat both bed and nozzle before G29
    • Support M48 probe accuracy test
    • Automatically save mesh after leveling from the touch screen (issue #14)
  • Filament runout detection has now been enabled by default again. (issue #19)

    • We use the Marlin native filament runout detection. This is more reliable than the home-brew implementation of Creality because it debounces any possible false readings. Give your filament sensor a chance again.
    • If you have previously used the resistor trick to bypass the filament runout sensor, you can undo it. If your filament runout sensor is really defective, you can disable it using M412 S0 - otherwise you can enable it using M412 S1.
  • Use the native Marlin print timer formatting (so format as 1d 5h 7m instead of 29:7)

  • Support HOST_ACTION_COMMANDS

  • Support G2/G3 arc support - Useful if using Octoprint with the Arc welder plugin (issue #23)

  • Support M355 for controlling the hot-end LED (issue #9)

  • Support M300 (play tone / buzzer) (issue #20) - You can now let your printer make some noise! Note that we only support the duration parameter of M300, and only with 8 millisecond precision due to the touch screen limitation.

  • Support M73 (print progress) (issue #7 and issue #27)

  • Support M75/M77 (start/stop print timer) on the touch screen level. This can be useful if printing from a host, because if you issue this gcode, the touch screen changes to the print progress screen. When printing from Octoprint, you will probably want to include this particular gcode.

  • Support M117 LCD message (issue #7) on the print progress screen

  • Support ADVANCED_PAUSE_FEATURE

    • Support M600 filament change
    • Support M701/M702 filament load/unload

Bugs fixed compared to previous release

  • Z-offset shows as 0 after start though it works correctly (issue #5)
  • Lock-up / freeze when cancelling a print (issue #25)
  • For some users, bed leveling from the touch screen indefinitely waited for the hot-end to heat up (issue #21)

Changes compared to Community Release 1 and 2, and Creality stock firmware

  • Disable CLASSIC_JERK - you can now do acceleration tuning
  • Merged Marlin 2.0.7.1, Marlin 2.0.7, and Marlin 2.0.6.1 sources (previous community firmware release was based on Marlin 2.0.6
  • Prevent first layer abort from scratching the bed (issue #12)
  • Allow the probe offset to be set in 0.01mm offsets (issue #15)
  • Save to EEPROM after bed leveling (issue #14)
  • Restore bed leveling mesh automatically after homing (RESTORE_LEVELING_AFTER_G28)
  • Enable G26 mesh validation pattern tool
  • Pre-heat PLA and ABS temperatures are properly shown in the touch screen interface
  • Save power loss recovery settings to the SD card instead of EEPROM, preventing blobs

Changes compared to Creality firmware (in addition to the changes above)

  • Save settings to EEPROM
  • Improve SD card sorting
  • Integrate filament runout feature with Marlin base code allowing it to be disabled using M412 gcode. If you have previously used the resistor trick to bypass the filament runout sensor, you can undo it. If your filament runout sensor is really defective, you can disable it using M412 S0 - otherwise you can enable it using M412 S1)
  • Based on recent version of Marlin (as mentioned above) instead of a pre-release version of Marlin 2.0.0
  • Increase reliability of filament runout sensor - allow for false positives to happen
  • Enable linear advance / pressure advance allowing you to do linear advance calibration
  • Fix temperature reporting issues in Octoprint (issue #3)
  • Drop support for Chinese (consider flashing at least the CR-6 community touch firmware v1.0.0-a1 to remove the Chinese options from the menu also)
  • Implement saving pre-heat PLA and ABS settings (issue #6)
  • Enable EMERGENCY_PARSER commands
    • Enable support for gcode command M0 with resume via M118 via the touch screen (the "power loss recovery" screen is (ab)used for this)
  • Enable S_CURVE_ACCELERATION
  • Don't execute the SD abort gcode sequence when a print is succesfully finished - you can add G1 X0 Y{machine_depth} ;Present print to your end gcode in Cura to put the bed forward after the print completes.

Known issues

  • Auto-homing shows "auto-leveling please wait" instead of "auto-homing please wait" (issue #8)
  • Fonts and font-sizes could be tidied up, especially for M117
  • Print progress for Octoprint / host printing also allows messing with the print from the touch screen. We should probably disable that - for now, don't mess with a running print when running a print from a host.
  • This release cannot be compiled from sources using Arduino IDE - use Visual Studio Code with PlatformIO instead - this is probably an upstream bug (issue #30)
  • When printing from a host like Octoprint, dwin technology might be shown as a print filename
  • Z-offset leveling needs to be done during your first print (babystepping)

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 a new version of DGUS OS (the underlying operating system of the 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 download touch screen firmware community release 4 alpha.

MAC users may need to format their SD card like this: sudo newfs_msdos -F 32 -c 8 -v micro /dev/diskXXX

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 downloadable from this release page (check the 'assets section' below) onto the 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.
  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.
  9. After flashing go to the menu and reset to factory settings or issue M502 in Octoprint - do this also if you have been running Community Release 3. You need to relevel the bed, reset the z-offset, and reprogram esteps (if you've changed them from defaults).

Release SHA256 hash: 06236286A7917240D14B6399A0A75069D606B33EB338E4766D0CF9CC0468AF00

Rollback instructions

To completely roll back to an earlier release:

  1. Flash the v1.0.0-a1 touch screen firmware
  2. Flash Creality stock firmware or Community release 3

Troubleshooting

  • Verify that the issues are not in your hardware. We've seen issues that were reported as firmware issues, but were ...
Read more

Community firmware release 3 based on Marlin v2.0.7.1

25 Oct 15:27
5b65444
Compare
Choose a tag to compare

As always, flashing firmware is entirely on your own risk. However, the chance of bricking your device is slim thanks to the bootloader. Also, the firmware is the latest Marlin with the Creality changes implemented on top of it - so there shouldn't be any unexpected behaviour.

Note: This is not the latest release - check out this link for a later (possible prerelease) release

Changes compared to previous release

  • Disable CLASSIC_JERK - you can now do acceleration tuning
  • Disable filament runout detection by default (can be enabled by M412 start gcode)
  • Merged Marlin 2.0.7.1, Marlin 2.0.7, and Marlin 2.0.6.1 sources (previous community firmware release was based on Marlin 2.0.6
  • Prevent first layer abort from scratching the bed (issue #12)
  • Allow the probe offset to be set in 0.01mm offsets (issue #15)
  • Save to EEPROM after bed leveling (issue #14)
  • Restore bed leveling mesh automatically after homing (RESTORE_LEVELING_AFTER_G28)
  • Enable G26 mesh validation pattern tool
  • Pre-heat PLA and ABS temperatures are properly shown in the touch screen interface

Changes compared to Creality firmware (in addition to the changes above)

  • Save settings to EEPROM
  • Improve SD card sorting
  • Integrate filament runout feature with Marlin base code allowing it to be disabled using M412 gcode. If you have previously used the resistor trick to bypass the filament runout sensor, you can undo it. If your filament runout sensor is really defective, you can disable it using M412 S0 - otherwise you can enable it using M412 S1)
  • Based on recent version of Marlin (as mentioned above) instead of a pre-release version of Marlin 2.0.0
  • Increase reliability of filament runout sensor - allow for false positives to happen
  • Enable linear advance / pressure advance allowing you to do linear advance calibration
  • Fix temperature reporting issues in Octoprint (issue #3)
  • Drop support for Chinese (consider flashing at least the CR-6 community touch firmware v1.0.0-a1 to remove the Chinese options from the menu also)
  • Implement saving pre-heat PLA and ABS settings (issue #6)
  • Enable EMERGENCY_PARSER commands
    • Enable support for gcode command M0 with resume via M118 via the touch screen (the "power loss recovery" screen is (ab)used for this)
  • Enable S_CURVE_ACCELERATION
  • Don't execute the SD abort gcode sequence when a print is succesfully finished - you can add G1 X0 Y{machine_depth} ;Present print to your end gcode in Cura to put the bed forward after the print completes.

Known issues (also present in Creality firmware v1.0.3.7 and lower)

  • Hot-end LED control via gcode not implemented (issue #9)
  • Extruder feed rate through LCD screen is slow (issue #4)

Flashing instructions

  1. Use an empty SD card formatted FAT32 4096KB sector size.
  2. Put the firmware .bin file downloadable from this release page (check the 'assets section' below) onto the SD card.
  3. When using Windows - do a "safe removal" to remove your SD card.
  4. Put the SD card in the printer.
  5. Either turn the printer off, then on again or issue command M997 from Octoprint/Pronterface.
  6. Verify the firmware is flashed by issuing M115 or going to "Control -> Info" on the touch screen.
  7. You can now remove the file from the SD card.
  8. Your firmware settings might not have been migrated if you migrated from a Creality firmware. You need to relevel the bed, reset the z-offset, and retune esteps (if you've changed them from defaults).

Release SHA256 hash: 06236286A7917240D14B6399A0A75069D606B33EB338E4766D0CF9CC0468AF00

Reporting issues

Open an issue on the Github repository page. Be specific in reproduction steps. Include logs from Pronterface or Octoprint. Ensure you've run command M111 S247 so everything is logged. Include pictures if useful.

v2.0.0-bugfix-a1

27 Sep 15:55
71ed695
Compare
Choose a tag to compare
  • Should no longer need Ender 3 V2 temperature fix #3
  • Save pre-heat settings properly #6
  • Drop support for Chinese