Wednesday, September 17, 2025
HomeG-CodeMarlin a beginners guide

Marlin a beginners guide

So many times it seems the simplest thing is the most complex and annoying, like a dirt road that you just can’t get to the end of but there is hope a light at the end of the tunnel. Marlin is one of the many flavors of code that is used to run a 3d printer. It is an operating system of sorts in a basic machine level code. Hence the reason so many people get lost in it. Marlin can be a bit daunting at first and everyone thinks well if I change it how do I know what is the right thing to change well I am going to walk you through the basics of what is necessary to more or less get it working.
To begin with there is one simple basic rule read, read the entire thing no it won’t make any sense to you that’s ok but read the whole thing a few times over get a feel for the word structure and take not of how its laid out it is that way for a reason, the programmer laid it out so that 1 it was in clusters or groups that like over each other 2 you could jump from section to section to define the necessary parameters as needed and 3 it makes it simple to solve a problem because all the code for that one part is right there grouped together.

Various types of firmware

There are several flavors of firmware some are brand specific others are generic and can be used with any type of 3d printer there are also a few that are only for CNC machines which are simmiler but very different to 3d printers.
1 Sprinter
2 Teacup
3 sjfw
4 Marlin
5 Sailfish
6 Grbl
7 Repetier-Firmware
8 Aprinter
9 RepRap Firmware
10 ImpPro3D
11 Smoothie
12 Redeem

Further reading go here => http://reprap.org/wiki/List_of_Firmware

These are the most common and regularly used flavors out there but were going to stick with marlin as our base of reference since that is what most 3d printers use.
firmware Marlin
Firmware just what is it?
Firmware is the code which resides on the printer’s motherboard. The firmware is the link between software and hardware, it deciphers commands from the G code and controls the motion of the 3d printer accordingly. The firmware configuration is unique to your 3d printer. It knows the properties of the 3D printer, like the dimensions or heating settings. It plays a major role in the quality of the print and how the machine works. So how do you work with in the firmware to make it work for you?
Well first you are going to need an Arduino board and a ramps board as they are the most common and the most cost effective to buy. Then you will have to pop on over the Arduino site and grab a copy of their software it free to download and use here is the link for the site https://www.arduino.cc/en/Main/Software download and install this is where we will be able to see the firmware and make any changes that we want.

Programming rule #1: comments

Sometimes we need help and comments to understand the programmer, but we don’t want the computer to see the comments so we use separators. In Arduino IDE the separator between computer language and comments is a double slash //, it works for every line. The compiler will not try to read after this separator. This is the only programming rule that we need to understand to configure the firmware properly. Sometimes we will activate some options by removing the comments and other times we will comment-out options to deactivate them
Ok so let’s open the file Configuration.h in the Marlin folder.
Got it open? Ok great let’s have a look here and get a basic rundown of what you are looking at
Baud rate this is how fast the computer can talk to the 3d printer so well Set the communication speed in baud to: #define BAUDRATE 250000
This is a base point that most 3d printers can communicate on so like a bit faster others a bit slower but you will know if you need to drop it down or raise it when you connect it and you run a few tests.
There are two speeds commonly used by 3D printing software, the 250000 and 115200 baud rate. If one doesn’t work with your hardware or software, simply try the other one and see if that works.

Motherboard

Just above the line: #define MOTHERBOARD you will see a list of different motherboards. You have a list of boards find yours and use the appropriate number. For example a RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed) will be configured:
#define MOTHERBOARD 33
It doesn’t matter if you don’t use a fan or heat bed for now.
Defines the number of extruders
If you use more than one extruders you can write it there.
#define EXTRUDERS 1
Thermal Settings
Temperature sensor choice
Among the list (in configuration.h), choose the thermistor number that you use for each of the hot ends and for the heat bed. Caution should be taken here If you pick the wrong number, you will get an inaccurate temperature reading.
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1
TEMP_SENSOR_0 is used by the first hot end and TEMP_SENSOR_BED is connected to the heat bed. If you don’t use a sensor, use 0 to disable it.
Minimum temperature
Use a minimum temperature different than 0 to check if the thermistor is working. This security will prevent the controller from heating the hot end at max power indefinitely. This is important. It should already be set by default
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define BED_MINTEMP 5
units are in °Celcius

