-
1Step 1
Try the simple and obvious: Just do what Cathy Sexton did and send a dfx to the Portrait.
Kicad is the easy part. From the Plot Menu, select only the F-Paste Layer. Choose file type dxf. Click Plot.
Follow the instructions from Cathy Sexton.
Unfortunately, my experience was the same as Peter Monta had: the stencil was not usable. [Image of stencil]
So, I decided to use Monta's method described here and here. One strong advantage of this approach is that it uses a gerber file; no dxf is needed. So it works with Eagle or KiCAD, and probably others, just fine. The tricky part is to adapt it to Windows, specifically W7 - 64 bit. Using Monta's process with Linux or the Mac is fully described in the Blog/HAD. But making it work on Windows is not as straightforward. In fact, reading the HAD comments leaves one wondering if it can be done at all.
-
2Step 2
If you don't have Python, you will need to load it. I'm using version 2.7 for 32-bit Windows. I expect the 64-bit Windows version would work also. Stick with 2.7 unless you feel adventurous.
-
3Step 3
LibUSB-1.0 is the key requirement, and becomes the gift that just keeps on giving. Start by downloading the library itself (get the 7z file for Windows) from here and unzip it. To install it, all you need to do is copy the right dll into the right Windows directory. You can choose the version built with Visual C++ or the MinGW version. You can also choose the 64 bit or 32 bit version. I chose the MinGW version and copied the 32-bit dll into Windows/System32. Even though I have 64-b Windows, I am running the 32-bit version of Python 2.7. Note that this didn't work! The Python bindings for LibUSB (which are installed in the next step) detect whether 64-bit or 32-bit Windows is running and fetch the dll from the appropriate directory (System32 or SysWOW64). Note that putting the 64-bit LibUSB-1.0 dll into SysWOW64 doesn't work either - 32-bit Python chokes on it! The correct arrangement (for my setup) is to put the 32-bit dll into SysWOW64. You should be able to pick out the correct setup for your system from these notes!
-
4Step 4
Now download the LibUSB-1.0 bindings as a .tar.gz from here. To install them into Python, unzip them into a directory, start (as administrator) a command window in that directory (or chdir to it), and do "python setup.py install". That's it for LibUSB for now, but it's not done with us yet.
-
5Step 5
Unless you already have a version of grebv at least 2.6, Download Gerbv for Windows Installer (2.6.1).
-
6Step 6
If you don't have it, download and install pstoedit. Scroll down to the downloads section and select the version for your system. I used the "binary for Windows 64-bit" one.
-
7Step 7
pstoedit requires Ghostscript, so download that if you don't have it. Pick the Windows version you need.
-
8Step 8
OK, now you can download gerber2graphtec and unzip it to a convenient directory. As Monta mentions, you can't just use gerber2graphtec directly on a Windows system, but must create an intermediate file and use file2graphtec (which uses LibUSB) to send it to the Portrait (or Cameo). Knowing that detail, you might think you'd be all ready to cut a stencil. But first, be sure the paths to all the dependencies are in your PATH. (Adding paths to PATH is described here ). Should work now, right? Wrong. It would on a Linux or Mac, but this is Windows, remember? And using USB in Windows is a nightmare! LibUSB can't quite manage what needs to be done.
-
9Step 9
There is a lot you can read about USB difficulties on Windows and how to make it work. But the TL;DR is to download Zadig for Windows Vista or later as suggested on the LibUSB wiki page. Start Zadig (there is no install), "Options/List All Devices", find the Portrait in the list, select driver for the Portrait (or Cameo), and replace the driver with the one recommended by Zadig. The USB ID for the Portrait is 0x0b4d, 0x1123 and for the Cameo it is 0x0b4d, 0x1121, so you can be sure you have the right device. Seems like black magic, but it works.
-
10Step 10
To use: From the directory in which you unzipped gerber2graphtec, and knowing the directory your gerber format file of the paste layer (front or back side) is in, just do: python gerber2graphtec [pasteGerberName] > cutFile
"cutFile" is an arbitrary name for the intermediate file.
To send to the Portrait: python file2graphtec cutFile
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.