Downloading an earlier version of marlin






















This question is really important because having a bootloader is a prerequisite to be able to flash firmware to your printer using just a USB cable connected directly between your computer and your printer. So how can you know if your printer mainboard has a bootloader on it? It's not possible to tell unless you just try it out using the USB cable.

I have made several videos to explain how you can flash a bootloader to one of these Anet boards. THIS other video explains, how to flash the bootloader using a cheap programmer device that you can get for under 10 USD with the required adapter. If you find out that you're not able to flash firmware using a USB cable, go and install a bootloader first and then come back to this video and continue from here.

The github link is in the description of this video. On the Marlin github page, first click on the Branch button and then select the bugfix We wanna make sure, we get the latest version with all the latest bugfixes. The printer specific configuration files that we need as a starting point - they used to be in this config folder of the Marlin repository - but they have been moved to another location - another github repository.

Inside of this second repository - once you unzipped it to a different folder on your computer - you will find the configuration files that you're looking for. Copy all files from this folder into the Marlin folder that is located inside the Marlin repository. Make sure you confirm to overwrite all existing files. In the previous guides to flash Marlin firmware, I have used the Arduino IDE for compiling and flashing Marlin firmware and this is still possible but the recommended way for the future is to use Visual Studio Code with PlatformIO, which I will show you in this video.

So, let's first make sure to install visual studio code from www. Make sure you don't accidently select the full blown visualstudio for pc or visualstudio for mac if you're a mac user. Visual Studio Code is the thing that we need and that works. After installing visual studio code, you need to launch it for the first time and open the extensions tab on the left hand side of the window. Now, click the "Install" button and wait until the installation process is finished.

Don't launch any other installation at the same time and make sure, you don't close visual studio code until it's done installing. There might be a message saying "Please restart VSCode" after the installation. If you see this, please close Visual Studio Code and launch it again. After the installation is finished, click on the extensions tab of visual studio code again and search for the extension "auto build marlin".

Now, we are ready to do the final touches to our Marlin configuration before we will upload it to the mainboard.

First, open the Marlin folder in visual studio code by clicking the folder icon in the left menu bar and then clicking "Open Folder". If you typically use 1. This value is used by Marlin to compensate for Filament Width when printing in volumetric mode See M , and by the Unified Bed Leveling command G26 when printing a test grid. You can override this value with M W. In a single-nozzle setup, only one filament drive is engaged at a time, and each needs to retract before the next filament can be loaded and begin purging and extruding.

Enable support for the Prusa Multi-material unit 2. This requires a free serial port on your printer board. To use the MMU2 you also have to. A Switching Extruder is a dual extruder that uses a single stepper motor to drive two filaments, but only one at a time. The servo is used to switch the side of the extruder that will drive the filament.

The E motor also reverses direction for the second filament. A Switching Nozzle is a carriage with 2 nozzles. A servo is used to move one of the nozzles up and down.

The servo either lowers the active nozzle or raises the inactive one. Two separate X-carriages with extruders that connect to a moving part via a solenoid docking mechanism.

Two separate X-carriages with extruders that connect to a moving part via a magnetic docking mechanism using movements and no solenoid. Support for swappable and dockable toolheads, such as the E3D Tool Changer.

Toolheads are locked with a servo. Support swappable and dockable toolheads with a magnetic docking mechanism using movement and no servo. Supports more than 2 Toolheads. A Mixing Extruder uses two or more stepper motors to drive multiple filaments into a mixing chamber, with the mixed filaments extruded from a single nozzle. This option adds the ability to set a mixture, to save mixtures, and to recall mixtures using the T command. The extruder still uses a single E axis, while the current mixture is used to determine the proportion of each filament to use.

Hotend offsets are needed if your extruder has more than one nozzle. These values specify the offset from the first nozzle to each nozzle. So the first element is always set to 0. The next element corresponds to the next nozzle, and so on. Add more offsets if you have 3 or more nozzles.

This option allows the controller board to switch the power supply 12V on and off with M80 and M This is for printers that have dual power supplies. For instance some setups have a separate power supply for the heaters. In this situation you can save power by leaving the power supply off until needed. Temperature sensors are vital components in a 3D printer. Fast and accurate sensors ensure that the temperature will be well controlled, to keep plastic flowing smoothly and to prevent mishaps.