Maximum temp

Depending on your hardware material your hot end will have a specific maximum temperature resistance. This security will prevent the temperature from going over it. For example a J-Head extruder may use a PTFE tube to guide the filament in the hot zone which can be damaged over 240°C. Notice the controller can overshoot the target temperature by a couple of °C, it is better to keep a security margin here.
#define HEATER_0_MAXTEMP 230
#define HEATER_1_MAXTEMP 230
#define HEATER_2_MAXTEMP 230
#define BED_MAXTEMP 120
PID temperature controller.
This is an advanced option which needs to be tuned later. For now you can use the default options.
Prevent dangerous extrusion:
These settings are set by default.
For a security reason you may want to prevent the extrusion if the temperature of the hot end is under the melting point of the material. You don’t want to push the extruder over solid material and risk breaking it.
#define PREVENT_DANGEROUS_EXTRUDE
If there is a mistake in the code like a dot position for example, you would want to prevent a very long extrusion command.
#define PREVENT_LENGTHY_EXTRUDE
Here you can set the values for the minimum temperature:
#define EXTRUDE_MINTEMP 170
Mechanical settings
End Stops
End stops are switches that trigger before an axis reaches its limit, It will move each axis in a specific direction until it reaches an end stop, this is the home for the printer.

Pull-ups resistances
It is a good practice to use a pull-up or pull-down circuit for a basic switch. To keep it simple the pull-ups resistance are needed if you directly connect a mechanical end switch between the signal and ground pins.
Fortunately there is already a pull-up resistor integrated in Arduino that can be activated via the software.
Web links for more specific info on that can be found here:
http://en.wikipedia.org/wiki/Pull-up_resistor
http://arduino.cc/en/Tutorial/DigitalPins#.UyusMYXDIlp

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the end stop pull-up resistors
The Marlin firmware allows one to configure each limit switch individually. You can use multiple end stop types on the same printer.
For a total of six that’s 2 for the X axis 2 for the Y axis and 2 for the Z axis, one each for the MAX and 1 each for the MIN (front back top bottom left and right of the printer)

#ifndef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
// #define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
// #define ENDSTOPPULLUP_ZMIN
#endif
Invert end switch logic
Some limit switches are normally closed (NC) and turn off when triggered and some are normally open (NO) and turn on when triggered. Ideally the limit switches would be normally on and turn current off when triggered. The printer would interpret the same signal if the end stop is hit as if the end stop is broken or disconnected.
NO = true
NC = false
const bool X_MIN_ENDSTOP_INVERTING = false;
const bool Y_MIN_ENDSTOP_INVERTING = false;
const bool Z_MIN_ENDSTOP_INVERTING = false;
const bool X_MAX_ENDSTOP_INVERTING = false;
const bool Y_MAX_ENDSTOP_INVERTING = false;
const bool Z_MAX_ENDSTOP_INVERTING = false;
Use three or six end stops?
Under normal circumstance the printer only needs 3 the zmin xmin and ymin this is how it finds the home position but on some printers they “get lost” and you have to set up a xmax ymax and zmax so that the printer can know where the edges of the build plate are
Uncomment the following lines to disable all max or all min end stops.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS
Invert stepper motor direction
There is only way to know if the stepper motor direction is correct you have to try it. I would wait until the configuration is completed, compiled and sent to the controller before you try. You can come back here after know if there is a problem or not.

