Pen plotters

From XPUB & Lens-Based wiki

Plotters at XPUB

HP DraftPro DXL, promotion photo (1988), found in the HP Museum: http://www.hpmuseum.net/display_item.php?hw=393

HP DraftPro EXL

A0+ pen plotter.

Currently borrowed from Varia, who borrows it from Gijs (OSP).

http://hpmuseum.net/display_item.php?hw=393

  • state: works
  • attitude: this plotter needs to have paper loaded before you start chiplotle; the center point lies at the right bottom of the paper, it works with negative numbers;
  • demo plot: press P1 + P2 simultaneously (the buttons with a small 1 and 2)
  • user manual: http://www.hpmuseum.net/document.php?hwfile=3232 + http://www.hpmuseum.net/collection_document.php (list of HP museum user manuals, in case the download link above does not work)
  • language: HPGL (HP graphics language)

HP 7475A

A4/A3 plotter

https://www.hpmuseum.net/display_item.php?hw=74

There are two of these at XPUB:

xml-plotter-1

xml-plotter-5

HP ColorPro

A4 plotter

http://hpmuseum.net/display_item.php?hw=80

  • state: unknown

HP 7440A

A4 plotter

Hp 7440A advertisement image

This plotter works with 230v, but it needs a special power supply (0v - 10v - 20v) - info in the hp museum

TAXAN X-Y KPL710

User guide for the TAXAN X-Y KPL710 plotter, (PDF)

A3 plotter

The plotter was given to Joak by Thomas Walskaar, we're not sure who gave it to him.

Dip switch settings:

1   2   3   4  5   6  7  8 
OFF OFF OFF ON OFF ON ON ON

BBC Metrawatt SE-283

HP 7550A

A4/A3/A2 plotter, with a paper feeder!

  • state: Currently not working, the carousel is missing

HPGL

Hewlett-Packard Graphics Language (HPGL) is a common plotter language that most plotters speak.

You can turn any vector file into a .hpgl file with Inkscape, which is a free software vector editing tool.

More references and links related to HPGL:

IN;IP0,0,4000,4000;SC0,100,0,100;
SP1;
PA0,0;
PD;
PA100,0;
PA100,100;
PA0,100;
PA0,0;
PU;

CLI

Most plotters connect to this socket on a Linux machine:

/dev/ttyUSB0

Add your user to the dialout group first:

$ useradd USERNAME dialout

Then configure how your computer and the plotter communicate, these settings should work with most plotters:

$ stty 9600 parodd parenb ixon ixoff -F /dev/ttyUSB0

Then send a file with cat:

$ cat myfile.hpgl > /dev/ttyUSB0

Chiplotle

Chiplotle is an HPGL plotter driver that implements and extends the HPGL (Hewlett-Packard Graphics Language) plotter control language. It provides direct control of your HPGL-aware hardware via a standard usb<->serial port interface. Chiplotle is also a general purpose vector drawing library with functions for creating and transforming shapes, which can then be sent directly to your HPGL plotter for printing.

Chiplotle is written and maintained by Víctor Adán and Douglas Repetto.


Use

Connect to plotter to computer with usb.

Start the plotter.

Wait! until the plotter is fully running.

Activate the venv you made.

In Linux:

$ source FOLDERNAME/bin/activate

In Windows (using Powershell):

$ FOLDERNAME\Scripts\Activate.ps1

Now you can start chiplotle:

$ chiplotle3

It should automatically detect the plotter...

If it doesn't, you can try to turn the plotter on and off, or load paper.

Once the plotter is detected, you can send a HPGL file to plotter:

plotter.write_file('FILENAME.hpgl')

When you're done, close chiplotle with:

exit()

Install

Install pip, venv

First install pip and the virtual environment python module, if you don't have them yet.

On Linux:

$ sudo apt install python3-pip
$ sudo apt install python3-venv

On Mac and Windows:

follow the instructions at https://www.python.org/.

Make a virtual environment

On Linux and Mac:

$ python3 -m venv FOLDERNAME

For example:

$ python3 -m venv plotter-venv

On Windows:

py -m venv FOLDERNAME

For example:

$ py -m venv plotter-venv

Activate the virtual environment

On Linux and Mac:

$ source FOLDERNAME/bin/activate

On Windows (using Powershell):

FOLDERNAME\Scripts\Activate.ps1

You can exit again by writing deactivate.

Install Chiplotle

Install Chiplotle inside this virtual environment (the Python library to speak HPGL to the plotter):

$ pip install Chiplotle3

Run Chiplotle

See #Use.


Errors

Windows: Script Execution Policy

See: https://www.makeuseof.com/enable-script-execution-policy-windows-powershell/

Mac: ImportError: module not found "imp"

