Profiling an Epson 9600 with an X-rite i1 Pro and ArgyllCMS

This is part 3 of my continuing experience with an old Epson 9600 i picked up on Craigslist. (See part 1 and Part 2)

Do you see what I see?

After spending as much on paper, ink, and parts as I did purchasing the printer, I decided to put another ($400) drop in the bucket to pick up a X-rite (formerly GregtagMacbeth) i1 Basic Pro spectrophotometer (a.k.a Eye-One Pro, EFI ES-1000) on Ebay. This tool handles profiling both my display and my printer. Display profiling confirms that the colors on the screen are actually what’s in the image file. Printer profiling confirms that the ink hitting the paper matches what the computer thinks it’s sending. Having both sides of the equation in place means what you see on the screen should match what you see on the page.

Calibrating my printer and looking good doing it.

Calibrating my printer and looking good doing it.

In my last few projects, I’ve been dealing with lack of supported software for older hardware. This effort is no exception. The i1 Basic Pro (Is that an oxymoron or what?) originally came with i1Match, ProfileMaker and MonacoPROFILER all of which won’t run on my Intel-based Macbook running OSX 10.8. X-Rite recommends upgrading to i1Profiler. You can download it from their site easily enough, but unless your device has a license key for it, it will run in evaluation only mode. There is an upgrade path you can buy, but that will run you $699. For that I could have bought a brand new i1 Basic Pro 2 at $1200. Though, more likely, I would have gotten the popular and less-expensive prosumer version, the ColorMunki Photo.

From previous experience, I was aware that the open-source software, ArgyllCMSsupported the i1 without purchasing the upgrade. It’s worth noting that with X-Rite and Spyder a lot of their offerings have the same device and it’s only the software included that limits or enables the device’s capabilities. So, using ArgyllCMS can allow you to get more for less (i.e. free).

ArgyllCMS to the Rescue

Installing Argyll is very straightforward. The website has some instructions for Mac installation which I needed to modify for my newer OS. Here is a revised version that should work on 10.8.5 and later.

Download the latest version and unzip it. I put the resulting folder in my Application directory. I also recommend removing the version number from the folder name so that when you upgrade, you can just drop the updated files in this directory without having to redo the next step.

On the Mac, you will need to add the ArgyllCMS to the path.

Step 1: Open Terminal

Step 2: Enter the follow commands:

    open ~/.bash_profile

Step 3: Add the following line to the end of the file adding whatever additional directory you want in your path in the format PATH=$PATH:$HOME/PATH_TO_DIRECTORY/Argyll/bin


Step 4: Save the .bash_profile file and Quit

Step 5: Force the .bash_profile to execute. This loads the values immediately without having to reboot. In your Terminal window, run the following command.

    source ~/.bash_profile

Step 6: You can confirm the new path by opening a new Terminal window and running:

    echo $PATH

So, once you’re done, you just need to open Terminal, navigate to the ArgyllCMS directory and run the commands that follow. I keep the commands saved in a text document so it’s a cut n’ paste operation. Easy peasy! See my earlier post for a handy utility that opens terminal directly from a Finder window.

Color Management for Doctorates 

The ArgyllCMS site has a page that gives a run down on the steps involved in creating a printer profile. It’s detailed. Very detailed. Very, very detailed. To quote;

“Most printers running through simple drivers will appear as if they are RGB devices. In fact there is no such thing as a real RGB printer, since printers use white media and the colorant must subtract from the light reflected on it to create color, but the printer itself turns the incoming RGB into the native print colorspace, so for this reason we will tell targen to use the “Print RGB” colorspace, so that it knows that it’s really a subtractive media. Other drivers will drive a printer more directly, and will expect a CMYK profile. [Currently Argyll is not capable of creating an ICC profile for devices with more colorants than CMYK. When this capability is introduced, it will by creating an additional separation profile which then allows the printer to be treated as a CMY or CMYK printer.] “

