- Background
- Special thanks to all the contributors
- Installation
- After a year
- Features
- Level Menu with Separated functions: Get Auto Z offeset, Level the bed, edit bed leveling (new)
- 6x6 GRID
- Fixed Print Information details for SD Print
- Test Probe UI (CRTouch stow & CRTouch deploy)
- Custom Extrusion Menu
- Silence the buzzer
- Printer Statistics
- Reset confirmation
- Software protection against false positive reading of HotBed Termistor
- Hosts Commands and Support for Runnout Sensor
- Raised Max Temperatures Values
- Improved M600 feature
- Input Shaping via MCode M593 (removed ui menu)
- Skew Factor via MCode M852 (removed ui menu)
- Linear Advance available via MCode M900 or Slicer setting (removed ui menu)
- Removed features
After Creality released the Ender 3 V3 SE source code, many forks started to work on it and suddenly I was involved in this thread on Creality's Forum were good folks from everywhere started a conversation about what could be good enhancements for the Firmware. So I thought will be a nice contribution for the community to merge the most common forks into One Repo and start from there new features for the firmware.
- @aschmitt1909
- @queeup-Forks
- @rtorchia
- @eduard-sukharev
- And the folks from Creality Forum because they are making continuous tests and feature requests.
Tip
First you need to flash or have at least(or superior) the creality firmware version 1.0.6. and the TFT files for the display. If your printer is already in that version(or sperior) you can do it directly.
From: Latest Release of Printer's Firmware for SD download the ZIP file.
Unzip and:
- Turn Off your printer.
- Format you SD to FAT32 recommended to use MiniTool Partition or Gparted.
- Rename the file to something random, i.E. “nashav110.bin” and copy to the SD.
- Put the SD on your Printer SD-Card Reader(Not the LCD).
- Turn On your printer.
- Wait for the update to finish - it needs ~10-15 seconds.
- Reset your printer.
- Run a new Autolevel.
Caution
Disclaimer
I'm not responsable of the damage or brick that may happen to your printer if you don't know what are you doing. I'm provided this fork tested on my own printer without warranties.**
Of people's feedback, testing, many features and some improvements seems like the C13 hardware cannot handle all the goodies that @eduard-sukharev and I tried to implement on it. So after many bug reports we decided to make this repo as the firmware of the modify stock firmware for ONLY SD support, keepig the repo GCode Preview as the main one firmware to use with Octoprint.
Important
IMPORTANT
I'm dropping the development of the firmware since we reached the memory capabilities of the printer, this is the last release for the hardware version C13, the branches and files are going to still be available, but no more development, bug reports or features requests are going to be taken.
I'm migrating the work to the new Marlin upstream in the repo: Marlin 2.1 for Ender 3 V3 SE which is under progress.
So this is what we have now:
You spoke and we've heard, we have splitted the LEVEL Menu.
Based on the fork of @aschmitt1909, and merged with the PR#18 from @eduard-sukharev
Merged the fix of PR#39 from @eduard-sukharev to get the print details like filament, Estimated time and layer height, when printing from SD Card for CURA and Orca Slicer Files.
Added a custom Extrusion Menu under Prepare Menu from feature request on Issue#27. You can Extrude based on different tempearatures and lengths to match your material.
Tip
- Set your desired temperature above 195°C, else an error will come out.
- Set your desired extrusion length above 10mm, else an error will come out.
- Click on proceed.
After that the Noozzle will heat till +-3 Degrees of the desired temp and will extrude the desired length automatically.
Finally just click on the confirm button to go out the menu.
- Option to mute or unmute the LCD when you press the Knob. From feature request in: Issue #27. Sometimes you want to be quiet. To preseve the state of the feature go to Menu Control --> Save settings.
Added Submenu under Control Menu to show the Print Stats gather by Marlin. From feature request on Issue #48
To avoid undesired resets we added a confirmation menu to ensure not to loose our settings by mistake.
Starting last month(2025-06-01) my printer sometimes had a bad reading on the bed termistor causing crash on prints with several hours running, and these readings were randomly and during a short period but the printer still cancelled a job. So beacuse of that I added in the Firmware a protection for small readings to ignore it unless we have confirmation and get the same temp several times.
Based on the fork of @rtorchia
If you need to connec through Serial Port use the 115200 baudrate.
Based in the fork of TomasekJ
- For BED 110°C
- For Nozzle 300°C
Be careful with the Nozzle Temperature because the PTFE Tube from extruder will deform startint at 260°C
When using M600 code to change filament now the head will park and raise Z to a decent distant to handle the purges. Also was increased the purge lenght to have a better extrusion clean.
Due to the memory issues we kept the feature available by usig the Mcode.
Due to the memory issues we kept the feature available by usig the Mcode.
Due to the memory issues we kept the feature available by usig the Mcode.
Due to the memory issues we kept the feature available by usig the Mcode.
- Bed level visualizer.
- QR help.
- Advanced Help messages (Evaluation of the GRID)
- Custom probe height after homing.
- Extrusion Menu during Tune.
- Preheat Alert.
- M112 support removed.
- Creality G212 code removed.
Additional documentation can be found at the Marlin Home Page. Please test this firmware and let us know if it misbehaves in any way. Volunteers are standing by!
Marlin 2.0 takes this popular RepRap firmware to the next level by adding support for much faster 32-bit and ARM-based boards while improving support for 8-bit AVR boards. Read about Marlin's decision to use a "Hardware Abstraction Layer" below.
Download earlier versions of Marlin on the Releases page.
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.
To build Marlin 2.0 you'll need Arduino IDE 1.8.8 or newer or PlatformIO. Detailed build and install instructions are posted at:
| 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 |
| 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 |
- Submit Bug Fixes as Pull Requests to the (bugfix-2.0.x) branch.
- Follow the Coding Standards to gain points with the maintainers.
- Please submit your questions and concerns to the Issue Queue.
The Issue Queue is reserved for Bug Reports and Feature Requests. To get help with configuration and troubleshooting, please use the following resources:
- Marlin Documentation - Official Marlin documentation
- Marlin Discord - Discuss issues with Marlin users and developers
- Facebook Group "Marlin Firmware"
- RepRap.org Marlin Forum
- Tom's 3D Forums
- Facebook Group "Marlin Firmware for 3D Printers"
- Marlin Configuration on YouTube
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.
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:
- Scott Lahteine [@thinkyhead] - USA - Project Maintainer
- Roxanne Neufeld [@Roxy-3D] - USA
- Keith Bennett [@thisiskeithb] - USA
- Victor Oliveira [@rhapsodyv] - Brazil
- Chris Pepper [@p3p] - UK
- Jason Smith [@sjasonsmith] - USA
- Luu Lac [@sjasonsmith] - USA
- Bob Kuhn [@Bob-the-Kuhn] - USA
- Erik van der Zalm [@ErikZalm] - Netherlands
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.











