G-code printing guideline for CELLINK BIO X


Welcome to the exciting world of BIO Printing. In this document, we will explain how to craft your own print-file (g-code file) for use in you BIO X.


This feature is meant for more advanced users who want to either tune their print file for optimal performance or to craft their own structure from scratch with full control over all parameters.


G-code is a low-level command format used for CNC machines and 3D printers. The g-code describes the movement of the machine and has special commands for functions like tool changes.


Settings for use in slic3r or other g-code generating software


The coordinate system in BIO X is centred about the mid-point of a petri-dish placed on the printbed. This means that any G-code should be centred around the (0,0) position. To print a small square the G-code should look like this:

T1

G1 X10 Y10 F1200

G1 X-10 E1

G1 Y-10 E1

G1 X10 E1

G1 Y10 E1

This g-code will print a square 20mm to a side centred around (0,0) at 1200 mm/min (or 20mm/s) using printhead 1.


List of valid commands and parameters


Here follows a list of commands that can be used in your g-code file. Any other commands will be ignored by the software. Any parameters not valid for a command will also be ignored.


G-CodeParametersDescription
G1Xnnn Ynnn Znnn Ennn Fnnn
Absolute move command.
X, Y, Z parameters are the position in space where to move to (in mm). E is the amount of material to dispense during the move1
The F2 parameter is the speed in mm/min
G4Snnn Pnnn
Dwell
Wait for S seconds and P milliseconds
G7Xnnn Ynnn Znnn Ennn Fnnn
Relative move
Works the same as G1, but uses relative move. The X, Y, Z parameters specify the length of the movement from the current position.
G92Xnnn Ynnn
Set position
Sets the current position to X and Y. If no parameters are given, the position is assumed to be 0, 0, 0 (this will also change the Z position).
M400
Finish all moves
Pause until all commands up till this point are executed.
M750Tn Pnnn
Extrude material3
Starts extruding material using a printhead. T specifies the printhead number (starts from 1) and P specifies the pressure (in kPa). If P is omitted, the currently set pressure for the active tool is used.4
M751Tn
Stop extruding material for a printhead.
M773Tn Pnnn
Set pressure of a printhead
T specifies the printhead and P specifies the pressure in kPa5.
M805Tn Pnnn

Set Toolhead [T4 = left module, T5 = right module].

Set LED intensity. The intensity is between 0 and 255. If set to 0, the UV module will be turned off. If set to 255, the UV module will be turned on.

M810Rnnn Ennn Bnnn Wnnn
Set the colour of the chamber lights
Value is between 0 and 255. R is for Red, E is for Green (Emerald), B is for Blue and White is for White.
M823Pnnn
Safe park in position
Puts the gantry in a built-in absolute position. Value can 1-3.6
T{0-5}
Switch between tools, tool 1-3 are printheads and 4-5 are the curing modules. Tool 0 is the bed proving switch7.


If using a pneumatic printhead a positive E value will extrude material and a negative or absence of an E value will not extrude any material
If F parameter is absent the latest set federate for the tool will be used
3 It is highly recommended that an M750 command is followed by and M751 command for the same printhead before an M750 command for another printhead is sent.
4 It is recommended to set the pressure (using M773) and activate the wanted printhead using the T command before attempting to extrude with this command.

5 If a printhead does not use pressure, this command does nothing.
Position 1 moves the bed down and puts the gantry in the back. Position 2 moves the gantry out of the way and the bed up (used for UV sterilisation). Position 3 moves the bed to the bottom, and the gantry to the center.
7 The probe can not be used for printing


Commands that are not listed above will be filtered, any filtered command will be written to a file on the usb drive with the same name as the gcode file appended with _filter_resutls.txt.



Different file formats


The BIO X can handle two gcode file formats, .gcode and .stl.gcode. The stl.gcode is a processed file and is what the printer will execute, a .gcode file will be further processed and ouputted as a .stl.gcode file before being executed.


A .stl.gcode file allows more control when crafting code as it will not be altered. A .gcode file on the other hand offers some more convinence like being able to set speed and uv curing in the gui.


There is one key difference between the two formats, numbering of printheads.


In stl.gcode mode printheads are numbered [1,5], where T4 and T5 are uv curing modules left and right.


In gcode mode printheads are numbered [0,2], curing modules should be enabled via the gui and not in the code