Hmm. Yup. Yup. Yeah. I recognize some of these words. Yup, definitely words.

Even if you know what Color Management is, the documentation can be a bit dense; detailed to the point of obscurity, some might say. If you don’t know what Color Management is, then you may want to start backing away very slowly. While I lack an advanced degree in color theory, I do have quite a bit experience with command-line programs. So, after a few days of trial, error, and Google, I have developed a simple workflow that should help other newbies get started.

image from

In summary, you’ll create a print target, one or many pages with rows of colored squares, and then read that target with your spectrophotometer. From that reading, ArgyllCMS generates a printer profile (.icc). There are five steps;

  1. targen – this command tells ArgyllCMS how many patches to put in the target
  2. printtarg – here you generate TIF file(s) of your target
  3. Print the TIF file(s) without Color Management
  4. chartread – captures the data coming from the spectrophotometer
  5. colprof – creates the printer profile from the chart scan

Technically, you only need to do the first two steps once, because once you have your TIF file generated, you can just reprint that for any subsequent re-profiling. (Though this may not be entirely correct, since the ArgyllCMS documentation differentiates between printer profiling and printer calibration with the latter being used to “allow day to day correction of device drift without resorting to a full re-profile”. Honestly, it’s outside the scope of my understanding thus far and maybe I’ll revisit it after I delve into it more.)

If you just want the ArgyllCMS commands I used without the details and colored commentary (pun intended), jump to the Summary at the end.

Step 1 – Targen

By default, targen with the minimum options for an RGB printer [-d2] will generate 836 patches, which when printed on US Letter, will span a little under 2 pages.


targen -v -d2 FileName

targen -v -d2 FileName

Now you may be asking yourself, “Do I have an RGB printer?” If in doubt, try answering the following questions;

  1. Name an aquatic animal that can see more than RGB?
  2. How the heck does the K in CMYK mean black?
  3. Is RIP something that only pertains to funerals?
  4. Did you buy your fine art printer at Costco?

Answers: 1) The Mantis Shrimp, 2) The K in CMYK stands for “Key Plate”. In CMYK, this is usually done with black ink. Plus, B already meant Blue. 3) No. See Raster Image Processor. 4) Seriously?

If you answered “What the what?” to most or all of these questions, you probably have a printer that uses an RGB driver regardless of how many ink colors are physically put into it. If you have a driver or RIP that is printing directly to CMYK, than you should probably be writing this article. I humbly await your comments.

But, I digress… Good paper’s not cheap. So, I wanted to maximize the patches per square inch. If you look at the chart at the bottom of the targen documentation, it lists the ideal patches/page for your device. For the Eye-One Pro, it’s 462 for 1 page, 924 for 2 pages, and in multiples of that so forth.

targen -v -d2 -G -e8 -g128 -f700 EyeOne1pg

targen -v -d2 -G -e8 -g128 -f700 EyeOne1pg

With some fiddling, I got 700 patches on a single letter sized sheet. Let’s break down how.

targen -v -d2 -G -e8 -g128 -f700 EyeOne1pg

  • [-v] – Shows progress on the screen so, you aren’t just left listening to the fan whirr and wondering what’s going on
  • [-d2] – Because you have an RGB printer from Costco
  • [-G] – “Generate good optimized points rather than Fast” because good is better than fast. That’s what she said.
  • [-e8] – White color test patches. Default is 4.
  • [-g128] – Prints 128 greyscale patches so you can do accurate B&W prints later. Probably want to multiply this if you do multiple pages.
  • [-f700] – Overall patch count.

Some threads I read suggested patch counts of 2000-3000 for accurate profiles on large format printers. That seems excessive to me. The profiles I produced with a single sheet looked great. Though if you wanted to, just scale the [-f] number accordingly; 1400 for 2 pages, 2100 for 3 pages, etc.

Step 2 – Printtarg

