Close
0%
0%

Liberating my Joy

Freeing my Joy vinyl cutter from the shackles of corporate spyware with Rust (and the power of friendship)

Similar projects worth following
0 followers

Like many unsuspecting victims of deceptive marketing, I was frustrated and disappointed earlier this year.

Upon purchasing a $154 vinyl cutter starter kit from my local art store, I found that it (a) would not work with my Linux computer, (b) prevented me from exactly scaling my input files, (c) only worked with an ad-filled macOS or Android app, and (d) was a brick without being connected to the internet.

Hoping to learn something, I researched further. Web forums from decades ago that this cutter's g-code, sent over Bluetooth, was encrypted-in-flight with a key supplied from a server in Utah, making any kind of honest third-party driver completely impossible to develop. The manufacturer has been doing things like this for decades: banning third-party software suites, blocking them, and even suing people who distribute workarounds.

I was left with only one choice, short of returning it: to remove the brain of the cutter, leaving an empty shell of motor drivers and sensors; to replace its brain with an accessible microcontroller; and using the power of friendship, plus a few modern bits of open-source tooling, to develop a new firmware suite, from scratch, capable of executing G-code fed from an ordinary CAM program such as Inkscape. In a sense, the goal was to build an entirely new cutter from scratch, using just the mechanical shell of the Joy 2.

This effort was ultimately successful. This project documents the steps I took and shows you how to de-cloud your own Joy 2 cutter, if you so have one, by replacing its brain with a Raspberry Pi Pico 2!

While I followed in the footsteps of previous projects, such as TeensyCNC, GRBLhal, CutCutGo, and FreeExpression, this project is self-contained and seems to be the first targeting the Joy 2 and the first using the Raspberry Pi Pico with the Rust language.

Be aware! This project is NOT an advertisement for the Joy 2 device. Unless you have no alternative, I do not recommend you buy one of these devices; instead, spend your money supporting any other company, ideally one which respects its users and allows them to run their own G-code.

This project is not endorsed by Cricut / Provo Craft; I am not affiliated with them. This project does not involve the usage or analysis of ANY Cricut software, especially their detestable Design Space app. It is primarily a forward engineering project to determine how to drive a product that has had its brain removed.

  • 1 × Raspberry Pi Pico 2 (without headers)
  • 1 × C****t Joy 2 Vinyl Cutter
  • 1 × Raspberry Pi Pico Debug Probe
  • 1 × Insulated wire
  • 1 × Hot air rework station

View all 6 components

  • 1
    Open your Joy 2.

    1, Unplug it from everything. 

    2. Remove the four silicone feet from the bottom. Fingers should suffice.

    3. Use a medium-sized Philips head driver to remove the four screws.

    4. Use a small flat-head screwdriver, starting from the center rear, to gently pry free the bottom shell casing. It should come off without breaking any plastic pins.

  • 2
    Unplug everything from the motherboard.

    1. Remove the X, Y, and LED flat flex connectors by pulling them gently out of their sockets.

    2. Unclip the Z-axis connector latch with a fingernail; it should pop up 1mm. Lift it up and gently wiggle the Z-axis flat flex cable until it detaches from the board.

  • 3
    Remove the motherboard.

    1. Unscrew the two metal washered screws and the one plastic self-tapping screw from the board.

    2. Lift up the board, making sure not to damage or pull on any flex cables.

View all 3 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates