3D Printer Filament & Slicer Profile Handling and Tracking

By | May 9, 2014

After owning and using a 3d printer for more than a couple of years, you might have a collection of filament of different types, colours and suppliers. You will have notice that, even if you only use one type of filament,such PLA, the same g-code file does not always transfer reliably to another similar reel of filament. So, after calibrating a new reel of filament, how do you keep track of filament with associated g-code? One method is described below.

Different Black Filament 3D Printed with Same G-code

Different black filament 3d printed with same g-code produced different results.

Unfortunately, we’re not at the point where you can receive delivery of new filament, drop it straight in to the 3d printer, and press print, without the need of any sort of calibration. You might get close to a drop in filament if you are able to repeat order the same filament, but even then, some calibration might still be needed on the occasional reel.

Before loading new filament into the 3d printer, the filament diameter is usually the first thing that needs to be checked, and then updated in the slicer software profile if necessary. After evaluating the first test print of new filament, other slicer profile changes may also be necessary to get a good 3d print.

As soon as you start editing the slicer software profile, you are creating a new profile for a new reel of filament. This new profile will need some way to be associated to the new reel of filament while also preserving the original slicer profile for existing filament.

Matching Filament To Slicer Profile & G-code Files

I print mostly from SD Card and for some time I already use some sort of system to match filament with slicer profile and g-code files. I basically name each reel of filament a unique code, and then the same code is used in computer file and folder names to associate slicer profile and g-code files with the filament.

So if I’m looking to print a 3d model directly from the 3d printer SD Card, I select the folder of the model through the 3d printer control interface, I will then be presented with a list of folders that are named with the filament reel codes. Straight away I know which filament the g-code is calibrated for. All I need to do now is select the folder that shares the same code name as the filament I want to use; the g-code used for printing the model would be found in this folder.

Identification Code On Filament Reels

I’ve refined the coding system I’ve been using for the benefit of this article and you can use it as it is or adapt it to your own needs, at the very least I hope it provides some inspiration. When considering a version of a code you want to use, keep the code length to no more than eight digits to suit SD Cards to maintain readability through the 3d printer control interface.

Basically, each reel of filament would have this code writen on the supplier’s label stuck on the side of the reel. At the minimum, when your new order of filament arrives from the supplier, you write on each reel of filament the 2 letter colour code, the 1 digit year code, and the 1 digit month code. If you get two reels of filament of the same colour within the same month, you can add an index code to the final code so that the code remains unique for each identical reel.

The table below gives a quick look at how the code is made up, and with a bit of practice, you’ll probably be able to work with the code without referring to the table too much.

Filament Reel Identification Code Table

Filament Reel Identification Code Table


This is a two letter colour abbreviation, it’s not a complete list in the table above, more examples can be found on the internet. You are likely to remember most of these codes once you start using them.


I’m assuming the lifespan of filament would not normally exceed ten years, so I’m using only a single digit that is taken from the last digit of the year which will role over every ten years. So, year 2014 will be the single digit 4 on so on.


Month is a single digit to save space, so months 10,11 and 12 will be A, B and C respectively. If you don’t need to use the optional codes, you code use a two digit month in the final code instead.

Index / Reel Number

I’ve marked this down as optional, which would be true for those people who don’t buy a lot of filament. For those who buy many reels of filament a year, the index field is likely to be essential. If you buy many reels of filament of the same colour in the same month, then the reels will share the same code, this is where you need to add an index to the code to make the final code unique for each reel.

This is a single digit field and you can use either numbers or letters depending on the index range you want.


I’ve added a few common types of filament in the code table. Adding this field to the final code might be useful to those who stock up with different types of filament. When looking through the computer file system, I think it will be useful to be able to quickly associate slicer profile files to material types without physically checking filament reels. This is a two digit code, and it will be up to you how you abbreviate the different material types.


This field can be optional and is basically used to identify filament with special attributes. You would use this field for the same reason as for material, to quickly associate the final code to a filament without physically checking reels of filament. The code for this field is single digit, and how you abbreviate the type is up to you.

Saving Filament Slicer Profile Files & G-code Files

A structured file system is needed to make the filament reel identification code to work well, and keeping it simple will make it easy to work with and to remember the structure when adding new files and folders. The functions of the files and folders are explained below in detail with reference to the following example file tree illustration below.

3D Printer 3D Models & G-code File Tree

3D Printer 3D Models & G-code File Tree

3dprint – This is the name I’ve chosen to identify the root of my 3d printer file system. It holds all of the model files, slicer profile files, STL files and G-code files. This folder marks the start of your 3d model files backup, simply drag and drop this folder onto a USB storage device.

Community, Own – Basically, I would have 3d models I’ve created myself and 3d models I’ve downloaded from sharing sites such as thingiverse. Any 3d models I’ve uploaded for sharing, I copy a snap shot from the own folder to the community folder. Community and Own folders are for storing 3d model folders.

airtripper-extruder-v3-bsp – This is the model folder level which contains a number of other files and folders. This folder can be a long descriptive name that best identifies the 3d model it contains. The model folder contains the model files and the STL files saved from the 3d modelling software, also the slicer profile files are saved here also.

BK440PL.ini, BK440PL-idler.ini – Slicer profile file names come from the filament reel code they’ve been set up against. By reading the slicer profile file name, you will know which reel of filament it belongs to. Where you have a group of model parts in one model folder, you might need a slicer profile for a particular part for it to print correctly. BK440PL-idler.ini has the model name included in the file name to show which model part needs its own profile.

In the example file tree illustration, the slicer profiles are stored with the STL and model files, you might fined it more convenient to store the slicer profile files with the g-code files instead. Keeping an ideal slicer profile template with the STL files could be an option.

air-bsp – While long file and folder names are perfectly acceptable on SD Cards, long names may not be readable through the 3d printer control interface. The folder air-bsp, and its contents, would be copied to the 3d printer SD Card. Using the old dos operating system 8.3 file name format would ensure that the file names are readable and not truncated through the 3d printer control interface. However, you might get away with idler.gcode instead of using idler.gco, which will be more convenient when saving g-code files using the Cura Slicer.

If you don’t print from SD Card at all, you don’t need the air-bsp folder level and you can have its content within the main model folder instead. The folder name air-bsp is just short for airtripper-extruder-v3-bsp and is still identifiable on the SD Card when it comes to searching for it.

G-code start section of the Cura slicer profile.

Some filament characteristics edited into the g-code start section of the Cura slicer profile

BK440PL, BL3B0PL and RD440PL – These folders hold the g-code files used for 3d printing. The folder names are taken from the identification code that the filament was assigned. The folder names tell you which reel of filament the g-code files have been compiled against. You would have a set of g-code files for each reel of filament.

On Closing

Once you start using a system like this you will start to create new kinds of data. You will begin to use slicer profile templates for similar model designs and for a particular type of filament. Some filament characteristics can be noted in the slicer profile start g-code section in the slicer software as a reminder of why a particular set-up was used, and you’ll want to keep slicer profiles even when the filament it was associated to has long since run out. You would certainly want keep the slicer profile files that helped get the most problematic filament to print correctly.

I’m sure I’m not the only one using a system similar to this, so if you have any suggestions on how to improve this one, or you have a system to top it, please share in the comment section below.

Related Articles

Marlin Firmware v1, Basic Configuration Set-up Guide

3d printer Filament & Slicer Profile Handling and Tracking.