Silhouette Cameo 3, Inkscape, InkCut, and Ubuntu


This approach never really worked very well. Here are some better instructions.


My wife and I had a hard time deciding between the Silhouette Cameo 3 and the Cricut Explore Air 2. We went with the Silhouette Machine because it seemed easier to get running on Ubuntu 16.04, though neither machines are particularly open source friendly. We had to dust off our old MacBook Air to upgrade the cutter’s firmware.

System and dependencies

I did the usual system prep before adding the software upon which Inkscape and InkCut depend:

sudo apt-get update
sudo apt-get upgrade

You don’t realize you need these packages until you try using InkCut for the first time and it crashes:

sudo apt-get install python-pip python-gtk2-dev python-cups
pip install pyserial


I have no long-term interest in using the hokey design software that comes with the Cameo machine, preferring to use the open source Inkscape vector graphics tool instead.

Added the Inkscape repository and install:

sudo add-apt-repository
sudo apt-get update
sudo apt-get install inkscape

Make sure you run Inkscape at least once before installing InkCut:


This’ll create the .config folder into which the InkCut file will be moved (below).


There are a few ways to send vector data straight from Inkscape to the Silhouette Cameo machine. I chose InkCut because it seems like the most popular and viable. This is also why I chose the Cameo over the Cricut machine… InkCut doesn’t work with Cricut.

cd ~
tar -xzvf InkCut-1.0.tar.gz -C .config/inkscape/extensions/

This InkCut tutorial was very helpful, but it still took a bit of trial and error to figure out how to get the software to talk to the Silhouette Cameo…

Ubuntu 16.04

Having never really owned a conventional printer, it hadn’t occurred to me that I would need to install any drivers. Turns out that’s how I got it working.

Open your System Settings:

Open the Printers option:

Add a printer:

Hopefully you see your device in the list:

The drivers for generic printing devices will suffice in this situation:

Change your cutter’s name, if you like. I left these settings untouched:

Not sure what would happen if you attempted to print a test page. I cancelled:

If all is well, you should see the device you just added:

Send Vector to Silhouette Cameo

Now that Inkscape and InkCut are installed and the OS and the Silhouette Cameo are friends, it’s time to configure InkCut to send data to the cutter.

The following is a simple project I whipped up for demo purposes. I want to use the Silhouette pen (instead of the cutter) to draw this curve.

In order for this to work with InkCut, you need to select all the curves you want to plot. I simply hit Ctrl-A to select everything (also Edit > Select All):

Select InkCut from the Inkscape menu as shown

The InkCut General tab gives you some options to configure in order to accommodate your cutting/drawing medium. It also allows you the opportunity to preview your vector. Click the Properties button:

The settings with which I was successful are shown below:

I show the Serial settings here just for reference. I have not been able to get this working successfully without installing the printer in Ubuntu first. Make sure the machine is turned on and Test Connection. The Silhouette machine should activate and perform a few short moves.

I copied these settings from the InkCut tutorial linked above:

Finally, send your vector to the plotter/cutter:


It was quite a thrill to finally get the Silhouette Cameo working with Ubuntu, though there are still some kinks to work out. I noticed that the curve I plotted had lines drawn when the pen should have been lifted off the paper. My preliminary research indicates that this is a problem in translation between the HPGL and GPGL protocols. More to come…