davidramiro / Marlin-Ai3M-2.0.x

🖨 Marlin 2.0.x optimized for the Anycubic i3 Mega 3D printer
GNU General Public License v3.0
182 stars 103 forks source link
3d-printer anycubic firmware i3-mega marlin marlin-firmware mega-s

Anycubic i3 Mega / Mega-S Marlin 2.0.x by davidramiro

Donate Open Issues Closed Issues Travis CI License

Beta build - use with caution!

This is the newest version of the Marlin Firmware, customized and optimized for the Anycubic i3 Mega, based on my Marlin-Ai3M repository.

While I will try to keep this version updated with the latest changes from the Marlin firmware, for now the old readme and Wiki still applies.


Looking for a BLtouch firmware? Head this way! Mounting and configuration instructions are included.

Make sure to take a look at the Wiki, especially the FAQ.

A German translation of the instructions can be found here.

Why use this?

While the i3 Mega is a great printer for its price and produces fantastic results in stock, there are some improvements and additional features that this firmware provides:

Known issues:

How to flash this?

I provided three different precompiled hex files: One for no modifications on the stepper motor drivers - good for people who didn't touch anything yet, one for boards with TMC2208 installed and where the connectors have been flipped and one with TMC2208 and the connectors in original orientation.

Choose your precompiled hex:

Or compile it yourself:

After obtaining the hex file:

If you are using this on a Mega-S, those two additional commands are necessary:

Calibration and other instructions have been moved to the Wiki.

Manual Mesh Bed Leveling

If you have issues with an uneven bed, this is a great feature.

Special Menu

Preheat bed

Start MMBL

Z axis controls

Next mesh point

Save to EEPROM

After leveling:

Manual commands for use with OctoPrint etc.:

Testing your bed leveling

M600 Filament Change

M600 Demo

BETA: This now also works without USB printing, via SD & display.

Configuration (only needed once):

Filament change process (manual loading):

Filament change process (automatic loading):

Load Filament

Updating

Back up & restore your settings

Some updates require the storage to be cleared (M502), if mentioned in the update log. In those cases, before updating, send M503 and make a backup of all the lines starting with:

M92
G29
M301
M304

After flashing the new version, issue a M502 and M500. After that, enter every line you saved before and finish by saving with M500.

Something went wrong?

No worries. You can easily go back to the default firmware and restore the default settings.

Detailed changes:

Changes by derhopp:

Marlin 2.0

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.

Building Marlin 2.0

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:

Supported Platforms

Platform MCU Example Boards
Arduino AVR ATmega RAMPS, Melzi, RAMBo
Teensy++ 2.0 AT90USB1286 Printrboard
Arduino Due SAM3X8E RAMPS-FD, RADDS, RAMPS4DUE
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

Submitting Changes

Marlin Support

For best results getting help with configuration and troubleshooting, please use the following resources:

Credits

The current Marlin dev 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.