Additional documentation can be found at the Marlin Home Page. Please let us know if Marlin 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.
PlatformIO turns VSCode into a complete IDE for compiling and developing Marlin.
Visit the page to download and install the latest VSCode for your particular platform.
The first time you open the Marlin project in VSCode it will recommend you install the Auto Build Marlin extension, which will also install PlatformIO IDE. Simply answer “Yes” to install the extensions, or follow the instructions below.
Unzip the downloaded archive to your preferred location. (Although modern systems can handle very long paths, it may still help with the build process if the filepath is short without any special characters.)
You can open Marlin in Visual Studio Code in one of several ways:
1- Drag your downloaded Marlin Firmware folder onto the Visual Studio Code application icon.
2- Use the Open… command in the VSCode File menu.
3- Open the PIO Home tab and click the “Open Project” button.
Proplems:
- Fixed Build Proplem
- Fixed Z-Axis Endstop Switch
Ender 3 Z-Axis Endstop Switch Problem
The reason for Z-Axis Endstop Switch problem is not from adjusting the angle of the stop button, rather it is from the firmware Configuration. To fix the problem, you must first modify the wires of the stop button in order for it to fit into the end logic ✔️true not ❌false
Configuration.h
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true <====================================================== // Set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.