2022-07-19 13:49:17 -04:00
2022-02-19 19:15:25 -05:00
2022-06-04 01:22:02 -05:00
2022-05-15 19:35:20 -04:00
2022-07-19 13:49:17 -04:00
2021-04-24 15:23:28 -05:00
2020-10-29 00:49:18 -05:00
2022-02-28 08:49:44 -05:00
2022-04-26 23:26:51 -04:00
2020-12-17 06:18:07 -06:00
2020-07-28 01:04:44 -05:00
2022-02-19 12:23:30 -05:00

Creality Touch/TFT Screen supported firmware

This branch adds support for the Creality touchscreen machines and was split off from the standard Creality branches due to specific custom changes not found upstream. This includes extensions to the EXTui framework among other smaller tweaks that we have been working towards getting submitted upstream. Machines supported here are :

Coming Soon

Ender 3V2 has a dedicated file set. CR10 Smart has a dedicated high resolution screen set. Portrait displays use the CR6/E3 Touch variant and landscape use the combined set.

Screen files are archived with 7-Zip simply because it came out 1/5 the file size of a zip file. That added up fast!

There is a limitation with Windows systems and path depth so the file names need to be shorter than we would prefer. If you get an error compiling due to the path limit, move the folder to the root of your hard drive. Here is a legend to help decode the files:

  • BLT = BLTouch
  • BIL = Bilinear Leveling
  • UBL - Unified Bed Leveling
  • DZ = Dual Z Steppers
  • Fil = FilamentRunout
  • Slnt = Creality Silent Board
  • H = E3D Hemera Extruder
  • MC = Mosquito Creality mount
  • ME = Mosquito E3D mount
  • Melzi Host option disables local SD card to allow more features and buffer for Octoprint control
  • NF = Noise filtering for machines with cable extensions - reduces homing accuracy!
  • LR = Stock runout replaced with Lerdge
  • ZM = BLTouch connected to ZMin port instead of Probe pin 5 connector harness

Support

This firmware is provided to the public as-is with no warranty or guarantee. It's based on a large open source project and there is no entitlement to support. That said, Tiny Machines 3D customers may obtain support through their normal support queue. I will provide support to Patreons as I am able. If you require more immediate support and are not a Tiny Machines 3D customer, you may contact them at support@tinymachines3d.com about purchasing support hours. Aside from this, we are active on many Facebook groups as well as several discord channels and typically help anyone we can when we come across them.

We have now created a dedicated Discord server to handle support and archive relevant guides and instructions. Patreon supporters will get priority assistance.

Insanity Automation Discord - https://discord.gg/TKmJ85PyG4 Marlin Firmware Discord - https://discord.gg/n5NJ59y

Primary Notes for DW7.4.6

  • Added Support for the Ender 2 Pro
  • Added support for the Ender 3 S1 thanks to F1rst Layer providing a machine!
  • Added support for the new DACAI screens being used on current production E3V2 and S1 machines
  • Added support for runtime configurable runout sensors matching RRF M591 including type and polarity
  • Moved E3V2/S1 machines to Marlin Display
    • Due to the ongoing fued between developers and GPL violations involved with both the Pro/Enahnced UI and the Jyers UI, we have decided to support neither and stay away from the conflict as much as possible. The Marlin UI has more configuration functionality and the menus are more adaptive to the configuration of the machine. This is based off of the default Marlin menu system and will be the most stable long term going forward as well. The cosmetics and graphical icons may not be as nice as with the other UI's however we belive the added functionality more than makes up for it.
  • Removed non-touchscreen 8 bit UBL builds due to RAM constraints
  • Removed Pre-Built Melzi / Sanguino files. These are legacy and no longer actively supported. Its recommended to purchase replacement 32bit motherboards for any machine still using it from https://amzn.to/3KdqyI8

Primary Notes for DW7.4.5

  • Added support for CR10 Smart - Thanks to Tinymachines for providing the machine
  • Revised file size issues causing corrupted screens on DWINOS3/4 displays (Sermoon, E6/7 etc)
  • Added support for enabling / disabling filament runout and power loss recovery on the touchscreen
  • Added LED control for equiped machines
  • Resolved issue redirecting some users to chinese language displays instead of manual move screens
  • Update to upstream current as of 2022-02-04
  • CR6 / E3 Portrait Touchscreen files have an added NextGen dwin set. This supports the new DWIN OS 4 screens that began shipping in december. There are a few cosmetic issues left to resolve, but we decided to add them now anyway so that users who haver that hardware and will require it are not stuck.

