[2016 version] How to set up the Marlin firmware!


So at some point, you might need to dig into
your 3D printer’s firmware configuration, whether it’s to update to a more recent
version or even to get your newly-built 3D printer going at all. So where do you get
started? Take my hand, i’ll show you the world of C++ configuration files that control
everything about your 3D printer. So the firmware and it’s configuration literally
runs your 3D printer, and the firmware in turn runs on a microcontroller on the mainboard.
It control everything from the motors over the heaters to an LCD screen and SD card reader,
but it’s also responsible for handling more abstract concepts like acceleration, reasonable
speed limits, thermal regulation and in some cases even the complex calculations necessary
for a delta printer to understand X, Y and Z coordinates. So in this video, i want to
teach you the basics of configuring the current version of the popular Marlin firmware. I
don’t have any exact numbers here, but in some form, it probably runs 99% of all 3D
printers. If you have a 3D printer that Marlin won’t run on because it uses a more modern
processor than the AtMega series, your firmware is still going to have many of the same options
and you’ll still learn what the configuration options mean and how you can change them to
better suit your needs. So there are a few things you’ll have to
know about your 3D printer when configuring any firmware – these are not things that need
calibrated or tweaked and tuned, they are constants you’ll be able to plop right into
your configuration. And those are: The type of mainboard used. The Marlin firmware
is made for Arduino-compatible boards and and most of them are somewhat interchangeable
in regards to the things the firmware cares about, but it’s easy enough to read off
the mainboard’s name. Next up, what sort of 3D printer you’re
using, so whether it’s a “normal” cartesian machine or a Delta or something completely
different. I’ll be showing you the configuration for a regular cartesian machine.
What goes along with that is the printing area in the X, Y and Z direction, or at least
the length in each of those directions the printer will be able to move before bumping
into things. Also, what sort of belts and pulleys are used,
as well as the microstepping setting of the stepper motor drivers and the amount of steps
the stepper motor needs to do a full rotation. This will let you calculate the steps per
millimeter value the firmware needs to position each axis correctly – i’ve made a video
on that that explains all those parameters and how to calculate the effective steps per
millimeter value, which you can watch here. You also need a steps per millimeter value
for the extruder, which is the one thing that you should calibrate – and if you want to
know more about that, you can watch the video on that exact topic here.
Next up, which hotend you’re using and heated bed, if you have one. This is important to
know the type of temperature sensor it’s using, commonly a thermistor, but you still
need the exact type to get accurate readings. Typically the manufacturer will list the exact
model used. Then, the
Now if you can get hold of a preconfigured version of Marlin for your specific 3D printer,
you can read all of these parameters from the original configuration file and punch
them into the new one. Just don’t copy paste the entire file, that will definitely cause
some issues. But even if you can’t get a ready-to-go, but outdated copy, you might
be able to extract most of these settings if you already have a version of Marlin running
on your 3D printer by sending a M501 command. So now that we have the basic settings collected
and are ready to go on that front, let’s look into what you need as far as software
and actual firmware files. As Marlin is based on Arduino, we’re going to use the Arduino
software as an easy way to edit and upload the firmware files. You can download it from
arduino.cc, and chances are, you already have it installed. Now, the Marlin firmware itself
is available from marlinfw.org, right now that only links to the github repository,
but i guess there’ll be a direct download available some time in the future. If you’re
downloading from github, hit the green “clone or download” button and select “download
as zip”. Unpack that file somewhere and you’ll find the Marlin.ino file inside,
which will open up with Arduino. Here’s a couple of basic checks that you
can do to make sure you don’t have any major errors in the configuration:
Before you power up your printer’s power supply, connect to the board with your favorite
RepRap host software and check that the temperatures it’s reporting are plausible – if not, you
probably selected the wrong thermistor. As you turn on the power supply, make sure that
these temperatures don’t start rising on their own and that no part of the control
board starts cooking or smoking or glowing red hot, those are all things you typically
want to avoid. When it passes that test, use the host to move each axis by a bit and check
that it moves in the right direction – keep in mind that the movements are taken from
the nozzle relative to the bed, so if you have a moving bed and move Y +, the bed should
move towards you. Use the right hand rule to get a basic idea of which axis has its
positive direction at which end – hold your right hand out like this and from your point
of view, this is x, this is y, this is z positive when you’re looking at the printer from
the front. If any axis moves in the wrong direction, either change the invert_dir setting
for that axis in Marlin or flip the motor’s connector around.
If an axis only moves in one direction, the endstop inverted setting is probably wrong.
To get the endstops completely tested, check their functionality by homing one axis at
a time, but keep a finger on the power switch. If the axis starts moving away from the endstop,
change the home_dir setting for that axis. Once the axis moves towards the endstop after
the home command, try stopping it by triggering the endstop by hand before your 3D printer
reaches it, so that the axis doesn’t crash into the endstop if something is setup wrong.
If it doesn’t react to the endstop when homing at all, you probably have it hooked
up to the wrong axis or swapped some pins – sending M119 to your printer will tell you
which endstop you’re actually triggering at the moment, which you can use to manually
test each one for whether it’s connected to the right axis and actually functional.
Now, before you start printing anything don’t forget to calibrate your extruder if you used
an estimated steps per millimeter value for it, and it’s probably also a good idea to
align your bed and set your Z-axis endstop to the correct height.
After that, you should be able to slice and print your first few files!
This video is sponsored by Aleph Objects, Inc., a Free Software, Libre Innovation, and
Open Source Hardware company headquartered in Loveland, Colorado, USA and makers of LulzBot
desktop 3D printers. Watch my reviews of both LulzBot 3D printers
here and check the links in video description for more info on the machines straight from
Aleph Objects. So i hope this video helped you getting started
on your printer’s firmware – there are a bunch more features that you can add, and
i’ve already made and will keep making videos on all of those. Now, for
this video, if you enjoyed it, leave it a thumbs up, if not, a thumbs down. If you
want to stay up to date as new videos come out, get subscribed, and if you’re really
into what i’m doing here, i’d appreciate it if you used the ebay or amazon affiliate
links from the video description to buy things – really, anything – from those sites, or
directly drop me a dollar or two on Patreon. And that’s about it, see you in the next one
or in the weekly livestream every weekend right here on Youtube.

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © 2019 Geted Tabs Online. All rights reserved.