1: Position the printer axis at the center of each axis.
2: Keep your finger close to the stop button.
3: Send a command to move the X axis a little amount like +1 or +10 mm
4: If the printer moves in the other direction, you will have to reverse the axis direction.
5: Repeat for each X Y Z axis
To inspect the extruder you would need to heat the hot end to the extrusion temperature load a sample of filament and Send extrusion command of 10 mm and check the motor rotation direction.
You can invert the stepper motor direction if it was wired the wrong way. It doesn’t make a difference if you invert the stepper motor wiring or if you invert it in the code. *Remember to power off the printer before unplugging or replugging the stepper motors.
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true
#define INVERT_E1_DIR true
#define INVERT_E2_DIR false
Set home direction

Here we set the home direction when the home button is pressed. It tells the printer which direction it should go to reach the end stop and get its reference position.
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR 1
The Z axis is the one which will get the printing surface very close to the nozzle. It needs to be very precise and very quick to trigger otherwise there will be a collision between the nozzle and the surface and this can damage the heat bed and the hot end

If you use optical end stops for instance you can position the end stops at the center of the moving area. You can tell the printer to move over the end stop signal. I never use it. If you placed end stops at the end of each axis, then keep these options set to true. (I highly recommend not using optical stop ends not because they don’t work but they are hard to calibrate and keep calibrated with the printer)
Don’t go over the minimum limit:
#define min_software_endstops true
Don’t go beyond the maximum limit
#define max_software_endstops true

Printer area
Here we can define the print size in the firmware by telling it what the limits are of the travel zones. The travel distance is not calibrated yet and the practical distance will be different than the calculated distance. So for now it is better to reduce the travel distance to less than the actual size once were sure it works we can come back and change it then
#define X_MAX_POS 190
#define X_MIN_POS 0
#define Y_MAX_POS 190
#define Y_MIN_POS 0
#define Z_MAX_POS 190
#define Z_MIN_POS 0
Movement settings

Define the number of axis
It is the total number of axis (3) plus the number of extruders (1).
#define NUM_AXIS 4
Homing feed rate
This is the moving speed of the axis when homing in [mm/min]. Oftentimes in Marlin, speed or acceleration are expressed in [mm/s] or [mm/s2] but the feed is expressed in [mm/min].
#define HOMING_FEEDRATE {5060, 5060, 4*60}
Axis steps per unit
The stepper motor receives step by step moving command from the controller. The controller needs to know the steps/mm ratio to send the appropriate steps to reach the required distance.
Just how many steps are needed to move an axis by 1 mm?
Belts and pulley (usually x y axis):
steps_per_mm = (motor_steps_per_rev * driver_microstep) /
(belt_pitch * pulley_number_of_teeth)
lead screw (z axis)
steps_per_mm = (motor_steps_per_rev * driver_microstep) / thread_pitch
Direct drive extruder:
e_steps_per_mm = (motor_steps_per_rev * driver_microstep) /
(hob_effective_diameter * pi)

Extruder with gear reduction:
e_steps_per_mm = (motor_steps_per_rev * driver_microstep)
(big_gear_teeth / small_gear_teeth) / (hob_effective_diameter * pi)
DEFAULT_AXIS_STEPS_PER_UNIT {X,Y,Z,E1}
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,200.08/3,760}
Send the firmware to the 3D Printer via Arduino

In Arduino IDE, save the modification done to Configuration.h
Verify the code
If everything is fine, Arduino should say “Done compiling” otherwise you will get one or more error messages. If this happens, there is usually a mention about the line of the error. Check your code for a comments error //, dots or other special characters that may have been mistyped.
Once it is compiled properly you can connect the Arduino board to the computer with the USB cable.
Select the proper port, Tools menu / Serial Port /
Upload the compiled code to the Arduino

Now your printer is ready to move. It’s alive!!! Yes you did it you have set up your own custom firmware for your printer!