Use these settings to specify the hotend and bed temperature sensors. Every 3D printer will have a hotend thermistor, and most will have a bed thermistor. The listing above these options in Configuration. Try to match your brand and model with one of the sensors in the list.

It is crucial to obtain accurate temperature measurements. Marlin provides two dummy sensors for testing purposes. Set their constant temperature readings here. Enable this option to use sensor 1 as a redundant sensor for sensor 0. This is an advanced way to protect against temp sensor failure. These parameters help prevent the printer from overheating and catching fire.

Temperature sensors report abnormally low values when they fail or become disconnected. Set these to the lowest value in degrees C that the machine is likely to experience. Indoor temperatures range from 10CC, but a value of 0 might be appropriate for an unheated workshop.

Or the machine is just very cold. Maximum temperature for each temperature sensor. If Marlin reads a temperature above these values, it will immediately shut down for safety reasons. For the E3D V6 hotend, many use as a maximum value. Use blower fans to keep air moving and use a Dew Point Calculator to check your local dew point.

When PID values are set correctly, heaters reach their target temperatures faster, maintain temperature better, and experience less wear over time. Most vitally, correct PID settings will prevent excessive overshoot, which is a safety hazard.

During PID calibration, use the highest target temperature you intend to use where overshoots are more critical. Bang-bang is a pure binary mode - the heater is either fully-on or fully-off for a long period. PID control uses higher frequency PWM and in most cases is superior for maintaining a stable temperature. The PID values you get from M may be very different, but will be better for your specific machine. M can be used to set bed PID. M should be used to tune PID values before using any new hotend components.

The max power delivered to the bed. All forms of bed control obey this PID, bang-bang, bang-bang with hysteresis. Setting this to anything other than enables a form of PWM. Override this setting with M if needed. A lengthy extrusion may not damage your machine, but it can be an awful waste of filament. This feature is meant to prevent a typo or glitch in a G1 command from extruding some enormous amount of filament. Thermal protection is one of the most vital safety features in Marlin, allowing the firmware to catch a bad situation and shut down heaters before it goes too far.

Consider what happens when a thermistor comes loose during printing. The firmware sees a low temperature reading so it keeps the heat on. As long as the temperature reading is low, the hotend will continue to heat up indefinitely, leading to smoke, oozing, a ruined print, and possibly even fire.

In most setups these can be left unchanged, but should be tuned as needed to prevent false positives. Heating may be slowed in a cold environment, if a fan is blowing on the heat block, or if the heater has high resistance. Cartesian is the simplest, applying each stepper directly to an axis. CoreXY uses a special belt arrangement to do XY motion, requiring a little extra maths.

Enable the option that applies to the specific Core setup. Both normal and reversed options are included for completeness. In open loop systems, endstops are an inexpensive way to establish the actual position of the carriage on all axes. If the machine gets out of step for any reason, re-homing may be required. Specify all the endstop connectors that are connected to any endstop or probe. Most printers will use all three min plugs.

On delta machines, all the max plugs should be used. Probes can share the Z min plug, or can use one or more of the extra connectors. By default all endstops have pullup resistors enabled. Use M to test if these are set correctly. These settings allow Marlin to tune stepper driver timing and enable advanced options for stepper drivers that support them. Enable this feature if all enabled endstop pins are interrupt-capable.

This will remove the need to poll the interrupt pins, saving many CPU cycles. With this setting you can optionally specify different steps-per-mm, max feedrate, and max acceleration for each extruder. These are the most crucial settings for your printer, as they determine how accurately the steppers will position the axes. These depend on various factors, including belt pitch, number of teeth on the pulley, thread pitch on leadscrews, micro-stepping settings, and extruder style.

Override with M The Prusa Calculator is a great tool to help find the right values for your specific printer configuration.

Setting these too high will cause the corresponding stepper motor to lose steps, especially on high speed movements. Also see the jerk settings below, which specify the largest instant speed change that can occur between segments.

Jerk sets the floor for accelerated moves. If the change in top speed for a given axis between segments is less than the jerk value for the axis, an instantaneous change in speed may be allowed. Limits placed on other axes also apply. Basically, lower jerk values result in more accelerated moves, which may be near-instantaneous in some cases, depending on the final acceleration determined by the planner.