This is the part that I spent the most time tweaking. Setting the number of patches is easy. Getting it to fit properly on the page will kill a few trees. Here’s how I got the one pager above.

printtarg -v -ii1 -L -a0.87 -m8 -M8 -T360 -P -pLetter EyeOne1pg

  • [-v] – Because watching the text output makes me feel like Neo.
  • [-ii1] – Specifies the device; i1. For example, Colormonki would be [-iCM]
  • [-L] – Gets rid of the extra whitespace created for the clip on the scanning board. You don’t need it. It’s a over-engineered gimmick.
  • [-a0.87] – Scales down the patches. The i1 can read patches a minimum of 7mm2. Default is 10mm2.
  • [-m8 -M8] – Sets the top/bottom and left/right margins to 8mm.
  • [-T360] – Create a TIF (postscript is default) at 360 dpi
  • [-P] – Doesn’t limit the strip length.
  • [-pLetter] – set the page size to US Letter (8.5″ x 11″)
  • EyeOne1pg – name of the resulting TIF

If you want to print multiple pages and modified the patch count accordingly inTargen, you don’t need to change anything here.

Step 3 – Print the Target

Use the Adobe Color Printer Utility application to print your targets without color management applied. Don’t use Photoshop, since newer versions don’t let you print without color management. With Epson printers, you also want to be sure you’re not using the color controls built into the printer.

I’ve also heard you can also use Mac’s native ColorSync (Applications > Utilities), if you select “Print as Color Target” under ColorSync Utility on the print options. While I couldn’t see any difference between the outputs of the two methods, I went with the Abobe utility as it was recommended by more users.

In the Adobe Color Printer Utility, select the TIF created in the previous step. Go to File > Page Setup and select your printer and paper size, US Letter. Your paper size options may be named differently and you may have several options within US Letter. Just be sure to select the one that has the minimum borders or is borderless. Hover over the option to see the margin sizes.

Page setup

Adobe Color Printer Utility – Page Setup

Select the Letter option with the smallest margins.

Select the Letter option with the smallest margins.

Next, select File > Print. Under Printer Settings, select the correct media type. If you’re using a non-Epson brand paper, look on the manufacturer’s website for the media equivalent. For example, I’m using Canson Baryta Photographique 310gsm which according to their website is equivalent to Epson’s Premium Semi Gloss Photo Paper.

Print Options

Print Options

Set your print quality. Confirm ColorSettings is disabled and print away. Let the print dry for a few hours (or even overnight) before scanning.

Step 4 – Chartread

Go back to terminal and enter;

chartread -T0.4 EyeOne1pg

The program will run you through a set off prompts to complete the scan. First it will ask you to place the i1 on its calibraton plate. Next, it will ask you to start scanning starting a row A.

i1 on its calibration plate

i1 on its calibration plate

The i1 and target on the backing board

The i1, printed target, and scanning ruler on the backing board

Here are some tips on scanning;

  • The scan starts when you press the button on the side of the i1, but there is a delay. So, wait till you hear the “Bonk” sound on your computer before starting to move the device. The sound plays through the computer not the device and is very low, so make sure your volume is turned up.
  • You can scan in either direction; top to bottom or vice versa. Alternating each line makes the whole process go faster.
  • Center the row vertically in the ruler opening so there is whitespace on both ends.
  • Line the row up horizontally in the center in ruler opening so that the patches aren’t touching the edges.
  • If you have to retry a row of a few times, try re-positioning the ruler.
  • Because we eliminated the white space on the left you can’t clip the page and use the ruler on the first few rows. Once you’re past those rows you can move the paper and clip it if you want to. I find the weight of the ruler hold the paper in place even without the clip.
  • If you don’t have a backing board any flat surface will do but, be careful, because the color of that surface can show through the paper. Put another sheet of the same paper beneath it to prevent any color bleeding through.

Step 5 – Colprof

The last step is to generate the printer profile from the scan.

