In the Beginning

A project log for Cricut Hacking

Putting Marlin 2.x on the Cricut Expression because, well, why not? Also, some reverse engineering on CRV001

J.C. NelsonJ.C. Nelson 09/29/2022 at 00:510 Comments

I admit to pretty much always liking the general idea of cricut machines. Use them with a regular pen to draw, cut a variety of materials, I could easily see a circuit mask pen and etch tank doing some lightweight PCB design. 

But every time I saw one, I looked at how you needed cartridges with designs and shrugged, said "Not today."  

The cartridges were no doubt something I COULD reverse engineer and mimc...but why? Then I saw a cricut expression for twenty bucks, delivered and said "This is the time."

I knew about the FreeExpression project and dove into the documentation quickly. I didn't have an ISP, but I did have an arduino as ISP, and with a little work was able to build the code.

It didn't work on my machine.

The display never lit up, and I got only one string from the usart before it went silent.

And I hated having to program using the ISP. Upload from PlatformIO or Arduino didn't work, because there's a time window where you have to initiate the connection.

And that just had to go.

First step - I cloned MegaCore and modified their optiboot to look for the STOP button on boot, and if so, wait forever.

Eventually I opened a PR to Optibook, here -

This allowed me to hold "stop" on power on and have an unlimited window to flash. 

A good enough start.