An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino
 
 
 
Go to file
Simen Svale Skogsrud a42c03601d Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
arc_algorithm
gcode Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
legacy
script Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
.gitignore minor revision 2010-01-04 16:09:00 +01:00
COPYING
Makefile Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
config.h Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
gcode.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
gcode.h support for helical motion 2009-02-11 00:37:33 +01:00
geometry.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
geometry.h
main.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
motion_control.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
motion_control.h support for helical motion 2009-02-11 00:37:33 +01:00
nuts_bolts.h
readme.txt updated readme 2010-01-06 00:31:11 +01:00
serial_protocol.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
serial_protocol.h
spindle_control.c
spindle_control.h
stepper.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
stepper.h Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
todo.txt minor revision 2010-01-04 16:09:00 +01:00
wiring_private.h
wiring_serial.c Fixed a number of bugs caused by using abs() on floats and long ints. Added support for selectively inverting bits of the stepping port. Debugged, optimized and cleaned up timing code for the step-pulses. 2010-02-27 19:55:09 +01:00
wiring_serial.h

readme.txt

Grbl - An embedded rs274/ngc (g-code) interpreter, CNC controller, readout and exerciser for the AVR series of microcontrollers.
Inspired by the Arduino GCode Interpreter by Mike Ellery

Status:
* Runs on atmega168/arduino.
* GCode interpreter complete
* Linear interpolation machine control complete
* Arcs and helical interpolation complete
* Buffered, non blocking, asynchronous stepping so the rest of the system is free to generate new steps and parse 
  g-code while the steppers are still steppin' 
* Basic serial protocol complete
* Stepper pulses verified on scope and tested with stepper motors, motion and rates verified with simulator,
  but not tested on real CNC-rig. Still waiting for my micRo kit from Lumenlab.com

Pending: 
* Optional support for a alphanumeric LCD readout, a joystick and a few buttons for program control
* Optional support for automated cutter length calibration when milling
* Support "headless" fabrication by buffering all code to SD-card or similar
* Smooth feed rate interpolation

Limitations:
* Limited GCode-support. Focus on the kind of GCode produced by CAM tools. Leave human GCoders frustrated.
* No rotation axes, only x, y and z.