The planner uses the default accelerations set here or by M as the starting values for movement acceleration, and then constrains them further, if needed. There are separate default acceleration values for printing moves, retraction moves, and travel moves. During movement planning, Marlin constrains the default accelerations to the maximum acceleration of all axes involved in the move.

Larger acceleration values can lead to excessive vibration, noisy steppers, or even skipped steps. Lower acceleration produces smoother motion, eliminates vibration, and helps reduce wear on mechanical parts. Junction Deviation is now the default mode. Jerk works in conjunction with acceleration see above. It can also be thought of as the minimum change in velocity that will be done as an accelerated not instantaneous move. Both acceleration and jerk affect your print quality.

If jerk is too low, the extruder will linger too long on small segments and corners, possibly leaving blobs. Junction Deviation determins the cornering speed. The smaller the value the slower the cornering speed will be. Use this option in all cases when the probe is connected to the Z MIN endstop plug.

You can use this option to configure a machine with no Z endstops. Marlin supports any kind of probe that can be made to work like a switch. Specific types of probes have different needs. You adjust the Z height with a piece of paper or feeler gauge, then send G29 again to continue to the next point. With this disabled, the printer will move to Z0 for the first probe point. Then each consecutive probe point uses the Z position of the probe point preceding it.

Specify this type for an inductive probe or when using the nozzle itself as the probe. To indicate a Servo Z Probe e. The BLTouch uses the servo connector and is controlled using specific servo angles.

Touch-MI Probe by hotends. By default, the magnet is assumed to be on the left and activated by a home. Before probing, the X carriage moves to the far end and picks up the sled. When probing is completed, it drops the sled off. A retractable z-probe for deltas that uses an Allen key as the probe.

It deploys by leveraging against the z-axis belt, and retracts by pushing the probe down. These offsets specify the distance from the tip of the nozzle to the probe — or more precisely, to the point at which the probe triggers.

The X and Y offsets are specified as integers. The Z offset should be specified as exactly as possible using a decimal value. Probing should be done quickly, but the Z speed should be tuned for best repeatability. Depending on the probe, a slower Z probing speed may be needed for repeatable results. Probing mutiple times yields better results.

Set to 3 or more for slow probes - the average result will be used. Z probes require clearance when deploying, stowing, and moving between probe points to avoid hitting the bed and other hardware. Servo-mounted probes require extra space for the arm to rotate. Inductive probes need space to keep from triggering early. Use these settings to specify the distance mm to raise the probe or lower the bed.

This enables you to test the reliability of your probe. Issue a M48 command to start testing. It will give you a standard deviation for the probe. Tip: 0. Heatinging the bed and extruder for probing will produce results that more accurately correspond with your bed if you typically print with the bed heated. A delay can also be added to allow noise and vibration to settle. These options set the pin states used for stepper enable.

Use these options to disable steppers when not being issued a movement. This was implemented as a hack to run steppers at higher-than-normal current in an effort to produce more torque at the cost of increased heat for drivers and steppers. Disabling the steppers between moves gives the motors and drivers a chance to cool off.

It sounds good in theory, but in practice it has drawbacks. This results in poor accuracy and carries a strong probability of axial drift i. It simply sends commands and assumes they have been obeyed. In practice with a well-calibrated machine this is not an issue and using open loop is a major cost saving with excellent quality. Enable this option to suppress the warning given in cases when reduced accuracy is likely to occur.

The default setting keeps the active extruder enabled, disabling all inactive extruders. These settings reverse the motor direction for each axis. Be careful when first setting these. Axes moving the wrong direction can cause damage. Get these right without belts attached first, if possible. Before testing, move the carriage and bed to the middle. If an axis is inverted, either flip the plug around or change its invert setting. This value raises Z to the specified height above the bed before homing X or Y.

Move the 2. At this point you may already have the project editor running. If not, go ahead and launch Atom. If not, click on the Home icon located in the top-left corner. The project folder and its contents should appear in the Project navigator on the left side.

From the project pane on the left, locate the Marlin folder and click on it to disclose its contents. Click on Configuration. This defines the order that these components should be connected to the D10 , D9 , and D8 power outputs on the board. EFB is the most common layout. Open the boards. Scan the file or use Find to locate the identifier for your board. Open Configuration. The build window will open and Marlin will be compiled.

This may take a minute or two.



0コメント

  • 1000 / 1000