Skip to content
Zarino Zappia edited this page Jun 27, 2023 · 13 revisions

Note: this is a quick draft. Please update as necessary.

Overview

  • McGraw is a pen plotter that was converted from a laser engraver. Currently the pen holder uses an elastic band to hold the pen, which means that many different pens can be used. Paper is attached to the table surface inside the plotter frame using low tack painters tape.

  • We have attached limit switches to help with homing - this should mean that after a pen change the new pen will start in the same place (but you will need to allow for different thickness of pen ...).

  • The maximum size of a plot is around 300mm x 400mm, but using a large plot area increases the risk of the lead catching on the Y-axis stepper motor, so you need to take care.

Firmware

  • McGraw uses GRBL software - follow the instructions here to amend the standard version for use with a servo pen up / pen down

Plotting from a GCODE file

We've mainly been using Universal GCode Sender (UGCS) to send GCode to the plotter (it seems you have to use the "Classic" version with Linux). That's installed on the Linux PC next to McGraw.

  • Open UGCS
  • Check that McGraw is connected to the PC and switch on the plotter using the red button on the board. You should see red and blue lights on the board
  • In UGCS, the Port selection box should contain "/dev/ttyUSB0", the Baud rate should be "115200" and the Firmware should be "GRBL". Click on the Open button. If the plotter is properly connected and switched on, you should hear a slight movement from the servo
  • The servo should start off in the Pen Up position. Attach a pen to the pen holder using an elastic band, ensuring that the tip is only slightly above the writing surface
  • In the Machine status box on the left hand side you should see that the Active State is set to "Alarm". Either press the "$H" button to home the pen using the limit switches, or press "$X" and then move the pen to where you want it to start. In either case you'll then need to press "Reset Zero" so the plotter starts at the current position
  • It's a good idea to leave a margin around your plot; that leaves some space to make registration marks (e.g. pen down (M03 S120), X10, X0, Y10, Y0, pen up(M03 S05)) so that you can make sure the next pen starts in the same place.
  • In the File box on the left hand side, click on the Browse button and load your gcode file
  • Click on the Send button to start plotting

Some ways to produce GCODE

You can create svg files in Inkscape or import them from other programs such as P5JS.

Note: Path To GCode expects your Inkscape file to have a pixel density of 1mm==1px. This is Inkscape’s default, but if you create an SVG somewhere else, and then open it with Inkscape, the density will be wrong, even if you scale your objects down to an A3 document size inside Inkscape.

So, for best results, you should create a brand new A3 document in Inkscape, and then copy and paste your artwork into it.

Then, to convert to GCode:

  • Separate your SVG into layers for each colour and process them individually
  • (Ensure your document has at least one layer)
  • Convert any objects into paths (Ctrl-Shift-C on Linux/PC, Cmd-Shift-C on Mac)
  • Choose Extensions -> GCodeTools -> Path To GCode
  • The preferences tab allows you to choose where to put the output, but you need to be on the Path to GCode tab before clicking on Apply
  • Go to the output folder and hand-edit the Gcode files (!) to replace the before patterns, below, with the afters:
before what it does after what it does
G00 Z5.000000 rapid travel to XYZ 0,0,5 M03 S05; G04 P0.3 set spindle speed to 5 (pen up) then dwell for 0.3 seconds
Z-0.125000 a coordinate 0.125mm below the surface nothing (so 0)
G01 F100.0(Penetrate) linear move at feed rate 100 G04 P0.3; M03 S120 dwell for 0.3 seconds then set spindle speed to 120 (pen down)
F400 speed 400 F800 speed 800

(F400 is the feedrate, the existing value might be ideal if you're using delicate technical pens, but you might be able to go a lot higher - in the tens of thousands - with felt pens)

Naturally we are investigating whether there are better ways of doing this e.g. using existing extensions (maybe InkCut) or writing a postprocessor.

  • This software allows you to create svg and gcode files from jpg, png etc. without any coding, so it's useful for photos and output from Photoshop or Gimp. ReadTheDocs here. You can choose the size of paper (A3 landscape is good), and add a value in Padding to create a border.
  • Once you've created something you want to export, go to File - Export Settings, click on the GCode settings tab and change the following values:
  • In Export Settings change G1 F8000 to G1 F800 (or whatever speed you want
  • Replace value in GCode - Pen Up with M03 S05; G04 P0.3
  • Replace value in GCode - Pen Down with G04 P0.3; M03 S120
  • Save
  • To create your GCode, choose File -> Export Per/Pen -> Export G-Code File. This should create one GCode file for each colour

There are plenty of other programs that will create Gcode - if you find anything useful please add it here

☝️ Filter all pages above!
(Full search available on the top left of page)

WiFi: DoES Liverpool, password: decafbad00

or

Clone this wiki locally