Some time ago, I posted about G-CODE interpreter for Raspberry Pi that does not need additional microcontroler (even Arduino) to work with stepsticks ( raspigcd ). I decided to rewrite the whole engine with more smooth moves in mind (esp. for laser). Now it is close to the production phase. I will post updates on the progress.

raspigcd2 - This code will be merged with raspigcd once it will support pause, dynamic speed change, and finding home position.

What works:

  • Very smooth operation compared to previous version.
  • Moves with ticks of 55us. Acceleration and break.
  • Reduction of speed for turns (depending on the turn angle).
  • Real time visualization with SDL2 (initial support) for desktops on Linux.
  • Significant part of the code is written using TDD methodology, so I hope it will be more error prone and maintainable.
  • Interpretation of simple gcode with G0, G1 and M3 M5 M17 and M18. This set of instructions allows for cutting and working with spindle. It does not support for arcs (but arcs can be approximated by line segments).
  • Using Travis CI for tests that are reported on tepository

I work on it on my free time, so there are multiple problems, like:

  • lack of documentation
  • not too many comments
  • not working with issue tracking and branches


mkdir build

cmake ..


You can run it with the command:

./gcd -c config_file.json -f program.gcd

If you like it or use it please let me know (I am curious if someone have some profit from my "pro publico bono" work)