Primary Notes for DW7.4.4

  • Added Feedrate / Accel / Jerk Screens
  • Touchscreen DGUS tools bumped to 8.2
    • All Portrait displays operate with the same build
    • Older screens (10S Pro) audio file selection is a bit off, havnt found a way to properly enforce wav file used yet
  • Ender 7 support
  • Sermoon D1 Support
    • Some users have reported Z clicking that the scripts run in the Leveling screen resolves, so if you hear clicking from the Z stepper when printing, run measuring from the leveling screen after powerup before printing.
  • E3V2 Screens Icon issue fixed thanks to note from Jyers on icon file size limit

Primary Notes for DW7.4.3

  • PID Messaging Fixed
  • M600 / Advanced pause messaging improved
  • Volume / Brightness numeric entry fixed
  • Bump base to 2.0.9.2 -- Includes improved UI for the E3V2 with expanded menus submitted by Jyers
  • Add Gcode configuration to disable BLTouch High Speed Mode to allow runtime config to support CRTouch -- This one is pending upstream https://github.com/MarlinFirmware/Marlin/pull/22916
  • Untested preliminary support for the Sermoon D1 -- Preliminary reports say it works aside from the LCD -- I do not own one of these, however a local community member has offered to bring his down when im done with the Ender 7
  • CR30 Support Added

Primary Notes for DW7.4

  • Added Screen Calibration Options -- Standby Brightness -- Volume -- Both now saved in EEPROM -- Screen configuration code based loosely on the work from the CR6 community modified for this screen model -- Automatic Screen rotation for the Ender 6 (Default is upside-down)
  • Manual Mesh Controls for no Probe machines -- CRX and Ender 6 with no Probe can now use all mesh controls -- All machines now use the same screen files except for Ender 3 V2 Rotary Dial machines and CR6
  • Home button added to 5 point adjustment screen
  • Tap mesh values to manually type in a new value - allows for manual adjustment of mesh values
  • Additional functions, messaging on pause / filament runout -- No will no longer cancel print -- Depending on state, if only option is continue (eg Reheat, Load filament) Any response continues -- On final Confirm Continue, No will purge more filament and Yes will resume
  • Most places temperatures are shown, can now tap them to type in a value to set the temerature
  • Updated to Marlin 2.0.9 Base
  • CR6 Branches merged in -- Support for this machine is primarily based on the fork by the CR6 Community

Primary notes for DW7.3

  • File browser rewritten to support paging as well as subdirectories -- New file browser has a limit of a 66 character directory depth. This can be expanded at the cost of more RAM if users find this more limiting. -- Due to the above, the current recommendation is to try and limit folder depth to 3 subdirectories and keep names short if possible.
  • Base bumped to Marlin Bugfix as of 20210418

Changes for DW7.3.1

  • Added SD file refresh button for users with damaged SD Detect Pins
  • Modified print finish button action to raise z by 5mm and disable steppers rather than rehome XY
  • Solve rounding issue with babystepping below step precision by forcing always round up caused by recent upstream change
  • Modified babystepping resolution for fine adjustment to .02mm from .01mm
  • Force file pages to reset paging value on entry to screen to prevent incorrect scrolling
  • Additional string length buffer safeties

The default build button is now a batch Build All! If you want to build a custom stock 2560 environment, use the env:megaatmega2560 environment. For SKR 1.3/1.4 boards use the LPC1768/9 environments as usual. For SKR Mini or Creality STM32F1 boards use the standard STM32 environments per vendor.

About Our Branches

The firmware branches maintained here are made possible by the support of Tiny Machines 3D as well as our customer base through our 3D printing Services. Maintaining and developing these branches takes a significant investment, made up of time and machines. To support continued development, please consider your next 3D Printer related purchase from Tiny Machines 3D and thank them for supporting open source development. Or, consider us for printing services outside of your machines capabilities. Print service requests can be sent to d.menzel@insanityautomation.com and we will respond typically within 1 working day. If you do not need anything printed or a 3D Printer but still want to contribute, you can support us through Patreon.

Setup

All configuration options intended to be adjusted by end users have been placed in the top section of Configuration.h and have been documented there. There is typically a break line to segregate the standard configuration below. Anything aside from the upper options is intended for advanced users only. Please keep in mind when flashing the Creality 32 bit boards with the binary files (.bin) that occasionally they will not accept particular filenames. This is most common with reflashing after an aborted flash. The machine stores the filename it was last flashed with, so renaming the file to something such as firmware.bin or firmware1.bin (anything different than what it is now) will typically resolve any issue with file names.

Known Issues

  • While auto leveling (measuring) is in progress pressing other buttons on the screen can abort portions of the script depending where it is
    • The process includes heating the bed before probing, probing then heating the nozzle before moving to Z0.
  • Thanks to Jarrett Wendt for finding that if you are experiencing distorted sounds, and use a Mac, the default Archive Utility on MacOS has been found to be corrupting the files. If you're on a Mac, try unzipping with The Unarchiver or Keka instead.

