Catching the Marlin

Okay, so that title was pretty contrived.

Last week, when I was having ‘shelling’ (actually backlash) issues, I made a post to the Reprap forums. One of the posters there suggested that a way to correct the ‘wiggles’ in the walls of my prints was to change across to the Marlin firmware.

This is a pretty radical suggestion, as Sprinter is currently firmly entrenched as the favorite firmware of the Reprap community. But, given that changing firmware is pretty much the easiest thing you can do with your Reprap, I thought I’d give it a shot.

Some of the touted features of Marlin are:

  • Interrupt based movement with real linear acceleration
  • High steprate
  • Look ahead (Keep the speed high when possible. High cornering speed)

Configuration was easy, Marlin uses exactly the same configuration.h file as Sprinter, so all the settings can carry through. One point of note; the Marlin firmware runs at a standard 250,000 baud rate, as opposed to Sprinter’s 115,000. The only trickiness with the firmware was the thermistor tables. Marlin didn’t have the thermistor table for my hot-end, but that was just a simple copy-and-paste job across from Sprinter’s thermistor.h.

Once uploaded, WOW, the difference is impressive. You can hear  the difference in the motor control. Much smoother and more finely controlled than Sprinter.

The printer is now exceptionally quiet. It was pretty noisy when I had Sprinter and the PLA bushings, but now with the linear bearings and Marlin, it’s super-quiet. No problems watching the TV with the printer running away behind your head. It’s probably due to the greater stepping control and better acceleration. Less ‘jerks’ on the axes.

The print quality has improved again. One of my banes – non-completely-filled top surfaces – has almost been eliminated. Surface finish is much better, as is layer stacking.

Next on my list of ‘things to work on’ will be to try and figure out how to shut down the heatbed and hot-end after a print. I’m now confident enough with my printer to leave it running unattended (once I get the spool printed for filament feed), but I want it to shut down when I’m finished. I think this can be done by adding the right G-codes to the end.gmc file, but I need to investigate how to do that.

Main things to work on now:

  • Ooze settings.
  • Solid infill, particularly on ‘top’ layers.
  • SD card printing
  • Investigate the ‘Marlin’ firmware (as per this thread)
  • Figure out how to turn off the heatbed and hot-end automatically (gcodes?)