?

Windows: "port" not found (?)

File "C:\Users\aless\OneDrive\Desktop\PENPLOTTER_venv\lib\site-packages\serial\serialutil.py", line 268, in port
   raise ValueError('"port" must be None or a string, not {}'.format(type(port)))
ValueError: "port" must be None or a string, not <class 'int'>

Alessia and Manetta spend an hour on this error on Nov 13th 2023, but did not figure it out. There is little documentation on using Chiplotle on Windows unfortunately. A next step could be do open serialutil.py to see if the error can be resolved directly there.

It's the next day now, we looked into this again and solved it!

First, edit your Chiplotle config file, which is stored in your home folder, which you can edit on Linux/Mac with:

$ nano ~/.chiplotle/config.py

or on Windows:

> notepad C:\Users\USERNAME\.chiplotle\config.py

Change this line:

serial_port_to_plotter_map = None

into:

serial_port_to_plotter_map = {'COM4' : 'HP7475A'}

or use another plotter model number.

Secondly, you need to also edit a Python script within the Chiplotle library, which you can open on Linux/Mac with:

$ nano PATH-TO-YOUR-VENV/chiplotle3/src/chiplotle3/plotters/baseplotter.py

or on Windows:

> notepad PATH-TO-YOUR-VENV\chiplotle3\src\chiplotle3\plotters\baseplotter.py

Then edit the following on line 196:

@property
def _buffer_space(self):
    self._serial_port.flushInput()
    self._serial_port.write(self._hpgl.B().format.encode())
    bs = self._read_port()
    return int(bs)

and just change the last line:

@property
def _buffer_space(self):
    self._serial_port.flushInput()
    self._serial_port.write(self._hpgl.B().format.encode())
    bs = self._read_port()
    return int(128)

Now Chiplotle should work.

Raspberry Pi

Numpy error:

libopenblas.so.0: cannot open shared object file: No such file or directory

Install the missing library:

$ sudo apt install libopenblas-dev


Inkscape

The plot function is under: export > plot

Error: pySerial is not installed.

Please follow these steps:

  1. Download and extract (unzip) this file to your local harddisk: https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
  2. Copy the "serial" folder (Can be found inside the just extracted folder) into the following Inkscape folder: /usr/????????
  3. Close and restart Inkscape

Make a vector file in Inkscape.

Save it as a HPGL file. See the image on the right for the settings.

For example: A3 landscape

Tip (!): landscape file = portrait plot. Make a landscape document, it plots in portrait orientation on the plotter (weird, but works)

Example settings of a A3 landscape .hpgl file. However, the resolution is something you need to figure out for each plotter. Also, each plotter places the center point differently, sometimes really in the middle, sometimes at the bottom right corner. So it depends if you should enable this here or not... To be figured out :).

PloViewMini

PloViewMini is a tool to visualise HPGL code digitally. It's a demo version of the not-so-mini, regularly sized PloView -- which requires a license that seems to be supported no longer (?), but would allow you for more than just plowViewing, also ploDrawing and maybe even ploMore. One can download the installer at the Isoplotec site.

