All of my computers are running linux so I have tried to figgure out how to run the printer from that, I have got repetier host working and I believe I know how to update firmware aswell so I figgured I might share what I have done. Im currently running Antergos, an arch derivative but there is no reason this shouldn’t work on other distros.
Repeiter host
You want to controll your printer so this program is pretty important. I have mainly used it for generating the gcode and the printed it from an SD card but I know that the manual controls in the program sort of work.
The first thing you need to do is download repetier host which can be found here http://www.repetier.com/download/. Download and unzip it somewhere.
Navigate to where you unzipped the program using a terminal and type
sh configureFirst.sh #use sh shell to run the script
or
chmod +x configureFirst.sh #Make the script executable
./configureFirst.sh #Run the script
The script will ask you for your superuser password to allow it to “install” the program.
Once this is done, repetier host is installed. Your desktop manager should be able to find it and you can run it from a terminal anywhere using repetierHost
Slicer config file
Cura engine which is used to create the gcode that the printer reads uses a config file to generate prints for the vertex printer in particular so you will need to provide that file. One way of doing it is by pulling it from a working windows installation. All you have to do is open repetier host on the windows computer, click the slicer tab, click configuration and pressing export. If you don’t have a windows computer avalible, this is the config file I use which I pulled from a fresh install on dec 29 2014.
[print]
name = VertexSettings
defaultQuality = UGFdGjaROx9aQouMAZfWQqs4mQsUIfod
travelSpeedMin = 180
travelSpeedMax = 180
firstLayerSpeedMin = 15
firstLayerSpeedMax = 15
infillSpeedMin = 48
infillSpeedMax = 60
infillType = 0
innerPerimeterMin = 42
innerPerimeterMax = 48
outerPerimeterMin = 35
outerPerimeterMax = 48
printSpeedMin = 42
printSpeedMax = 48
gcodeFlavour = 0
retractionCombing = True
multiVolumeOverlap = 0
cutOffObjectBottom = 0
shellThickness = 0.7
infillTopBottomThickness = 0.3
infillDensityPercent = 20
supportType = 0
platformAdhesion = 0
dualExtrusion = 0
wipeAndPrimeTower = False
oozeShield = False
enableRetraction = True
retractionSpeed = 70
retractionDistance = 9
multiExtruderSwitchAmount = 9
startGCode = """
G28 ; Home extruder
G1 Z5 F{Z_TRAVEL_SPEED}
G1 Z0 F{Z_TRAVEL_SPEED}
M106 S165 ; Turn on fan
G90 ; Absolute positioning
M82 ; Extruder in absolute mode
; Activate all used extruder
{IF_EXT0}M104 T0 S{TEMP0}
{IF_EXT1}M104 T1 S{TEMP1}
G92 E0 ; Reset extruder position
; Wait for all used extruders to reach temperature
{IF_EXT0}M109 T0 S{TEMP0}
{IF_EXT1}M109 T1 S{TEMP1}
{IF_EXT0}T0
{IF_EXT1}T1
M83
G1 E10 F100
M82
G92 E0 ; Reset extruder position
M117 Vertex is printing
G1 F1000 Z5
"""
endGCode = """
M107 ; Turn off fan
; Disable all extruder
G91 ; Relative positioning
{IF_EXT0}T0
{IF_EXT0}G1 E-1 ; Reduce filament pressure
M104 T0 S0
{IF_EXT1}T1
{IF_EXT1}G1 E-1 ; Reduce filament pressure
M104 T1 S0
G90 ; Absolute positioning
G92 E0 ; Reset extruder position
M140 S0 ; Disable heated bed
M84 ; Turn steppers off
T0
T1
T0
"""
preSwitchExtruderCode =
postSwitchExtruderCode =
wipeAndPrimeTowerVolume = 5
retractionMinimumTravel = 0.1
minimumExtrusionBeforeRetract = 0.02
zhop = 0
skirtLineCount = 3
skirtDistance = 3
skirtMinimumLength = 150
solidInfillTop = True
solidInfillBottom = True
infillOverlapPercent = 0
supportStructureType = 0
supportOverhang = 5
supportFillPercent = 20
supportDistanceXY = 0.8
supportDistanceZ = 0.1
supportExtruder = -1
spiralizeOuterContour = False
brimWidth = 7
raftExtraMargin = 5
raftLineSpacing = 1
raftBaseThickness = 0.3
raftBaseWidth = 0.7
raftInterfaceThickness = 0.2
raftInterfaceLineWidth = 0.2
raftAirGap = 0
raftAirGapLayer0 = 0
raftSurfaceLayer = 1
fixCombineEverythingA = True
fixCombineEverythingB = False
fixKeepOpenFaces = False
fixExtensiveStitching = False
fanFullAtHeight = 0
minimumSpeed = 10
coolHeadLift = True
numQuality = 1
nozzleDiameter = 0
[quality_0]
name = 0.1mm
signature = UGFdGjaROx9aQouMAZfWQqs4mQsUIfod
layerHeight = 0.105
firstLayerHeight = 0.2
layer0widthPercent = 100
Create a text file and put that text in it.
To import a config file, open repetierHost, open the slicer tab, click configuraton and click import. Select the config file and it should get imported.
When you want to slice a model, you need to select the printer in the “Printer Configuration” field, it should have the same name as the file you imported.
That’s all you need to do, click slice and put it on an SD card. It might be possible to print from the computer aswell but I havn’t tested it.
You might also have to set the port of the printer, to do that, go to config->Printer Settings and select the port of the printer. The default /dev/ttyUSB… worked fine for me.
Firmware
This is only a theory but I suspect that it is perfectly possible to flash the firmware of the printer from linux. The arduino IDE is cross platform and runs fine on linux and the “drivers” for the printer seem to be installed automatically. All you need to know is the serial port of the printer which I found to be /dev/ttyUSB on my system. Once you know that, all you would need to do is open the firmware sketch in the arduino IDE and upload it.
I got some of this info from the k8200 forum but I don’t remember the specific posts so credit to whatever posts they were.
If I made any misstakes or you have any questions I would love to hear them.