Is it possible to get the data from the auto bed level and put it into the startup g-code, so I don't have to auto level at the start of every print?
I'm wondering because I'm having a few issues when trying to print the first layer of any print, mostly around the filament oozing from the nozzle, even when I've retracted the filament slightly. The filament oozes a bit, then the auto level basically dabs the filament onto the board which squidges it back onto the nozzle. I'm having to clean this on the fly as the bed level is happening or else the first layer never prints well enough to continue with a print. I think this problem is worse with the new aluminium headed bed because the induction sensor doesn't pick it up from so far away, so my Z offset is only 0.2, which means I can only have 0.2mm of filament (currently PLA+) oozing before the problem starts.
Tips on tacklign the oozing also appreciated, even if I can fix that I'd still like to avoid the wait for the auto level before every print if this can be saved. I've tried running M500 but I presume the Proforge control board doesn't have any EEPROM to save to?
+1
I have this same issue, I have to stalk it with a scalpel / pair of pliers to grab the filament ooze prior to the initial line. If I don't, I have to restart the print as it's likely to ruin the first layer.
I'm having some success with modifying the "Start G-code" which Cura adds to the start of every file I print. I'm storing each change I make on GitHub at If anyone does use this (and everyone is welcome to do so) please make sure to change or remove the first two commands, which are for (M301) and (M92) and will be specific to my printer. If you don't know what these are yet you're best off removing them, but if you're having any issues printing then it'd be well worth reading the links above and tuning these settings yourself.
The main change to the G-code so far is not to heat the nozzle until after the autoleveling is complete. This helps with the oozing and squidging back onto the nozzle but not necessarily with getting a good clean flow of filament before starting the print brim. I found this Ultimaker forum post about , I've not pre-heated the nozzle to 140 as I was reading that the actual glass point for PLA, the temperature at which it starts to melt, is around 60 degrees and I'm after reliability for now not speed.
The last line of code "
G1 F1500 X290 E15 ;Prime Hotend" should print a line of filament along the X axis of the heated bed, but the E number here, which is the amount of filament extruded during the movement) is really not ideal. I'm working on drawing some very low 3d shapes in the region of 0.2mm high which I can place in Cura alongside my actual print so hopefully I get all the lumps and problems out of the way well away from my actual print.
NB. If anyone does edit the G-code it's worth using the to understand every command. I crashed my nozzle into the print bed more times than I care to admit before realising I'd moved the G92 (Z offset) to the top of the file, to make it easier to edit, and this setting gets wiped out by the G28/G29 homing and autoleveling commands.
You can enable EEPROM for settings by modifying configuration.h
Find and uncomment the following line
>#define EEPROM_SETTINGS // Enable for M500 and M501 commands
Once that's done, and you have autoleveled you can M500 to save the offsets for future use so you don't need to do it every time if you have no changes in your print environment.
If you don't want to enable eeprom, you could just run a G29 autolevel from console, then M503 and find the settings in there. I can't remember offhand what they are, but there should be a cluster of 9/12 rather similar lines with very small Z offset differences.
Just keep in mind that once eeprom is enabled, you need to either modify via console and M500 to make changes to pretty much everything, or do an M502 to M500 to load defaults from the config files and resave them to the eeprom after you reflash or you'll get some wonky issues - this does mean you'll have to put in all your non-config-file stored changes again though.
Thanks @Dataris Remiel, I've not done a print yet but flashed the firmware after uncommenting the EEPROM_SETTINGS, as well as G12 (nozzle cleaning, yet to try out) and M48 (probe repeatability) which are both working well. I've put the code on GitHub at
Interestingly, the Marlin firmware zip file also came with a Travis CI build script, which I've hooked up to Travis but it is failing some of the automated tests for the firmware. Is this running successfully for Makertech with tests passing on Travis somewhere? I'd like to know if your tests are passing so I know whether the failures are anything I've done or not.