Author Topic: KEITHLEY 2001 Display Substitute  (Read 24516 times)

0 Members and 2 Guests are viewing this topic.

Offline maxxim

  • Contributor
  • Posts: 15
  • Country: at
Re: KEITHLEY 2001 Display Substitute
« Reply #25 on: December 01, 2020, 07:41:06 pm »
Hi, I hope you share with us when you're done.
 

Offline charlyd

  • Frequent Contributor
  • **
  • Posts: 586
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #26 on: February 24, 2026, 08:03:53 pm »
hi any progression on this keithley 2001  replacable VFD ?
 or maybe if somebody has a good vfd for sale please DM .
 

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #27 on: May 03, 2026, 03:54:27 pm »
Since the OP has not responded did I dig in to it a little bit. (because I have a unit with a barely visible display)
The protocol is TTL RS232  9600 baud no parity 1 stop bit.

The processor sends
0x04 to signal start display of text on the display
the 0x00 if it is normal text or 0x01 if it is flashing text.
Then the 20 ASCII characters for the big display
Then the 32 ASCII characters for the smaller display part
Then 0x0B and 0x00   (this actually means stop flashing text)
In the above 52 ASCII chars can be a 0x0B 0x01 (begin flashing text)  or 0x0B 0x00 (end flashing text)

0x06 0x.. 0x..  items around the display e.g.  REAR, FLT AUT ARM
0x07 0x.. 0x..  value of 0x06  XOR 0xFFFF (so the same as 0x06 except inverted)
        0x00 0x01   FLT
        0x00 0x02   MATH
        0x00 0x04   4Wire
        0x00 0x08   AUTO
        0x00 0x10   ARM
        0x04 0x00   remote
        0x08 0x00   talk
        0x40 0x00   REAR
        0x80 0x00   REL

still investigating but don't know when I have more time to finish
and waiting for the 5.5" oled to arrive.





« Last Edit: May 13, 2026, 03:01:17 pm by BennoG »
 
