Extruder motor does not turn When printing from Cura on my laptop via USB, my extruder motor does not turn to extrude filament. However, when I use the "move axis" command in the firmware (on the little screen on the printer), it seems to work fine, extruding plastic smoothly. The nozzle temperature is where it should be (230 degrees or so for ABS) while printing and I get no error messages in Cura.

What would cause the extruder to not function when printing even though it seems to be fine electrically, mechanically, and in firmware? Is there g-code from Cura that could be incorrect?

I'm not sure where to look for problems.

This is my first 3D printer. It is a Alunar M508 (a Prusa clone) that I got for free in a partially disassembled state. The firmware seemed to be screwed up when I first started using it. The firmware that came on the SD card with the printer would not compile in my Arduino software, so I used a Marlin firmware from here:
https://github.com/camalot/alunar-prusa-i3-marlin-i3-firmware

I had to make one change to the configuration file to reverse the X home direction, but otherwise I have not changed the firmware settings or anything. The new firmware does not recognize the SD card slot at all, but that's a different story.

I'm using Cura to print via USB. The printer is set up as a Prusa I3, using the "Marlin" GCode flavor. Nozzle size: .4mm, Compatible Material diameter: 1.75mm.

Start Gcode:

G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F9000
;Put printing message on LCD screen
M117 Printing...


End Gcode:

M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
M84 ;steppers off
G90 ;absolute positioning


Edit to Add some Gcode from the beginning of the test print:

;LAYER_COUNT:127
;LAYER:0
M107
G0 F3600 X86.923 Y86.649 Z0.3
;TYPE:SKIRT
G1 F1800 X87.522 Y86.134 E0.03941
G1 X88.17 Y85.683 E0.0788
G1 X88.861 Y85.299 E0.11824
G1 X89.586 Y84.987 E0.15762
G1 X90.339 Y84.75 E0.197
G1 X91.113 Y84.591 E0.23642
G1 X91.898 Y84.51 E0.27579
G1 X92.3 Y84.5 E0.29586
G1 X117.7 Y84.5 E1.56307
G1 X118.489 Y84.54 E1.60248
G1 X119.269 Y84.659 E1.64185
G1 X120.034 Y84.857 E1.68127
G1 X120.774 Y85.131 E1.72064
G1 X121.483 Y85.479 E1.76004
G1 X122.154 Y85.897 E1.79948
G1 X122.778 Y86.38 E1.83885
It turns out the problem was a firmware issue. Using the gcode below (from David Lotts in the comments), I was able to determine that the extruder was running backwards. A flag in the firmware reversed it, solving the problem.

M82 ;set extruder to absolute mode 
G92 E0 ;zero the extruded length 
G1 F200 E20 ;extrude 20mm of feed stock