Fluke Scopemeter 97 Screenshot Hack

While waiting for parts to arrive to build a proper optical serial interface, I really wanted to get some screenshots off of my oscilloscope. Knowing that the infrared LED in the interface is directly transmitting the serial signal, I figured I should be able to tap into that driving signal to obtain the serial information.

Note: since writing this article, I've built a proper optical interface.

I pulled out the service manual and located the serial port circuitry. Below is an excerpt of just that section. You can see the infrared LED, H1201, is directly driven, through a 261Ω resistor, from the TXD pin on the main controller. Thus, I should be able to pull the signal from the "far side" of R1201. The location of that resistor is pointed out in the image.

Placing a probe on the resistor, I was able to verify with my multimeter that it was a 5V signal and that it did swing around when I hit the print button on the scope. Since I was still waiting on my USB-to-TTL Serial converter to arrive though, I had to find a different way to capture the signal.

Enter, Arduino.

I rigged up an extremely simple program that sets up a software serial port on one pin, reads from it, then outputs the data over the USB serial port back to the PC.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
#include <SoftwareSerial.h>;
 
SoftwareSerial fluke(4, 13);
 
void setup() {
    fluke.begin(9600);
    Serial.begin(9600);
}
 
void loop() {
    int tmp = fluke.read();
    if (tmp > -1) {
        Serial.write((uint8_t)tmp);
    }
}

With that running on the board, I attached a probe from pin 4 to that resistor on the scope board.
I configured the scope for ThinkJet format and 9600 bps under the "Special Funct" menu, then hit "Start Print". I used CoolTerm to capture the stream to a file, which left me with a raw stream of data meant to be interpreted by a printer as old as me

Luckily, lots of other test equipment outputs in this format and someone has had the misfortune of already needing a translator — the Netpbm project has a program called thinkjettopbm that will convert that raw stream into a PBM image which can then be converted to PNG with pnmtopng.

Voila!

You may also like...

1 Response

  1. 06 May 2015

    […] finally got around to building an optical interface so I don't have to use the hack I came up with previously to take screenshots or capture waveforms […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.