The project is about a G-CODE interpreter software for the Arduino Mega 2560 microcontroller. It is mostly programmed in C with some specialized functions proper to the arduino. The idea is to use the FIRMATA protocol, so that the arduino can communicate serially with an android device or a computer. This g-code interpreter is going to be used in a small home made cnc machine, were it will manipulate some stepper motors. This g-code interpreter will need to do some of the following things:
Recieve packets with multiple lines, so that they can be decoded at the same time, instead of doing it one-by-one (requesting one by one)
Interpret the g-code commands, so that the stepper motors can be moved throughout linear interpolation or circular interpolation.
Move between 3 and 5 stepepr motors. The output for each motor is only the step signal and the dirrection. I am using the microstepping driver A3977. The initial milestone is to move 3 stepper motors, but I would like to add a 4th and 5th stepper motor to improve the abilities of the machine.
Calculate its actual point in space, relative to a home position.
Calculate acceleration and decceleration for each stepper motor, so that the machine stops at the exact point it should.
Monitor several sensors like, gas, sound, temp, tilt, vibration, etc.....it would be great if all the info about these sensors could be seen on the computer or the android device.
Controll a working tool. With the option of adding more tools, like a spindle, extruder, laser..etc...these will be added in future developments.
It would be great if the program was buildt in a way that allows for future improvements and additions.
I have several opensource g-code interpreters i can supply, so that you can have a closer idea on how to do the program. I dont use those interpreters, because i need a specialized one for the machine i am trying to build. I have even been working on the design of the program myself, but there is so much I can do, so I would be happy to work with you on the program.
I am attaching a document that i think it will help you understand a bit better what the project consists of.
I am more than available to cooperate with you in the process of the development, also i can supply any information needed. I hope you are interested in this project as much as i am, and rest assured that there would be more software developments after this one.