The following users thanked this post: edavid, macboy, TheDefpom

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #28 on: May 22, 2026, 05:49:26 pm »
progress so far for decoding the RS232 TTL to display update over SPI (3.1" for testing)  5.5" for final.

edit: somehow the images where upside down.
« Last Edit: May 22, 2026, 05:52:01 pm by BennoG »
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 2213
  • Country: scotland
  • Full time EE & Youtuber/Creator
    • IanJohnston.com
Re: KEITHLEY 2001 Display Substitute
« Reply #29 on: May 23, 2026, 05:20:25 am »
progress so far for decoding the RS232 TTL to display update over SPI (3.1" for testing)  5.5" for final.

edit: somehow the images where upside down.

Hi, I am just about to start another VFD to TFT LCD upgrade……I got some notes from the OP to get me going, but would you have your WIP acquisition code available to help me along?

It’ll be a couple weeks before I get started.

Ian
Ian Johnston - Original designer of the PDVS2mini || Author of WinGPIB
Website: www.ianjohnston.com
YouTube: www.youtube.com/user/IanScottJohnston, Odysee: https://odysee.com/@IanScottJohnston, Twitter(X): https://twitter.com/IanSJohnston, Github: https://github.com/Ian-Johnston?tab=repositories
 
The following users thanked this post: TheDefpom

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #30 on: May 23, 2026, 08:49:41 am »

Hi, I am just about to start another VFD to TFT LCD upgrade……I got some notes from the OP to get me going, but would you have your WIP acquisition code available to help me along?

It’ll be a couple weeks before I get started.

Ian

What platform are you aiming for ?

I have it working on a raspberry pi at the moment. (but the boot time is too slow and draws a lot of current)
I am planning to get it working for a C8051 / EFM8BB from Silicon Labs (so I can order a completely assembled PCB from JLC)
Or something with a arduino clone.
Or W55RP20-EVB-PICO WIZNET (so I have ethernet connectivity added to the 2001 and 2400)

If you want the current test code then I can post it here (there is in the protocol interpeter a small bug) after running all the internal tests the bottom line (press any key to continue) is not shown for some reason.

Benno

« Last Edit: May 23, 2026, 11:09:45 am by BennoG »
 
The following users thanked this post: IanJ

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #31 on: May 24, 2026, 08:55:30 am »
RS232 interpretation part (not completely finished)

 

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #32 on: June 03, 2026, 10:15:55 am »
Ok now I have working software for the raspberry pi pico

Attached basic connection drawing.

Kicad simple connection schema  (only 1 resistor and 1 diode needed, the diode in the 5V can be left out if you dont plan on using the USB connection)
Kicad more complex + pcb where you can also send commands to the K2001
And the software so far that works for both the diagrams.
The source .zip file also has a compiled .uf2 file that you can use.

The source can also almost without modification used on a normal raspberry PI

https://github.com/BennoG/Keithley-2001-oled

edit: added github repo.


« Last Edit: June 03, 2026, 11:42:37 am by BennoG »
 
The following users thanked this post: IanJ, TheDefpom

Offline IanJ

  • Supporter
  • ****
  • Posts: 2213
  • Country: scotland
  • Full time EE & Youtuber/Creator
    • IanJohnston.com
Re: KEITHLEY 2001 Display Substitute
« Reply #33 on: July 06, 2026, 02:45:46 pm »

Hi, I am just about to start another VFD to TFT LCD upgrade……I got some notes from the OP to get me going, but would you have your WIP acquisition code available to help me along?

It’ll be a couple weeks before I get started.

Ian

What platform are you aiming for ?

I have it working on a raspberry pi at the moment. (but the boot time is too slow and draws a lot of current)
I am planning to get it working for a C8051 / EFM8BB from Silicon Labs (so I can order a completely assembled PCB from JLC)
Or something with a arduino clone.
Or W55RP20-EVB-PICO WIZNET (so I have ethernet connectivity added to the 2001 and 2400)

If you want the current test code then I can post it here (there is in the protocol interpeter a small bug) after running all the internal tests the bottom line (press any key to continue) is not shown for some reason.

Benno

Thanks for this and the nice work on faithfully replicating the original VFD........your code is a fine starting place if I proceed (not anytime soon sadly!).

My existing TFT conversions have been done using STM32 BluePill and the LT7680A-R TFT driver board.
Done so far:-
R6581T DMM - VFD to TFT (see attached pic)
HP3457A DMM - LCD to TFT
R6243 SMU - VFD to TFT
HP3478A DMM - LCD to TFT
HP34401A DMM - VFD to TFT

Ian.
« Last Edit: July 06, 2026, 03:03:26 pm by IanJ »
Ian Johnston - Original designer of the PDVS2mini || Author of WinGPIB
Website: www.ianjohnston.com
YouTube: www.youtube.com/user/IanScottJohnston, Odysee: https://odysee.com/@IanScottJohnston, Twitter(X): https://twitter.com/IanSJohnston, Github: https://github.com/Ian-Johnston?tab=repositories
 

Offline BennoG

  • Frequent Contributor
  • **
  • Posts: 384
  • Country: nl
Re: KEITHLEY 2001 Display Substitute
« Reply #34 on: July 06, 2026, 04:23:06 pm »
what type TFT do you use, I was looking for one but they are more square so too high to use in the meter.

Benno
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 2213
  • Country: scotland
  • Full time EE & Youtuber/Creator
    • IanJohnston.com
Re: KEITHLEY 2001 Display Substitute
« Reply #35 on: July 06, 2026, 04:44:04 pm »
what type TFT do you use, I was looking for one but they are more square so too high to use in the meter.
Benno

I've used two different sizes:
https://www.buydisplay.com/bar-type-3-71-inch-240x960-ips-tft-lcd-display-spi-rgb-interface
&
https://www.buydisplay.com/bar-type-4-58-inch-320x960-ips-tft-lcd-display-spi-rgb-interface

Here's a pic of a K2001 front panel with the 4.58" TFT dropped in (same as I used with the R6581T & R6243).......looks like it fits!

Ian.
« Last Edit: July 06, 2026, 06:34:44 pm by IanJ »
Ian Johnston - Original designer of the PDVS2mini || Author of WinGPIB
Website: www.ianjohnston.com
YouTube: www.youtube.com/user/IanScottJohnston, Odysee: https://odysee.com/@IanScottJohnston, Twitter(X): https://twitter.com/IanSJohnston, Github: https://github.com/Ian-Johnston?tab=repositories
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 2213
  • Country: scotland
  • Full time EE & Youtuber/Creator
    • IanJohnston.com
Re: KEITHLEY 2001 Display Substitute
« Reply #36 on: July 06, 2026, 07:44:38 pm »
Not that I found, but in my experience you don’t have to fully replicate the original width, the 4.58” is still very good. See my R6581(T) pic above.

Ian
Ian Johnston - Original designer of the PDVS2mini || Author of WinGPIB
Website: www.ianjohnston.com
YouTube: www.youtube.com/user/IanScottJohnston, Odysee: https://odysee.com/@IanScottJohnston, Twitter(X): https://twitter.com/IanSJohnston, Github: https://github.com/Ian-Johnston?tab=repositories
 

Offline Uunoctium

  • Frequent Contributor
  • **
  • Posts: 516
  • Country: de
Re: KEITHLEY 2001 Display Substitute
« Reply #37 on: July 06, 2026, 07:50:03 pm »
tl;dr
I don't know, if that matches here. Posted that in spring in another thread:
It's definitely worth having a look at his video (included)
https://github.com/RM-Engineering/KEITHLEY-2000-replacing-the-VFD-with-a-TFT-color-display
 

Offline IanJ

  • Supporter
  • ****
  • Posts: 2213
  • Country: scotland
  • Full time EE & Youtuber/Creator
    • IanJohnston.com
Re: KEITHLEY 2001 Display Substitute
« Reply #38 on: July 06, 2026, 07:54:14 pm »
tl;dr
I don't know, if that matches here. Posted that in spring in another thread:
It's definitely worth having a look at his video (included)
https://github.com/RM-Engineering/KEITHLEY-2000-replacing-the-VFD-with-a-TFT-color-display

Same 4.58” TFT and LT7680A-R technique as I have been using. Looks great!

Ian
« Last Edit: July 06, 2026, 08:10:28 pm by IanJ »
Ian Johnston - Original designer of the PDVS2mini || Author of WinGPIB
Website: www.ianjohnston.com
YouTube: www.youtube.com/user/IanScottJohnston, Odysee: https://odysee.com/@IanScottJohnston, Twitter(X): https://twitter.com/IanSJohnston, Github: https://github.com/Ian-Johnston?tab=repositories
 

Offline Uunoctium

  • Frequent Contributor
  • **
  • Posts: 516
  • Country: de
Re: KEITHLEY 2001 Display Substitute
« Reply #39 on: July 06, 2026, 07:58:11 pm »
 :-+
 

Offline TheDefpom

  • Frequent Contributor
  • **
  • Posts: 951
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: KEITHLEY 2001 Display Substitute
« Reply #40 on: July 23, 2026, 08:30:18 am »
I have successfully done a 4.58” TFT conversion to the 2002, and tested on the 2001.

Video about it is here: 🔴 Keithley 2001 & 2002 TFT Replacement Project - What A Difference ! - No.1507
https://youtu.be/HHad28dQnug

It uses an ESP32-S3 Qualia board from Adafruit, makes the process easier.

Code is on my GitHub, but I expect I will be tweaking it over time to improve it, but what is there is working.
Cheers Scott

Check out my Electronics Repair, Mailbag, or Review Videos at https://www.youtube.com/TheDefpom
 

Offline chekhov

  • Regular Contributor
  • *
  • Posts: 143
  • Country: by
Re: KEITHLEY 2001 Display Substitute
« Reply #41 on: July 23, 2026, 09:24:45 pm »
Just for fun, let me post a few notices about my failed K2000/K2001 display replacement ...

Files say I started it somewhere in 2021, at least first attempts to get an idea how display work and how to get something similar.
My goal was to make whole display assembly, not just replace failed VFD ...

For protocols, in both cases they work like terminals ...
Code: [Select]
Commands
0x0B 0x00 - set non-blinking
0x0B 0x01 - set blinking
0x0B 0x02 - lower light intensity
This also survices carriage moving

0x04 0x00 - ??? frequently at the beginning of text
Maybe argument is offset ???

  002   2     02    STX (start of text)   remove all after current position and print text
  003   3     03    ETX (end of text)    remove all before current position and print text

  0x04 with offset - where to start writing ...
  0x05 - backspace
  0x06 0xXX 0xXX - light up upper annunciators line, 16 of total
  0x07 0xXX 0xXX - turn off upper annunciators line
 
  0xc ???

  0xD - carriage return, nothing is cleaned

Cannot find how to enable numbers :(

Blinking timing ... maybe make smth like 0.45s

Buttons scanning:
Usually one of the lines is high all the time. Maybe that is in order to detect most common buttons, not sure.
Once in ~20 ms it goes down and on other lines 10us scan is performed.
If pressed button is detected, wait for 40ms and confirm it - it likely uses trigger on failing edge as well here.
if button was pressed all the time - send it's code and wait for unpress.
Button is sent as it's singe byte code, and when unpressed - 0x40 '@' is sent.

...
s.write('\x04\x0a\x03') - some bug, panel starts drawing more current and do not respond to input ...
...
fun note for K2000 panel

CMD 12 - also some even more weird blinking
sets NEXT EXISTING symbol to be blinking if 1, 0 if not, NO SHADOW
IF symbol is already blinkng, 12 1 makes it appear/disappear !!!
BUT, makes ONLY LAST symbol entered, so if before was blinking, it clears it (only the one set for 12 cmd)

Likely that's all a BUG, but
>>>
>>> s.write([0x0f])
1
>>> s.write([11, 1])
2
>>> s.write([0x0D, '1', 12, 1, 5 , 0x5, 0, '0', '2'])

makes some annunciators BLINK !!!  works w/o 12, 1, as well

By just executing 0x5  can make annunciators appear/disappear
In this case carriage go in reverse direction

Which was translated into:
Code: [Select]
/* Copyright chekhov at eevblog.com */
#pragma once

/* Commands for K2001-style display */
#define  K2001_CMD_NONE             0x00
#define  K2001_CMD_UNUSED_1         0x01
#define  K2001_CMD_CLEAR_REST       0x02
#define  K2001_CMD_CLEAR_BEFORE     0x03
#define  K2001_CMD_SEEK             0x04
#define  K2001_CMD_BACKSPACE        0x05
#define  K2001_CMD_ANON_ON          0x06
#define  K2001_CMD_ANON_OFF         0x07
#define  K2001_CMD_UNUSED_8         0x08
#define  K2001_CMD_UNUSED_9         0x09
#define  K2001_CMD_UNUSED_A         0x0A
#define  K2001_CMD_TEXT_MODE        0x0B
#define  K2001_CMD_CARRIAGE_RETURN  0x0D
#define  K2001_CMD_VERSION          0x0F

/* Bits that describe anonciators for K2001-style display */
#define  K2001_DISP_ANON_EDIT       0x01
#define  K2001_DISP_ANON_ERR        0x02
#define  K2001_DISP_ANON_REM        0x04
#define  K2001_DISP_ANON_TALK       0x08
#define  K2001_DISP_ANON_LSTN       0x10
#define  K2001_DISP_ANON_SQR        0x20
#define  K2001_DISP_ANON_REAR       0x40
#define  K2001_DISP_ANON_REL        0x80

#define  K2001_DISP_ANON_FILT     0x0100
#define  K2001_DISP_ANON_MATH     0x0200
#define  K2001_DISP_ANON_4W       0x0400
#define  K2001_DISP_ANON_AUTO     0x0800
#define  K2001_DISP_ANON_ARM      0x1000
#define  K2001_DISP_ANON_TRIG     0x2000
#define  K2001_DISP_ANON_STAR     0x4000
#define  K2001_DISP_ANON_SMPL     0x8000

/* Key values */
#define  K2001_KEY_NONE     '\0'
#define  K2001_KEY_UP       'A'
#define  K2001_KEY_TEMP     'B'
#define  K2001_KEY_LEFT     'C'
#define  K2001_KEY_MENU     'D'
#define  K2001_KEY_ACI      'E'
#define  K2001_KEY_STORE    'F'
#define  K2001_KEY_LOCAL    'G'
#define  K2001_KEY_NEXT     'H'

#define  K2001_KEY_AUTO     'I'
#define  K2001_KEY_RIGHT    'J'
#define  K2001_KEY_EXIT     'K'
#define  K2001_KEY_OHM_2    'L'
#define  K2001_KEY_RECALL   'M'
#define  K2001_KEY_CHAN     'N'
#define  K2001_KEY_DCV      'O'
#define  K2001_KEY_PREV     'P'

#define  K2001_KEY_DOWN     'Q'
#define  K2001_KEY_ENTER    'R'
#define  K2001_KEY_OHM_4    'S'
#define  K2001_KEY_FILTER   'T'
#define  K2001_KEY_SCAN     'U'
#define  K2001_KEY_ACV      'V'
#define  K2001_KEY_REL      'W'

#define  K2001_KEY_CAL      'Y'
#define  K2001_KEY_FREQ     'Z'
#define  K2001_KEY_MATH     '['
#define  K2001_KEY_CONFIG   '\\'
#define  K2001_KEY_DCI      ']'
#define  K2001_KEY_TRIG     '^'
#define  K2001_KEY_INFO     '_'
(copyright is for fun, so I indeed believed I can make it and share here ...)

This was my first touch of STM32, so obvious choice was cheap knock-off (appeared to be) of STM32F103C8T6.
For display I've got OLED 3.12" 256x64 one from buydisplay, which at the end was main reason why it all failed.
It wasn't easy from several points of view:
 * refresh rate is 50 Hz, so one needs to draw FAST. First attempts were made to use u8g2 library, which is great by itself but absolute disaster for this application - slow and inefficient.
 * where to get font ? that was a nightmare, attempt to squeeze everything into this tiny display, keep some proportions, where to put this **** annunciators (I have this word, always spell wrongly).
 * how to get along with this STM32 at all, at the end sending data w/o DMA was also too slow. My very first code was written in Arduino IDE, then had to switch to STM configurator.

With coding main issues were speed and correctness. Had to store fonts in bytes (comparing to compressed format u8g2 and similar libraries use) and draw it by hand, each symbol, font itself and procedures to do that at screen. And depending on application, annunciators may have had different font.
2863328-0

Will attach more photos when find them ...
« Last Edit: July 23, 2026, 09:48:27 pm by chekhov »
 

Offline TRN

  • Supporter
  • ****
  • Posts: 141
  • Country: pt
Re: KEITHLEY 2001 Display Substitute
« Reply #42 on: July 24, 2026, 07:16:45 am »
I have successfully done a 4.58” TFT conversion to the 2002, and tested on the 2001.

Video about it is here: 🔴 Keithley 2001 & 2002 TFT Replacement Project - What A Difference ! - No.1507
https://youtu.be/HHad28dQnug

It uses an ESP32-S3 Qualia board from Adafruit, makes the process easier.

Code is on my GitHub, but I expect I will be tweaking it over time to improve it, but what is there is working.

Hi Scott,

Thanks for the nice video.

I tried to find your code repro on GitHub, but was unable to locate it.

Can you point me in the right direction?

Thanks,

trn
 

Offline TheDefpom

  • Frequent Contributor
  • **
  • Posts: 951
  • Country: nz
  • YouTuber Nerd - I Fix Stuff
    • The Defpom's Channel
Re: KEITHLEY 2001 Display Substitute
« Reply #43 on: July 24, 2026, 07:28:22 am »
You can find it here: https://github.com/TheDefpom/Keithley-VFD-Replacement

The code can certainly be refined and improved, to do things such as improve the appearance, so I welcome anyone else tinkering with it
Cheers Scott

Check out my Electronics Repair, Mailbag, or Review Videos at https://www.youtube.com/TheDefpom
 
The following users thanked this post: TRN

Offline TRN

  • Supporter
  • ****
  • Posts: 141
  • Country: pt
Re: KEITHLEY 2001 Display Substitute
« Reply #44 on: July 24, 2026, 01:01:02 pm »
 :-+ :-+
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->