But wait there is still more……. Test the stepper moters make sure they move like there supposed to
Just one more thing. You need to try the stepper motor direction as mentioned above. You will need to use a host software connected to the 3D printer. The instructions to use this software will be explained in another post, for now I will stick to the basic guidelines.

You can find more info on Pronterface here: http://reprap.org/wiki/Pronterface
You can also use Repetier –host which has an awesome G code viewer: http://www.repetier.com/documentation/repetier-host/gcode-editor/
To test the motor direction, connect the printer to the computer with the USB cable.
Position the printer axis manually at the center of each axis.
Power up the printer
Open a host software like Pronterface or Repetier-host
Click to connect the host to the printer
Keep your finger close to the stop button of the motherboard (just in case).
Send a command to move X axis a little amount like +1 or +10 mm


If the printer moves in the other direction, you will have to reverse the axis direction.
Repeat for each X Y Z axis


To inspect the extruder you will need to heat the hot end to the extrusion temperature, load your filament and make a mark on it with a marker so you can see it. Then send the extrusion command of 10 mm and check the motor rotation direction.

as a final note
You can invert the stepper motor direction if it was wired the wrong way, it doesn’t make a difference if you invert the stepper motor wiring or if you invert it in the code. *Remember to power off the printer before unplugging or replugging the stepper motors.
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true
#define INVERT_E1_DIR true
#define INVERT_E2_DIR false

Dont forget to join the Marlin Group on Facebook Click here! 

RELATED ARTICLES

2 COMMENTS

  1. I’ve never been in Marlin before so it was a new experience reading this. Thanks for posting and explaining it. I’ve been reading up on G-CODE the last few days to refresh my mind and now re-reading up on firmware. I’m glad I came across this article.

Most Popular

Recent Comments