First, copy AdobeRBB1988.icc (located in HD > System > Library > Colorsync > Profiles) to the ArgyllCMS Directory.

Next, here’s the command I used and the breakdown.

colprof -v -A “Epson” -M “Stylus Pro 9600” -D “*Epson 9600 Canson Baryta Photographique CCpro” -qh -S AdobeRGB1998.icc -cmt -dpp -O  Epson9600BarytaPaperCCPro.icc EyeOne1pg

  • [-v] – You’ll definitely want progress shown. This process can take a while.
  • [-A] – Manufacturer (optional)
  • [-M] – Model (optional)
  • [-D] – Very important. This is what you’ll see as the profile name in Photoshop and Lightroom. I put a leading * in the name to bring it to the top of the list and clearly differentiate the custom from standard profiles (see image below). In this example, I use the printer model, paper name, and ink type (CCpro = ConeColor Pro K3).
  • [-qh] -Set quality to  ‘High”
  • [-S AdobeRGB1998.icc] – I used Adobe1998 as source profile for gamut mapping. I confess to doing this only because most of the threads I read suggested doing so. That’s all the color profile I use in Photoshop, so it made sense. Reading About ICC profiling and Gamut Mapping didn’t exactly clarify things. So, let’s take this one on faith.
  • [-cmt] – “Monitor in typical work environment” Taking this one on faith, too.
  • [-dpp] – “Monitor in typical work environment” And this one as well.
  • [-O Epson9600BarytaPaperCCpro.icc] – resulting filename

The last step is to copy the .icc file from the ArgyllCMS directory to Macintosh HD > Library > ColorSync > Profiles. You’ll have to enter your password to do so.

The new profile appears in the Photoshop print menu

The new profile appears in the Photoshop print menu


Open up Photoshop, go to print and now you’ll see your new profile available in the list of available Printer Profiles under Color Management. If you don’t see it listed, try restarting your computer.


In summary, the steps are;

  1. targen -v -d2 -G -e8 -g128 -f700 FileName
  2. printtarg -v -ii1 -L -a0.87 -m8 -M8 -T360 -P -pLetter FileName
  3. Print the TIF file
  4. chartread -T0.4 FileName
  5. colprof -v -A “Printer Brand” -M “Printer model” -D “Profile Name/Description” -qh -S AdobeRGB1998.icc -cmt -dpp -O  ProfileName.icc FileName

To test my results, I compared a test image I printed on my 2200 using third party inks and Epson’s standard profile with the same image printed with the same inks and my new custom profile; both on Epson Photo Glossy paper. (I’m using my Epson 2200 instead of my 9600 because there was a more noticeable improvement with that printer/ink combination.)


‘Before’ print on top. ‘After’ print on bottom.


Above, I put my ‘before’ print on top of my ‘after’ print and took an (admittedly poorly lit) photo of the two to illustrate the difference, which I found most pronounced in the skin tones on my test image. The bottom print made with my custom inks and profile had less of a color cast and much more natural colors in the faces.

I also compared the ‘after’ print to a test image I printed a few months ago on my 2200 using Epson’s inks and profile. Using the custom ink/profile combination gave results that looked much closer to output from Epson’s standard ink/profile combination.

In closing, ArgyllCMS is a very sophisticated application of which, like Photoshop, I feel I am only scratching the surface of. From the forums I’ve read, its level of sophistication is on par with X-rite’s i1Profiler and superior to the Colormunki’s software. As my understanding of color management practices increases I may revisit some of the options I used here and get even better results. That being said, I was able to get results I was very happy with with only a small learning curve. Some users may be turned off using a command line interface, but having gone through the steps once and saving the commands in a text document, I feel that the next go around would be painless.

On the hardware side, the i1 may be an advanced piece of kit, but in my opinion, it could use some better product design. You can tell it was engineered for one purpose and then retrofitted to serve others. The form factor is clearly designed for reading printed targets. Which is evident by all the awkward accessories needed to set it up to do display or projector calibrations. The Colormunki, with its single-body multi-purpose design, is superior in comparison even if it’s inner-workings are inferior. If I had to make the choice again, I might opt for the one that took up far less room in my small NYC apartment.

