As part of learning about HPGL and DMPL plotter protocols recently, I wanted to see some actual samples of code sent to various types machines by any cutting application like MTC or SignCut.
Here's how I did it (in windows):
1) Download and install Eltima Software RS232 Logger and Virtual Serial Port Driver. Unfortunately, although the logger is free software, the VSPD is only a 14 day trial version. You probably can get all the samples you need in just a day or two
2) Using the Virtual Serial Port Driver, create a new pair of virtual serial ports, we'll call them COM1 and COM2.
3) Start the RS232 Data Logger, select COM2, set the baud rate the same as your cutting software will use, and set flow control to None. Select your output file name and click Start logging.
4) Go into your cutting software (MTC, SignCut, etc), configure the cutter type you are interested in (Black Cat, US Cutter, etc...), and set the port to COM1. Make the cut. The software should finish very quickly.
5) Stop the data logger to make sure the file content is flushed, and you are done!
Here is a sample of DMPL code for a test file sent by MTC.
;:H A L0 ECN U U8158,9620;D8167,9620;D8167,9630;D8150,9630;[...];D8463,7116;U0,0;!PG;
While further developing my printed-circuit-board method, I inadvertently figured out how to do filled shapes with the pen using the free version of "Eagle" PCB design software.
1) You'll need to have Eagle (free version is fine), Inkscape, and Make-the-Cut all installed and available. I use Gimp for editing and converting file formats.
2) Open the desired image in Gimp (or other image editor) and save it out as a BMP format image, with as few colors as possible. A 1-bit monochrome with no dithering is best, like line art. (you set this via Image->Mode->Indexed... in Gimp)
3) Start up Eagle, and do a New->Board.
4) Do File->Run, and run the script "import-bmp.ulp". This will be located in the ulp subfolder of your Eagle installation directory. It will prompt you to browse to your BMP file and open it. Keep your bitmap size modest, 300 DPI or less, more just slows everything down. If you have a black-on-white drawing, select White only and click OK. Click the DPI radio button under Format, and set your DPI value; it will set the Scale factor for you automatically. Click OK.
5. It will think and popup window saying "Accept Script?", click "Run script".
6. Your bitmap should now appear in blue in the Eagle Board window. Save your project, then Run File->CAM Processor.
7. Select Output Device HPGL. Deselect all layers except #200 "200bmp". You'll have to scroll down to find it. Click "File" and browse to your desired output file location and name. Be sure to give the file a ".plt" extension which indicates the HPGL file type. Set the Pen Diameter to the actual width of the line your pen produces. 1 mil = 1/1000 inch. A ballpoint pen tip ranges from about 20-50 mils. Click "Process Job". This will render your .plt file.
8. Start up Inkscape, do File->Import... and import your .plt file. This can take a little time. If the application freezes, give it some time.
9. Eventually, your image will appear in Inkscape, already selected. Click "Edit->Copy".
10. Switch to Make-the-Cut, now do "Paste-in-Place". Voila!
Note, depending on how large the filled areas are, and the diameter of the pen, it might take quite a while to calculate when you click the "Cut Project With..." button. (the example image has 65000 points). Fortunately, since the fills are done using mostly horizontal and vertical lines, the machine can run pretty fast.
Here are another couple screenshots to show the pattern closeup. If you wanted a grid you would tell Eagle that the pen is wider than actual.
This method should work really well with engraving tips..
MTC reported this image was about 11000 cutting points which really seems pretty modest to me. I haven't tried actually printing one this big yet. If you (in MTC), right click on the imported image, and do Shape Magic->Advanced->View Path Detail... and scroll down through the path segments with the cursor key, you'll see the path taken is pretty sensible and doesn't waste a lot of time scrolling wildly all over the place.
I created a circuit in Eagle to test the resolution and fills using a fine tip pen in the Cricut.
The pen itself is a 0.01 inch diameter permanent marker, shortened to fit the machine. The test image is made of three identical copies of a diagram. The diagram contains some sample SMD and through-hole pads, as well as traces in 0.01, 0.03, 0.05, and 0.07 inch widths.
The legend reads "10mil pen, 20mil pen" and "30 mil pen" to indicate the pen size as given to the Eagle CAM processor function, but the entire drawing is rendered using the 10 mil pen in order to see which circuit will have proper fills with no white lines inside.
The results prove to me that the best fills do indeed result when the pen size is accurately set in the Eagle CAM processor. When the pen in smaller than Eagle thinks, it doesn't lay down enough lines to completely fill the solid traces. The TQFP and SMD resistor pads look nearly usable, even the horizontal jitter is almost nonexistent near the middle of the page. (Maybe the duct tape pen mount absorbs vibration better than my custom metal pen holder?) The worst flaw just seems to be incomplete coverage in the diagonals of the largest (0.07 inch) traces, which should be easily retouchable by hand.
Here's the workflow:
1) Create the board in Eagle
2) Run the CAM processor, select output device HPGL, layers Vias, Pads, Top or Bottom, and Holes.
3) Start a new drawing in Inkscape. Import the HPGL file into Inkscape. Select the imported circuit diagram, and click "Copy".
4) Mount the pen in the Cricut tool holder.
5) Start Make-the-Cut, and do "Paste in Place" (ctrl-shift-V) to paste without resizing. Arrange as needed and then cut to the machine.
Last night at the Hackerspace I tried a new way (to me) of doing PCBs on the Cricut. So far it looks like the most promising yet.
This time instead of trying to scratch off an etch resist, I'm directly drawing it on using a plain old mini Sharpie pen like a plotter would. I understand the Stadtler Lumicolor pen is also recommended.
I just now discovered this link that shows exactly what I need to try next as far as the pen goes: PCB Plotting
-Then, in Eagle, run File->CAM Processor.
-Select Output Device EPS
-Click File and select your output file path.
-Don't worry about the offset and page size.
-Select the "Pads", "Bottom" or "Top", and "Vias" (it will complain if "Vias" is not selected).
-Click "Mirror" if you are doing the bottom layer.
-Click "Process Job," this will write the output file.
-Install a copy of Ghostscript & GSView, and run "ps2pdf [options] input.[e]ps output.pdf" to convert the EPS file from Eagle to a vector PDF.
-Fire up Make-the-Cut, and do "File->Import->Vector PDF File", leave "Import Strokes and Fills" selected, select your PDF file and click "Open".
-Select the imported image and click "Ctrl-B" to Break the circuit up into its pieces.
-Deselect all, then click on each of the four border lines and delete.
-Select all, and click "Ctrl-J' to Join the circuit back up into a single piece.
-Position the circuit on the cutting pad as needed.
-Load up your Sharpie in the tool holder and print a test piece on paper to verify positioning.
-Load up your copper in the machine. If you're running anything thicker than 0.01 you may need to raise the pen in the holder. I use double-stick tape or at least a fresh spritz of spray-tack.
-Print your design. I don't know how many coats are necessary, but I am doing two coats, one after the other. Don't use Multicut for this!!! It does each line multiple times immediately instead of doing the whole pattern completely and repeating it: This causes the pen to dissolve the previous coat and move it around a little.
-(optional) Put the board into the toaster oven just briefly to make sure the ink is fully dry.
Many thanks to Danny M. and Tim F. for taking an interest in fixing my latest busted Cricut!
This was the first one yet with problems I couldn't figure out. The relay clicked on and off with the power button, but nothing else happened. Using the voltmeter I was able to figure out that the CPU was getting no power, and that there was something funky going on with the 5v regulator: on the working one, pins 2 and 4 read 5 volts; but on the broken one, pin 2 was at 18 volts, and pin 4 at 0. This was pretty much where I got stumped. I saw lots of ugly looking solder joints, but nothing obviously fried or broken.
Fortunately, I also have another Cricut Create that DOES work, and so I brought both to the hackerspace last night for Microcontroller Monday.
Tim F. helped out by looking up the datasheet for the regulator, and showed me the illustration for a "typical application" in the datasheet. Using the meter I discovered that there was resistance and/or no connection between the output and feedback pins when they should have been directly connected through a resonator.
Around this time we also realized that while my older (working) Cricut had a 2-layer board, the newer (busted) one was a 3 (or more) layer board and much harder to trace. Fortunately when they changed the design, pretty much nothing else changed. Same board size, same components in mostly the same arrangement. This meant that the proper connections could be traced on the old/working board, and compared to the busted one.
Danny stepped up to the plate here and almost immediately found a broken solder joint on one of the resonator pins. We reflowed the two solder joints, plus a few others (the quality of the solder joints on both boards is pretty atrocious, no idea what kind of monkeys are assembling these things....) And THOUGHT it was fixed.
However, it still wouldn't power up. Hmm!
As it turns out, the broken solder joint also managed to disconnect both of the inner layer traces leading from the resonator to the regulator. After more continuity testing Danny added two small jumper wires to repair the busted traces, and Voila, the machine now powers up!
I was all set to send the machine home with him to play with, but when I tried to actually cut something, discovered the cutter solenoid does not move. The carriage and paper scrolls around properly, but the pen doesn't move up and down. (YET!)