Future Goals

For this branch, we still have some active goals open that we plan to continue working on provided there is continued interest in the project.

  • CR10 Smart Power controls and network reset pin output to web interface device
  • Add temp reporting to leveling screens so preheat is less of a mystery
  • Revise aux leveling to use probe and deviation reporting when present
  • Determine cause of clicking on Sermoon (need to get hands on a machine)
  • Add CR5 Support
  • Add Ender 3 S1 support

Creality Firmware Branches

Formbot / Vivedino Firmware Branches

Mamorubot / HieHa Firmware Branches

Other Firmware

Marlin Commit History

Marlin

This is just one of many forks of Marlin. We don't try to bury that behind fancy marketting or anything else. As you can see from the links above, most of the work done here is submitted back to the mainstream Marlin branches. The end goal of every project is to get it to the point where it is merged and maintained there. See marlin resources, including how to contribute to the Marlin Project as well, down below.

MarlinFirmware's logo

Marlin 3D Printer Firmware

GPL-V3.0 License Contributors Last Release Date CI Status GitHub Sponsors
Follow MarlinFirmware on Twitter

Example Configurations

Before building Marlin you'll need to configure it for your specific hardware. Your vendor should have already provided source code with configurations for the installed firmware, but if you ever decide to upgrade you'll need updated configuration files. Marlin users have contributed dozens of tested example configurations to get you started. Visit the MarlinFirmware/Configurations repository to find the right configuration for your hardware.

Building Marlin 2.0

To build Marlin 2.0 you'll need Arduino IDE 1.8.8 or newer or PlatformIO. We've posted detailed instructions on Building Marlin with Arduino and Building Marlin with PlatformIO for ReArm (which applies well to other 32-bit boards).

Supported Platforms

Platform MCU Example Boards
Arduino AVR ATmega RAMPS, Melzi, RAMBo
Teensy++ 2.0 AT90USB1286 Printrboard
Arduino Due SAM3X8E RAMPS-FD, RADDS, RAMPS4DUE
ESP32 ESP32 FYSETC E4, E4d@BOX, MRR
LPC1768 ARM® Cortex-M3 MKS SBASE, Re-ARM, Selena Compact
LPC1769 ARM® Cortex-M3 Smoothieboard, Azteeg X5 mini, TH3D EZBoard
STM32F103 ARM® Cortex-M3 Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini
STM32F401 ARM® Cortex-M4 ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6, Artillery Ruby
STM32F7x6 ARM® Cortex-M7 The Borg, RemRam V1
SAMD51P20A ARM® Cortex-M4 Adafruit Grand Central M4
Teensy 3.5 ARM® Cortex-M4
Teensy 3.6 ARM® Cortex-M4
Teensy 4.0 ARM® Cortex-M7
Teensy 4.1 ARM® Cortex-M7
Linux Native x86/ARM/etc. Raspberry Pi

Submitting Patches

Proposed patches should be submitted as a Pull Request against the (bugfix-2.1.x) branch.

  • This branch is for fixing bugs and integrating any new features for the duration of the Marlin 2.0.x life-cycle.
  • Follow the Coding Standards to gain points with the maintainers.
  • Please submit Feature Requests and Bug Reports to the Issue Queue. Support resources are also listed there.
  • Whenever you add new features, be sure to add tests to buildroot/tests and then run your tests locally, if possible.
    • It's optional: Running all the tests on Windows might take a long time, and they will run anyway on GitHub.
    • If you're running the tests on Linux (or on WSL with the code on a Linux volume) the speed is much faster.
    • You can use make tests-all-local or make tests-single-local TEST_TARGET=....
    • If you prefer Docker you can use make tests-all-local-docker or make tests-all-local-docker TEST_TARGET=....

Marlin Support

The Issue Queue is reserved for Bug Reports and Feature Requests. To get help with configuration and troubleshooting, please use the following resources:

Contributors

Marlin is constantly improving thanks to a huge number of contributors from all over the world bringing their specialties and talents. Huge thanks are due to all the contributors who regularly patch up bugs, help direct traffic, and basically keep Marlin from falling apart. Marlin's continued existence would not be possible without them.

Administration

Regular users can open and close their own issues, but only the administrators can do project-related things like add labels, merge changes, set milestones, and kick trolls. The current Marlin admin team consists of:

License

Marlin is published under the GPL license because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.

While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.

S
Description
No description provided
Readme GPL-3.0 2.6 GiB
Languages
C++ 65.6%
C 32%
Python 0.8%
Shell 0.6%
Linker Script 0.5%
Other 0.3%