Hope this was helpful.




Futureproofing the Epson 9600

» This is part 2 of my continuing experience with an old Epson 9600 i picked up on Craigslist. Be sure to check out Part 1 and Part 3)

That’s so 20th Century

First, I wanted to update the firmware to the latest version.  The biggest challenge was that for the Mac, the installer was only available for Mac System 9. (I know, right?) So, being the techno-wizard I am, I dived head-first into looking at emulators to run the older Mac OS (like Sheepshaver and Basilisk II) but they couldn’t access printer drivers. Even using a DOS emulator like DosBox or a Virtual Machine like VirtualBox didn’t help. Eventually I tossed in the towel and went with the path of least resistance (or so I thought), dug up an old PC, some boot disks, and a copy of Windows XP (I know, right?) After several hours of being reminded why I made the switch to Mac, I finally was able to get XP running. I installed the printer driver, and then the Printer Service Utility v1.33 but the utility would not “see” the printer despite being able to print test pages. I uninstalled the utility, installed Status Monitor3 v3.1b to check the connection and that application worked fine. After rebooting and reinstalling, the utility finally recognized the printer and I was able to update to Firmware version BW1452_Q.UPG .

Hello Windows, my old friend...

Hello Windows, my old friend…

Gather ye Spare Parts while ye may…

The printer came to me in fairly good shape; no clogs or any of the major issues I saw commonly cited on Luminous Landscape and in the Epson Wide Format Yahoo group. So my concern with such an old printer was more on future-proofing; guarding against some of the planned obsolescense inherent in today’s hardware.

There are only a few parts distributors listed on Epson’s Support Page for user replaceable parts. Most of these sites are god-awful, user-unfriendly garbage.

  • CompassMicro – Surprisingly, this website was updated in 2013. I hope they didn’t pay a lot. Of the few parts listed for my model, most are marked as unavailable.
  • Encompass Parts – Looks like it has a lot of parts but once you drill into the details and check the Total Availability or Estimated Ship Date you’ll see there actually aren’t.
  • National Parts Depot
  • TSAWorld – Shows one part, but if you search by part number it has some listed under the 7600. Requires login to view pricing.
  • PC Parts Canada – no pricing/availability just quotes.