This should have been a neat example screenshot to display the power of PloViewMini :(
Screenshot of PloViewMini (left) displaying HPGL instructions (right)

Installation Guide

Download the zip file at the isoplotec website.

Alien Wizard
Japanese Wizard

When running the file (on Windows), one may be prompted with a shady installation wizard. It appears it doesn't translate to Unicode characters properly, probably because the software dates back to the 80s. Forcing your OS to interpret non-Unicode characters as Japanese will reveal the true meaning.

Control Panel > Region and Language > Administrative > Language for non-Unicode programs > Change System Locale > Japanese.


  1. Select 同意する (agree)
  2. Click 次へ (next)
  3. For ユーザー名 (username), fill in a username (it should give a default option, which should be fine to use)
  4. For 組織 (organisation), fill in an organistion name (leaving it blank should be fine)
  5. Click 次へ (next)
  6. Click インストル (install)

Note that, at any point, you can click キャンセル (cancel) to cancel or 戻る (go back) to go back.

(This installation guide has been verified for Windows 10. Please append to it if your OS requires a different method.)

Pens

HP Fiber Tip Plotter Pens S Style Pens:

3d printable adapters for pens:

References

One of the turtles made at MIT in the 1980s, apparently this one is called the Terrapin Turtle source
Vera Molnar, Interruptions (1968/69), open series, plotter drawing, 28.5 x 28.5 cm, source
Pensnake in action at Zinecamp 2022
Up pen down, research, fonts and workshops by OSP (since 2012)
Botopera at Constant V, by Gijs de Heij, An Mertens, Anne Laforette, Antonio Roberts, Michael Murtaugh, more documentation (2015)
Hershey Text stroke font Inkscape extension
Tim Lewis "Auto-Dali Prosthetic" (2000)
Jean Tinguely Patent Appareil à dessiner et à peindre [Device to draw and paint]

I asked on the PPP chats if anyone knew any specific contexts/places where pen plotter enthusiasts meet, and the following links were send in return. Also, interestingly enough two people jokingly warned me for a recent attention shift they observed from pen plotting to nfts and AI, placing pen plotting into the field of generative art. – Manetta (talk) 13:20, 21 November 2023 (CET)

Tools/tutorials/techniques

this pen plotter is (not) made to die

Printing repair sessions wiki page, initiated by Joak in 2023

Monday 30 + Tuesday 31 Oct 2023

Joak: On Monday (30/10/2023) and Tuesday (31/10/2023) I will be helping to repair the pen plotters between 5:15pm and 7:30pm. You have probably seen all the different (broken) pen plotters in the XML or Studio, these come from WDKA and other places. Most of them need probably just a small fix, some have a complex problem. These two evenings are just a start. I think by the end of this term 3/4 of the pen plotters should be working again.

If you are interested, just pass by. No previous knowledge of electronics, programming or pen plotters are required. These repair evenings are intended as an introduction to these topics. Everyone is welcome. Modus operandi: You will get an pen plotter on your table and step by step you will repair it over the next weeks or you will even modify it and do some imaginary (but still real) drawing tool/device.

Location: aquarium or studio

The plan is to do in the second trimester the same with (electronic) typewriters and in the third trimester with dot-matrix-printer!

The DB9 to DB25 adapters were soldered. You can get the PCB files here: https://git.xpub.nl/XPUB/adapter

Plotters were opened, cleaned and inspected.

A broken part (the so called "Geneva Drive Wheel mechanism") was 3d printed for Printing/xml-plotter-1, a flipping part that let's the pen carousel rotate: https://www.thingiverse.com/thing:4696713 + https://www.youtube.com/watch?v=G5_YltaYZsg


Monday 13 + Tuesday 14 November

Victor and Joak looked into the alignment issue of HP 7475A, maybe its really a mechanical issue. It was solved?

Alessia, Thijs, Joak and Manetta worked on the TAXAN_X-Y_KPL710, see the repair log here: Printing/xml-plotter-3.

Monday 27 November

Plotter (pre-)party!!! 🎉

Monday 6 February

Ppposter.jpg

exciting news everyone: To kick of the new plotting-year there will be a Pen-Plotter Party on Monday feb 12. Save the date, and get ready for the launch of the Plotting table, Plotting zine alongside various plotting-activities. Do you want to contribute to this event? either contact @Thijs or @Victor on Zulip and join the pen-plotting-commitee!! 🖋

https://pad.xpub.nl/p/plotter-party


Prototypes, tryouts, projects, gallery

drawing horses and shoebils zine by Victor?

Plotting volume levels

Plotting the volume levels during zinecamp

At Machinecamp, an event accompanying zinecamp, Victor and Thijs gave mini penplotter workshops to visitors. During the event, they wrote some javascript code to capture ~2 minutes of audio and translate the volume levels to HPGL. This was then sent to a plotter.

It is available with a web interface as part of the SI23 quilt.

The code can also be found at the dedicated wiki page.

Crosshatching experiments

Inspired by https://hackaday.io/project/20585-upgrade-for-your-diy-plotters, Victor and Thijs wanted to do some crosshatched plots. They wrote a processing script to convert images to crosshatched versions. By doing this for an image's different CMYK color channels separately, it is possible to create intricate multicolor plots.

A workflow for this technique can be found here: here

Plot of the Fishmans LONG SEASON album cover
Plot of 2001: A Space Odyssey's movie poster
Plot of Miles Davis's Bitches Brew album cover

pen plot mazes by Alessia and Thijs?

Twitch Plays Plotter

twitchplaysplotter is a project inspired by TwitchPlaysPokemon in which a pen plotter can be controlled through the chat of a Twitch livestream. This project, worked on by Rosa, Victor and Thijs, was initiated both to experiment with the collaborative and performative nature of plotters, and to facililate participation of pen plotter enthusiasts who were not able to make it to the 2024-02-12 pen plotting party physically.

  • A Git repository containing the project can be found here
  • The twitch channel can be found here
  • A dedicated project page can be found here

Plotters at XPUB (wiki-zine, version Nov/23)

A5 booklet that was printed to celebrate the plotter party on Monday 27 November at the XPUB studio.

It's a printed version of this wiki page, made with User:Manetta/Booklet.sh.

The PDF can be found here, and a booklet version here.

Pen plotters.pdf

is there more? :)

See also