mperkins37 on 3D Printed Rockets
desitheblonde on New Low-Cost LSAM 3D Printer
Mad3DHatter on Flex3Drive Review
Salvatore_Lacorte on Guide to Successful ABS Printing
Jordi Lopez on 3D Printer Maintenance
Bill Nonnenmacher on 3D Printed Gears Easy!
Andy Marriott on Flex3Drive Review
Denny Hannaford on Creality Ender 3 Announced
Tom Baxter on 3D Printer Maintenance
Daniel Faegnell on How does 3D Printing work?
Tom Baxter on 3D Printer Maintenance
Tom Baxter on 3D Printer Maintenance
Henry Jolly on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Brian Martin on 3D Printer Maintenance
Melanie F. on DIY etching
Melissa Englebright on 3D Printer Maintenance
Kelly Freeman on 3D Printer Maintenance
Jeremy Fister on 3D Printer Maintenance
Ronan on DIY etching
mperkins37 on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Leesa R McClure on 3D Printer Maintenance
Charles Goldman on 3D Printer Maintenance
Tom Baxter on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Carol Oddy on DIY etching
Tom Baxter on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Richard Bynum on 3D Printer Maintenance
Richard Bynum on Slicers: Which one to use?
Brian Martin on Flexion Retrofit Kit Review
Carol Oddy on DIY etching
Richard Bynum on Flexion Retrofit Kit Review
Michael Perkins on Flexion Retrofit Kit Review
Richard Bynum on 3d printer Extruders
Michael Perkins on DIY etching
Richard Bynum on Rigid.ink Review
Justin K Jones on Wanhao D7 Review
Brian Martin on Creality Ender 3 Announced
Michael Perkins on Creality Ender 3 Announced
Richard Bynum on Autodesk to .STL
Chris Kockler on Creality Ender 3 Announced
Michael Perkins on MG Chemicals wood filament
Ronald Shropshire on MG Chemicals wood filament
Michael Perkins on MG Chemicals wood filament
Richard Bynum on 3D printed CNC Mill
Richard Bynum on 10 Fun Things to 3D Print
Justin Flugum on Creality Ender 3 Announced
Richard Bynum on Creality Ender 3 Announced
Justin Flugum on Creality Ender 3 Announced
David Griffith Rowe on Interesting 3D Printed Drone Projects
Richard Bynum on Wanhao D7 Review
Richard Bynum on ColorFabb Filament Review
Richard Bynum on Who is 3D-PT?
Richard Bynum on BuildTak – Is it Worth it?
Richard Bynum on Who’s 3D model is it?
Sumit Trivedi on MG Chemicals wood filament
Richard Bynum on CAD Review for 3D Printers
Asgor Reidaa on DIY etching
Asgor Reidaa on Wanhao D7 Review
Richard Bynum on MG Chemicals wood filament
Richard Bynum on 3d Print a Rubber band gun
Richard Bynum on 3d Print a Rubber band gun
Justin Flugum on Wanhao D7 Review
Tom Baxter on Wanhao D7 Review
Asgor Reidaa on 3d Print a Rubber band gun
Nathan Cox on Wanhao D7 Review
Nathan Cox on DIY etching
Tom Baxter on DIY etching
Richard Bynum on DIY etching
George Fomitchev on DIY etching
Richard Bynum on Wanhao D7 Review
Richard Bynum on Magnetic PLA Filament
Justin Flugum on Selfcad – A Short Review
Justin Flugum on Top 10 3D Printer Upgrades
Stan Baldwin on Vacuum Drying PLA Pt.1
Richard Bynum on 3D Printed Robots & Figures
Richard Bynum on Marlin a beginners guide
Richard Bynum on G-Codes – Wiki
Richard Bynum on How to NOT Be a 3DHubs Noob
Richard Bynum on 3D-Printing for Scuba Diving
Richard Bynum on Vacuum Drying PLA Pt.2
Asgor Reidaa on 3D Printing Dictionary
Richard Bynum on Vacuum Drying PLA Pt.1
Richard Bynum on What 3D-Printer to buy 2016
Richard Bynum on 3D Printing Homes
Madalyn Nguyen on 3D Printing Dictionary
Daniel Waldner on Prusa i3 MK3 – New Features
Richard Bynum on TOP 5 3D PRINTED CARS
Richard Bynum on 3D Printer safety tips
Annaloa Hilmarsdottir on The Anet A8 3D-Printer DIY Kit Review
David Robert Pemberton on 3D Printed Grenade Launcher
Justin Flugum on 3D Printer safety tips
Darren Scrubb on 3D Printing in the Classroom
Tom Baxter on 3D Printable Tools
Darren Scrubb on 3D Printing Homes
Darren Scrubb on 3D Printing Jewellery
Richard Bynum on Flex3Drive Review
Stan Baldwin on 3D Printed Grenade Launcher
Richard Bynum on Magigoo Adhesive Pen
Linda Beghtel on 3D Printing Jewellery
Richard Bynum on How much to Charge?
Justin Flugum on How much to Charge?
Jon Gardner on Big 3D Printers
Tom Baxter on 3D Printing Dictionary
Richard Bynum on 3D Print Wood Working Tools.
Richard Bynum on Sienci Labs Mill One
Lori Mahan on 3D Printing Jewellery
Tom Baxter on RIP Pinshape 2013-2016
Richard Bynum on 3D Printing Dictionary
Justin Flugum on 3D Printable Tools
B Michenfelder on Sienci Labs Mill One
John Smith on 3D Printing Jewellery
Richard Bynum on 3D Printed Gears Easy!
Stephen Shimatzki on The 3D Printing Gifts Guide 2018
Richard Bynum on Helpful Holiday Safety PSA.
Santiago Archilla on Making Money With 3D Printing
Braxten Brannon on 3D Printing in the Classroom
Stuart Hawton on 3D Print Wood Working Tools.
Richard Bynum on 3D Printing Jewellery
Tom Baxter on 3D Printing Jewellery
Stuart Hawton on 3D Printing Jewellery
Stuart Hawton on 3D Printing in the Classroom
Richard Bynum on 6 Taboos of 3D Printing
Dawn Mateo De Acusta on Holiday Gifts for Your 3D Printer
Todd Whetstone on Folgertech FT-5 R2 – Review
Todd Whetstone on Folgertech FT-5 R2 – Review
Richard Bynum on 3D Printing Filament Review
Sandi McGinnis on Folgertech FT-5 R2 – Review
Andreas Gasser on Folgertech FT-5 R2 – Review
Edward Dekkers on Folgertech FT-5 R2 – Review
Andrew Venkersammy on Holiday Gifts for Your 3D Printer
Braxten Brannon on 10 Hotends for your 3D printer
Jon Acosto (3DPrintnerd.com) on Calidum HALE Heated Bed – Review
Macario on Flex3Drive Review
Tom Baxter on Beer based Filament
Tom Baxter on Rick and Morty 3D Models
Richard Bynum on Rick and Morty 3D Models
Richard Bynum on Top 10 3D Printer Upgrades
eduardo martini on Prusa i3 MK3 – New Features
Richard Bynum on Random Models on Thingiverse
Richard Bynum on Random Models on Thingiverse
Michael Champlin on Random Models on Thingiverse
Richard Bynum on Random Models on Thingiverse
Michael Champlin on How to calibrate a 3D Printer
Michael Champlin on 3D Printer safety tips
Richard Bynum on Selfcad – A Short Review
Richard Bynum on Selfcad – A Short Review
Richard Bynum on The Ultimaker 2 3D Printer
Jared Heifetz on Top 5 3D Printers Under $300
Jared Heifetz on Top 5 3D Printers Under $300
Richard Bynum on Top 5 3D Printers Under $300
Jared Heifetz on 3D Printer safety tips
Richard Bynum on 3D Printer safety tips
Jared Heifetz on Magigoo Adhesive Pen
Jon Acosto (3DPrintnerd.com) on The 13 Phases of 3D Printing
Jared Heifetz on 3D Printable Tools
Richard Bynum on 3D Printable Tools
Jared Heifetz on 3D Printable Tools
David Klein on 3D Printable Tools
Richard Bynum on 3D Printable Tools
mperkins37 on 3D Printable Tools
Jared Heifetz on 3D Printable Tools
mperkins37 on 3D Printable Tools
Dewu Han on 3D Printable Tools
mperkins37 on 3D Printable Tools
Tania Alam on 3D Printable Tools
Jon Acosto (3DPrintnerd.com) on Advertising Your 3D Printing Business
mperkins37 on Sienci Labs Mill One
mperkins37 on Flex3Drive Review
Jeffrey M. Holliman on Flex3Drive Review
tpoage@mindspring.com on The Ultimaker 2 3D Printer
tpoage@mindspring.com on Snapmaker: The All-Metal 3D Printer
tpoage@mindspring.com on The best 3d print bed material
tpoage@mindspring.com on Snapmaker: The All-Metal 3D Printer
Stan Baldwin on 3D Printed Grenade Launcher
tpoage@mindspring.com on 3D Printed Grenade Launcher
tpoage@mindspring.com on A New Era in Desktop 3D Printing
tpoage@mindspring.com on Dynamo3D One Pro Unboxing & First Print
tpoage@mindspring.com on 3D Printed Guns as Illegal 3D File?
tpoage@mindspring.com on 3D Printed Guns as Illegal 3D File?
tpoage@mindspring.com on Get more from your cyclops scanners
tpoage@mindspring.com on 5 kits to get more from your 3D Printer
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on Top 10 3D Printer Upgrades
tpoage@mindspring.com on Media falsely attacks 3d printing again
tpoage@mindspring.com on 3D Printing Communities on Google+
tpoage@mindspring.com on 3D Print Wood Working Tools.
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3D Printing Market Trends For 2017
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3d Printing Brushless Motors and More
tpoage@mindspring.com on TOP 5 3D PRINTED CARS
jvastine on TOP 5 3D PRINTED CARS
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3D Printer manufacturers list 2020
tpoage@mindspring.com on How Strong is PLA? Lab Experiment!
tpoage@mindspring.com on Vacuum Drying PLA Pt.2
tpoage@mindspring.com on Top 6 Unique CAD Programs (2016-2017)
tpoage@mindspring.com on Finishing & Painting A 3D Printed Alien!
tpoage@mindspring.com on 10 Popular 3D Printing Fidget Patterns
tpoage@mindspring.com on Slicers: Which one to use?
tpoage@mindspring.com on Top 10 Large Format 3D Printers
tpoage@mindspring.com on 13 Best CAD Programs for Kids
tpoage@mindspring.com on 10 Places To Get Free 3D-Printing Files
tpoage@mindspring.com on Upgrading a Prusa i3
tpoage@mindspring.com on Top 7 3D Scanners on a Low Budget
tpoage@mindspring.com on 5 Fun Prints for your new 3d printer.
tpoage@mindspring.com on The Tantillus Part 1
tpoage@mindspring.com on What is Love? 3D Print Me (NSFW)
tpoage@mindspring.com on 3D Printing for the Second Cold War Pt.1
tpoage@mindspring.com on 5 Ways to Feed your 3D Printing Habit
tpoage@mindspring.com on Helpful Holiday Safety PSA.
tpoage@mindspring.com on 3D Printing a Quadcopter: Part 1
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Will your 3D-printer kill you?
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Big 3D Printers
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Testing TinkerCAD Beta
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Nanodax Glass Wool Polypropylene Review
tpoage@mindspring.com on Kanesis Hemp Bio Plastic PLA Review
tpoage@mindspring.com on Great 3D-Printers to look for 2016!
choschiba on 3D Printing Fidgets
tpoage@mindspring.com on Folgertech Kossel build Part 1
tpoage@mindspring.com on Build Plate Supported 3D Printing
tpoage@mindspring.com on Top 6 Unique CAD Programs (2016-2017)
tpoage@mindspring.com on Let’s move our prints to the cloud!
tpoage@mindspring.com on The Guardian of Techno phobia
tpoage@mindspring.com on 3D printing your own cosmetics with Mink
tpoage@mindspring.com on 3D Printing Fidgets
tpoage@mindspring.com on Folgertech Kossel build Part 1
tpoage@mindspring.com on Build Plate Supported 3D Printing
tpoage@mindspring.com on Ultimaker 3 – A Quick Review
Nick Kalogeropoulos on Why 3D Printing Must Alter Its Course
Andrew Werby on 3D Printing Homes
Andrew Werby on 3D Printing Homes
Nick Kalogeropoulos on 3D Printing in the Army: Here’s how
mperkins37 on 3D Printing Homes
mperkins37 on 3D Printing Homes
juggernath on 3D Printing Homes
mudface2003 on Upgrading a Prusa i3
Alexis Puentes on Five amazing DIY 3d printers.
lucpet on 3D Printing Piracy
Tony Davies on 10 Fun Things to 3D Print
Italo Soares on 3D Printed Gears Easy!
Frostbite on Vacuum Drying PLA Pt.1
3AM Productions on 3D printer after care Package
3AM Productions on RIP Pinshape 2013-2016
Italo Soares on About me: Italo Soares
Lays Rodrigues on Slicers: Which one to use?
Robbie Pearson on How To Use TinkerCAD
Robbie Pearson on Edit STL Files with TinkerCAD
Tony Davies on Marlin a beginners guide
3AM Productions on 3D PRINTED SEX TOYS
Alexis Puentes on Sintron Prusa i3 Review
Daniel F on Beer based Filament
Curtis J. Pratt on Beer based Filament
bioelectrobot on Beer based Filament
admin on Makergear M2