I have a 3D printer that I built using CD-ROM drives. It's all set and ready to go but when I generate .stl or .obj files my G-code sender program cannot load it. I have found that Slic3r will export the .stl into G-code but it has the option of changing the G-code flavour, or firmware.

My machine is running from an Arduino Uno with Grbl v0.8.

So the question is, which firmware setting would be appropriate for my machine that would require the least amount of editing before I can print?


2 Answers 2


Unless you can find a slicer that explicitly supports grbl, you will need to check the G-code specification and see which common flavour is closest to what grbl supports. The RepRap Wiki includes grbl in it's compatibility chart, but it has question marks against a lot of entries for grbl.

The other alternative is to slice a very simple model and see what commands are issued by the slicer, and whether they are supported by grbl.

Note that there is a question as to whether grbl supports FDM printing technology, i.e. 3D printers that use filament. Most slicers are designed to work with FDM printers, and will expect to be controlling at least one extruder. If your printer does not have an extruder that is controlled via G-code, you may encounter real difficulties generating G-code for it using commonly-available slicers.

RepRap Wiki: G-code

  • $\begingroup$ I know that m3 starts the extruder and m5 stops it. Last night i spent alot of time calibrating things and it seems to be making the correct movements i just need to add extruder start/stops. The flavour i was trying to use was machinekit. I'll read that wiki and see what i can find. $\endgroup$ Oct 28, 2017 at 14:25
  • $\begingroup$ Those commands are for subtractive manufacturing (i.e. CNC machines). Does your machine extrude filament, or is it a CNC machine? $\endgroup$
    – Mick
    Oct 28, 2017 at 15:01
  • $\begingroup$ It extudes filament. But following the tutorial i used to make it turning the spindle on activates pin 12 on the arduino. I have the extrude switch soldered to a transistor and restistor so that it activates extruder when spindle is turned on. I plan on making a script that will modify whole files for me after i figure out what need to be done. Right now its calibrated and appears to be drawing the pyramid i was going to test print but i am getting some errors like expected command letter and line overflow. Also unsupported statement. $\endgroup$ Oct 28, 2017 at 16:16
  • $\begingroup$ I voted for this answer because it pointed me in the right direction however rep is too low $\endgroup$ Oct 28, 2017 at 18:55

Slice your model... then edit the code in Notepad... where you will see that you will need to replace all E (extrude commands) with M3 for Extrude on and/or M5 for Extrude off.

You must look at the code and figure out where:

  • The code is telling the extruder to extrude;
  • Then it makes a bunch of XY moves; t
  • Then, where it tells the extruder to stop, you have to insert an M5 command.

I did this a year ago and got mine to work perfectly but it takes time to edit the code. Be patient and keep at it .

  • $\begingroup$ Yea i got it working a long time ago.. It is much easier to just manually edit with a text editor. $\endgroup$ May 26, 2018 at 20:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .