If you've played with the Cricut expression hardware, you're probably aware of the FreeExpression project, which is an open source firmware for the Cricut Expression and Cake machines. Unfortunately, although I could get it to compile, it never initialized the display, the keyboard didn't work, lots of other things didn't work.
So I set out to make it work, with the following theories:
Writing my own firmware from scratch would be a pain.
Grbl and Marlin already existed, and there's very little difference between a laser engraver and a vinyl cutter (both have engage head and PWM pressure/intensity). This project details the steps along the way.