My foray into these virtual junkyards made me feel only more certain that I needed to stockpile some parts if and when I could find them. So the next stop, of course, was Ebay. I picked up an Automatic cutter (part # C12C815291) for $60, less than the $95 Epson charges.

I also bought three (at $6 each plus shipping) Head Cleaners aka Wipers (part #1230744 or #1113691 depending on where you look) from American Injet Systems because I didn’t trust the cheap knockoffs from China floating around on Ebay. Manual says they last about a year each and the status page I printed said mine was about 3/4th of the way through its useful life.

Epson 9600 cutter replacement and wipers

Epson 9600 cutter replacement and wipers

US invasion of Epson imminent

A 220ml cartridge of Epson Ink for the 9600 retails at $138. So while people go crazy when gas goes above $4/gallon, a gallon of printer ink will set you back over $2,300.

High-quality third-party ink like Ink2Image’s Cave Paint and InkJetMall’s ConeColor inks run about 50% less (a reasonable $1,150/gallon). That discount and the possibility that Epson may discontinue manufacturing cartridges for this model — as ConeColor just recently discontinued their K2 inks in favor of the K3 used by newer Epson models — led me to invest in refillable cartridges. ConeColor’s cartridges were highly recommended but, in my opinion, over-priced at $242. I ended up getting a full set of eight from for $153. The same set were cheaper at InkPro2Day and InkOwl but InkJetCarts had a better reputation for support on some of the forums. Which turned out to be true, since one cartridge was missing a stopper and chip. I contacted them and the next day received a replacement. Be sure to check the chips on you set aren’t loose and apply a bit of glue if they are (be care not to get glue on the contacts). If any one falls off inside the bay, you might have to dismantle the whole thing to retrieve it. (Edit: I’m now on my second set which I purchased from InkOwl . Looking at another vendor on Amazon they must come from from a common supplier because they look exactly the same, only less expensive.)

Refillable cartridges

Refillable cartridges

I wasn’t completely happy right off the bat. I found the cartridges wouldn’t stay in their slots like the OEM carts and constantly pop back out. Because of this, I couldn’t get the printer to recognize that all new the cartridges were installed. It ended up being a game of whack-a-mole. When I got one working, the red light on another turned on. What finally worked was turning off the chip counter that keeps track of ink levels. I had planned to do that anyway to reduce the wear and tear on the delicate gaskets and chips caused by taking the cartridges in and out.

Bump in the road

When I installed the cartridges, I hadn’t received my inks from ConeColor yet. I was too eager to play with my new toy and transferred the ink from my old OEM cartridges using a syringe. However, I was really low on Light Magenta and the amount in the cartridge wasn’t enough to keep air from getting into the line when I first ran the Int Fill procedure. My heart dropped when I saw bubbles in the line. I had to deal with the same issue for hours once with my 2200 and now I had the same problem on a printer 5 times as big and complex. Nearly all suggestions I read talked about taking out the dampers or running cleaner through the lines; actions that require lots of dismantling, replacing, and praying. My heart dropped with every word.

Air bubbles than can potentially kill your print head.

Air bubbles than can potentially kill your print head.

One forum suggested just running the Int Fill procedure again. This seemed the least invasive course of action. So when my ink arrived, I filled up the carts, primed each one again (just to make sure), and ran int fill. I watched it run, thinking there’s no way it’ll be this easy. Once it finished, however, a quick inspection showed the line was clear of bubbles. Nice! The printer gods must be smiling upon me. Next step was to print a nozzle check. “Error: Maintenance Tank Full”. Curse you, printer gods!

The maintenance tank gets filled up quickly with all the ink the printer wastes constantly cleaning the print head. So, you always needs a spare. Epson charges $40 for this plastic container filled with absorbent material. Luckily, the chip resetter that came with my ink cartridges (more on those) also also worked on the tank. So my plan was just to crack open the tank, replace the material, reset the counter, and feel better about not adding needless waste to our landfills. Edit

When I took out the tank, I could feel that it weighed about 5 pounds (in other words, a few hundred dollars worth of ink). Mind you, I had just installed this new tank less than a month ago. When you crack it open to get the used material out, you’re going to want to do this over the sink because a good amount of the ink will pour out. I rinsed out the whole thing being carefull not to get the chip on the side wet. (I was also able to rinse out the material — which comes in pre-cut slices — and save it for future reuse.) Then I stuffed the dried tank full with 2 packs of 2×2 Cotton Squares that I had bought for $5. Incidentally, I did look at using diapers but, damn!, they are expensive for something that just gets sh*t on. Paper towels are not a good choice since tend to disintegrate as they get wet. Cotton holds together better and, when placed on their side, I was able to pack the squares in much tighter than cotton balls. I used the chip resetter, popped the tank back in, and everything was good to go at 1/10th the cost.

Packing an emptied maintenance tank with cotton squares.

Packing an emptied maintenance tank with cotton squares.

Before and after

Before and after

Next Steps or The Long March to Diminishing Returns

Since I’m not using official Epson inks anymore and I’ve heard about the 9600 exhibiting color drift over time, I’m planning to color calibrate the printer. My recent effort with my Spyder 2 helped calibrate my display so, I know what I see on the screen is what’s getting sent to the printer’s driver. However, without measuring the final output, I still haven’t closed the color management loop. For that I’ll need a Spectrophotometer. Back to Ebay, I guess.