/Marlin-A4MaxPro-2.0.x

đź–¨ Marlin 2.0.x optimized for the Anycubic 4Max Pro 3D printer

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Marlin 2.0.x for Anycubic 4Max Pro

Donate Forum Gitter Latest Release GitHub stars Downloads Open Issues Closed Issues Travis CI

This is the newest version of the Marlin Firmware, customized and optimized for the 4Max Pro based on davidramiro, derhopp and alfrank changes.

Why should use this firmware?

Anycubic's touchscreen implementation is very hacked together and is based on the old Marlin beta version 1.1.0-RC8. In addition, the wrong thermistor for the hotend is entered in the stock firmware, which has been fixed in this version. Also if your hotbed is concave or not straight you can use the mesh bed leveling.

How to use?

Warning: If your 4Max Pro works satisfactorily for you there is no reason to do a firmware update. Remember: There is always a way back to the original firmware Anycubic 1.1.7 (Marlin 1.1.0-RC8).

Use precompiled hex:

If you don't want to change the firmware yourself, download the latest .hex file from the releases.

Or compile it yourself:

  • Download and install Arduino IDE
  • Clone or download this repo with git clone https://github.com/Poket-Jony/Marlin-A4MaxPro-2.0.x.git
  • Browse into the Marlin folder and open Marlin.ino with Arduino IDE
  • Customize if needed (Configuration.h and Configuration_adv.h files are located in Marlin folder)
  • In the Arduino IDE, under Tools -> Board menu select Genuino Mega 2560 and ATmega2560
  • Under Sketch menu, select Export compiled binary
  • Look for the .hex files in the Marlin directory (only use the Marlin.ino.hex, not the Marlin.ino.with_bootloader.hex!)

BLTouch v3.1

  • copy the config files from /config/examples/Anycubic4MaxPro/A4MaxProBLTouch/ to /Marlin/
  • replace NOZZLE_TO_PROBE_OFFSET values with your current BLTouch mount position

After obtaining the .hex file

Flash your printer with obtained hex file. After flashing the firmware, no matter which way, you have to reset all configurable settings to their factory defaults using a terminal program (OctoPrint, Pronterface, Repetier Host, ...):

  • connect the printer via USB cable
  • open the terminal program, select the appropriate USB serial interface (on Mac: SLAB_USBtoUART)
  • change baud rate or Baudrate to 250000 bps (the original Anycubic firmware is set to a baud rate of 115200 bps)
  • connect and wait for the EEPROM values to be output
  • send the following commands: M502 (Factory Reset) and M500 (Save Settings)
  • now you can disconnect the printer, for safety's turn the printer off and on again.
  • the new firmware version is shown in the printer display

The latest CP210x USB drivers for your printer can be downloaded here.

Calibration

Do NOT skip this section! Your 3D printer is exceptionally accurate piece of equipment BUT ONLY if it is calibrated!

Linear Advance

Marlin Documentation

  • To calibrate your linear advance K-factor you can use this form.
  • Linear advance K-factor should be calibrated for every material which you use. To set new K-factor use M900 command OR
  • Use Linear Advance Settings plugin for Cura to use specific K-factor value in your profiles (or leave it 0 to disable Linear Advance). Can be found in Material tab.

Features

Filament Runout

As soon as the filament is empty when printing, a message appears on the display and the printer removes the remaining filament. Please insert a new one and press "Continue". (Sometimes the command is not transmitted correctly, then first press "Pause" and then "Continue") Now the new filament is drawn in and printing continues.

Advanced Pause

If you press "Pause" while printing, it stops and your print head moves to the waiting position. If you want to continue printing, press "Continue". Now the printhead is heated up and then moves back into position.

Mesh Leveling

Due to the concave print bed on the Anycubic, you can use the mesh leveling to fix the unevenness. Insert an SD card first and then go to the "Extra Menu" in the print menu. Select "start mesh leveling" there. The print head now moves to the first position. Place a sheet of paper under the nozzle and select "z up" or "z down" on the next page until you notice a slight rubbing on the paper. Now press "next mesh point" and repeat the process. As soon as you have reached the last point, the print head returns to the home position and you can save the new values by clicking on "save eeprom". Don't forget to integrate the mesh leveling into your gcode start script.

Credits

Marlin-A4MaxPro:

Marlin-Ai3M:

Marlin:

License

Marlin is published under the GPLv3 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.

Disclaimer

/*
* Flashing a custom firmware happens at your own risk.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
* AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/