This is the newest version of the Marlin Firmware, customized and optimized for the 4Max Pro based on davidramiro, derhopp and alfrank changes.
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.
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).
If you don't want to change the firmware yourself, download the latest .hex
file from the releases.
- 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
andConfiguration_adv.h
files are located in Marlin folder) - In the Arduino IDE, under
Tools -> Board
menu selectGenuino Mega 2560
andATmega2560
- Under
Sketch
menu, selectExport compiled binary
- Look for the
.hex
files in the Marlin directory (only use theMarlin.ino.hex
, not theMarlin.ino.with_bootloader.hex
!)
- copy the config files from
/config/examples/Anycubic4MaxPro/A4MaxProBLTouch/
to/Marlin/
- replace
NOZZLE_TO_PROBE_OFFSET
values with your current BLTouch mount position
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
orBaudrate
to250000 bps
(the original Anycubic firmware is set to a baud rate of115200 bps
) - connect and wait for the EEPROM values to be output
- send the following commands:
M502
(Factory Reset) andM500
(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.
Do NOT skip this section! Your 3D printer is exceptionally accurate piece of equipment BUT ONLY if it is calibrated!
- Optional: (To avoid warping) Stock fan duct replacement (Ex: Vortex Fan Duct or Dowble side fan duct).
- Mandatory: Check hotend termistor - it can be loose! Try to slightly pool or push termistor's wires. If termistor moves freely - slide it all the way in the heater block. Clamp the brass tube around termistor's wires a little to secure it.
- Mandatory: Extruder PIDs auto tuning
- Mandatory: Extruder steps calibration
- Recommended: Manual Mesh Bed Leveling
- Recommended: Check FAQ in davidramiro's repo
- 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.
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.
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.
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.
Marlin-A4MaxPro:
- Jonas Plamann [@Poket-Jony]
- Ruslan Kolosovskyi [@rkolosovskyi]
- Bernhard Berger [@bernhardberger]
- [@mpk]
- [@m-kozlowski]
- [@whitecube]
Marlin-Ai3M:
- David Ramiro [@davidramiro]
Marlin:
- Scott Lahteine [@thinkyhead]
- Roxanne Neufeld [@Roxy-3D]
- Chris Pepper [@p3p]
- Bob Kuhn [@Bob-the-Kuhn]
- João Brazio [@jbrazio]
- Erik van der Zalm [@ErikZalm]
- Alexey Shvetsov [@alexxy]
- Andreas Hardtung [@AnHardt]
- Ben Lye [@benlye]
- Bernhard Kubicek [@bkubicek]
- Bob Cousins [@bobc]
- Petr Zahradnik [@clexpert]
- Jochen Groppe [@CONSULitAS]
- David Braam [@daid]
- Eduardo José Tagle [@ejtagle]
- Ernesto Martinez [@emartinez167]
- Edward Patel [@epatel]
- F. Malpartida [@fmalpartida]
- Kai [@Kaibob2]
- Luc Van Daele [@LVD-AC]
- Alberto Cotronei [@MagoKimbra]
- Marcio Teixeira [@marcio-ao]
- Chris Palmer [@nophead]
- Steeve Spaggi [@studiodyne]
- Thomas Moore [@tcm0116]
- Teemu Mäntykallio [@teemuatlut]
- Nico Tonnhofer [@Wurstnase]
- [@android444]
- [@bgort]
- [@GMagician]
- [@Grogyan]
- [@maverikou]
- [@oysteinkrog]
- [@paclema]
- [@paulusjacobus]
- [@psavva]
- [@Tannoo]
- [@teemuatlut]
- ...and many others
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.
/*
* 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.
*/