Replacement display board for Keithley 197A - Page 1
Forum section: electronics / projects

author: alx2009
author_rank: Contributor
timestamp: June 11, 2022, 10:03:02 pm
content: The Keithley 197 / 197A is an old 5.5 digits bench multimeter. You can read about the multimeter here:https://www.eevblog.com/forum/testgear/keithley-197a-owners_-corner/The meter is quite good but often the LCD display starts to fade, due to the zebra strip contacts failing, as documented in the previous thread. My own meter started to suffer from this problem. It can be mitigated temporarily, but eventually it reappears. I like this meter so I am looking to design & build a replacement display board.Luckily rastro reversed engineered the display protocol (seehttps://www.eevblog.com/forum/projects/keithley-197-led-display-hack/msg493365/#msg493365), which makes the job a lot easier. Another forum user, Technogeeky, implemeted a decoder running on an Arduinohttps://github.com/technogeeky/keithley-197this work inspuired me to build my own replacement board and I intend to document the design here. So lets start with my main requirements:- Must fit inside the case of the instrument without too invasive/ugly alterations- Given the effort, I want to add some new functionality. At a minimum data logging via external interface, serial or usb and a continuity test mode- I want to be able to update the SW without opening the instrument. This means it must have an external interface for programming- Another common problem for this meter is that the cluster of buttons at the left of the display require quite a lot of pressure, and it is getting worse. I wan tto improve that as well.-It should not cost more than a new instrument of the same class/capabilities... so obviously no fancy custom displays- And last but not least, it must be safe! among other things, this means galvanic isolation of the programming/datalogging interface and due consideration for isolating the new display.Ok, so what is the first step? Well, my experience with other projects is that developing on the instrument itself is not ideal. A mistake can damage the multimeter. Not to mention the hazard posed by the exposed mains and the fact the ground of the board under development is shared with the device under test.I usually prefer to use a simulator, and verify on target occasionally until the design is mature (and hopefully safer to work on). In adition, a simulator can improve the stress testing (e.g. I can change the timing to make sure I have a good margin).The good work done by Rastro, Technogeeky and the information on the forum allowed me to design a simulator pretty quickly. I have used an Arduino nano on a breadboard. The original display board connect via a ribbon cable with a 16 pin IDC connector with 3x row spacing, like they have made it to fit on a breadboard - or more likely on the DIL 16 socket used in the multimeterThe picture below shows the simulator connected to the original display board:Via serial monitor you can turn on and off any segment in the display. The image shows all segments turned on (which is unlikely to happen in practice, but I may want to test nonetheless).I also connected another Arduino running the Technogeeky code (with some modifications suggested in the forum posts above) and it works (forgot to take any image, sorry)I have published the complete simulator sketch, schematic and fritzing breadboard view on my gitHub:https://github.com/alx2009/displayBoardTesterQuestions, comments and wishes for next posts are welcomed :-)Otherwise in the next posts I intend to discuss the choice of the key components (display, microcontroller) and the overall design of the replacement board (actually boards as we will find out).

author: free_electron
author_rank: Super Contributor
timestamp: June 11, 2022, 10:18:39 pm
content: The button problem is well know. take the pcb off, clean the pcb with alcohol and let it dry. most likely it will be solved. you can rough up the carbon contacts on the rubber membrane with a pencil eraser.

author: alx2009
author_rank: Contributor
timestamp: June 12, 2022, 07:45:37 am
content: Thanks free_electron for the comments! They are good tips, and they work - for a while. I have also use graphite spray as in my case the problem was more on the key itself than the PCB. That worked for more than a year, but now a couple of keys are acting again...If this was the only problem I would probably clean the PCB/apply more graphite and continue. But I am going to replace the PCB anyway so instead I am going to use MJTP1140ATR SMD tactile switches from Apen, which I got from Digikey:https://www.digikey.se/short/rqn9h5mmThey are small enough that they fit perfectly under the original key. I have done a preliminary test and they seem to work quite well, adding a clear and satisfying feedback when the button clicks.As it happens, the terminals have exactly the right size to be soldered on top of the original PCB contacts. So if someone is not satisfied with the other workarounds, this could be an option. Most likely there is a need to add spacers to account for the extra height, but not much: the switch itself is 1.5 mm thick but there is some play between the key and the PCB. Adding a spacer on the order of 0.5 mm should suffice, maybe even less. I have bought an extra button, so I can do a test if someone is interested.

author: Brian of Romsey
author_rank: Contributor
timestamp: June 22, 2022, 06:27:25 pm
content: Hi,What a great project. I have a 197A and would like to be considered as a beta testing site (I am in the UK now but may later turn up in Australia). Happy to pay for things.Have you considered using theESP32-S3which would allow for adding Bluetooth connectivity at a later date?Thanks, Brian.

author: tooki
author_rank: Super Contributor
timestamp: June 23, 2022, 04:06:13 pm
content: Great project, by the way. I’ve been meaning to do the same thing, once I have the time…Wouldn’t tactile domes, or even thinner switches, be a better option than these switches and spacers? You can get ones under half a mm thick!I don’t see how you could add continuity mode via the display. The update rate is what, 3-5 times per second? That’s useless for a continuity tester.For data logging, it certainly seems to me like the GPIB option might be a better place to start. But it would work all the same. I’d skip a galvanically isolated electrical connection and use wireless, like Brian of Romsey said, if testing shows it doesn’t cause interference in the meter. (With the ESP32 on the display board, it might be too close for comfort. But if divided into two boards — an MCU board installed in the rear, where the original display cable plugs in, and a new display board — it’d probably be safe!)

author: alx2009
author_rank: Contributor
timestamp: June 28, 2022, 04:37:01 pm
content: Thanks for the previous comments! The design is not made in stone at this point, and I was already thinking about adding Bluetooth or WiFi for datalogging (not sure about programming). I was concerned about noise so I didn't include in the requirements. Anyway, I like the suggestion to have two boards: one in the front with display and micro and one (optional) in the back with more options for variuous interfaces.I will come back on this as well as the buttons, for this post I would like to focus on the display, which is what triggered everything.Initially I looked at a custom display but I could not justify the cost. Then I considered using three 0.96" oledsin a row. I did some tests and I found some displays that could be mounted close enough. But then I found this oled display on Aliexpress:https://www.aliexpress.com/item/33013330192.html?spm=a2g0o.order_list.0.0.21ef1802HXu3oJIt's a 2.8" 256*64 monochrome discpaly based on SSD1322. The display area is slighly smaller in the horizontal direction and slughtly bigger in the vertical direction, but only for a few pixel. The interface is SPI (once you move a few 0 ohm resistors) and is supported by U8G2 (https://github.com/olikraus/u8g2)Here are a few pictures that I hope will show how I plan to mount the display on the PCB.The white board you see in a picture is a mock-up based on current Kicad design. I am also including a perspex window between the display and the front panel, as I do not trust the display to provide the required isolation (there is no way enough clearance betwen the metal case of the display and the nearest track of the PCB).Here you can see how it all comes together.Side view of the assembly PCB + display. The plastic screws are not the ones I will use, and I will add suitable spacers in between, to avoid bending the PCBs. But I hope you can get an idea.

author: alx2009
author_rank: Contributor
timestamp: June 28, 2022, 09:25:08 pm
content: Some more details...In order to mount the display module as flush to the PCB as possible, I removed the plastic bit on the connector:Here is a detailed picture of how the stack front panel/display module/PCB looks like:as you can see, compared with the original display, the display module + perspex is a bit thicker than the original display assembly. Hence I need to add some extra spacer, as seen here:About the buttonsThis extra distance explains why I plan to use the Apen switches I mention above. They add the extra tickness I need to make up for the extra gap due to the ticker display assembly. Since I like their tactile feeling, I stand by my choiceThat said, if someone see an advantage with the tactile domes I am interesting to hear. I thought about that initially and did some search, but didn't find something that would fit the space available and at the same time would be thick enough (possibly because I don't have any experiance with them, aside having see Dave's video).If someone want to just replace the switches, there may be better choices of course.

author: alx2009
author_rank: Contributor
timestamp: August 15, 2022, 08:01:34 pm
content: Ok, vacations and some business travel got in a way... but I am back now.Some consideration regarding the power budget. We are replacing an LCD which doesn't consume much with more power hungry stuff. So this need to be addressed.The K197 main board has a number of power rails, but the only one that is suitable is the digital +5V rail, readily available on the display connector. In the K197, the LCD display consumes a few uA. I have the A version, where the same +5V rails powers the backlight via a current limiting resistor. In my instruments I measured 50 mA current for the backlight. So this is the safe level for my power budget. As far as I can see the power supply of the 197A is the same as the 197, with the addition of the backlight current limiting resistor, etc. So this should also be valid for the 197.Looking at the K197 schematic, I expect to be able to draw a bit more, say up to 100mA without causing excessive ripple. However, the transistor doesn't have any heatsink, and it is already warm as it is... so I would not trust drawing more than 100mA.From early test with the display, I measured a peak consumption of 83 mA + micro (AVR64DB28) while running the u8g2 display test example. So we are ok, I think. But I am not sure I would trust adding a ESP32, as I expect it to draw an extra 200 mA or so. But perhaps a dumber bluetooth moduile would be ok (I plan to do some tests with an HC-05).Another possibility would be to use the additional secondary, which is available via the IEEE board connector, for Bluetooth. But that would add significant complications, also considering that the power switch on the front panel does not turn off the IEEE secondary winding.

author: alx2009
author_rank: Contributor
timestamp: August 15, 2022, 08:45:26 pm
content: More on the other component selections, mainly the micro. As mentioned, I am testing with a AVR64DB28. This is a modern AVR, suppoported by dxCore (https://github.com/SpenceKonde/DxCore).I started to look at the DB series because I was planning to re-use the AVR code already available, but I wanted to have a bit more flash and RAM (due to the graphic display). Searching on Digikey the DA and DB series looked like the best option from price and availability point of view (at least at the time). As a bonus, the DB series offers additional features that are quite useful in our case:- No need for a crystal, the internal oscillator is more than good enough, even at high baud rates.- One port in the DB series can work at a different I/O level from the rest of the chip. This is useful because the Keithley works at 5V but the Oled needs 3.3V.- They have 2 independent SPI buses (which we need due to the different I/O voltage as mentioned above)- it is possible to limit the slew rate of the output pins. This could help reducing the switching noise if it becomes an issue.- low power consumption, in line and improving on the classic AVRs.Plus a lot of more features (and peripherals) that we won't need... but they are nice to have (and may be useful for future projects).The AVR64DB28 has 64K flash, 8KB of RAM in a breadboard friendly 28 pin DIL package (SOIC also available). If we find that we need even more flash/RAM, we could swap the chip for a AVR128DB28 (which doubles the flash and the RAM). 32, 48 and 64 pins packages are also available.I also bought and tested a 128DB64, as initially I had some ideas that would have required more pins. But at the end the additional complication wouldn't have added any really useful functionality, so I scaled back my design considerably. In the next post I will present the current prototype and its schematic.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 15, 2022, 09:03:38 pm
content: i would focus to make something working before adding wireless stuff etc.. easy to get lost in ideasIf the source code is released, others will be able to add the options they needs loll

author: alx2009
author_rank: Contributor
timestamp: August 15, 2022, 09:44:06 pm
content: I am planning to release the current SW soon. I just need to write down some of the key design decisions before I forget them :-)Coming to the schematic, the AVR doesn't need much, it is a development board on a chip. In addition to power, a bare bone implementation would require only 7 connections to the micro: MOSI/SCK/CS from the Keithley main board and MOSI/SCK/CS and DC to the OLED. You could even use a single SPI bus in mixed master/slave mode at 5V, albeit in that way you would run the OLED outside specs.The SW could be loaded with the chip on a breadboard, or connecting the UDPI programmer directly to the required pins using micrograbbers.My schematic is a tad more involved, partly because I need to develop the SW, partly because I want to filter the buttons in the SW. I will release the Kicad project on my Github, but for now I have attached a picture at the end of this post.I have a UDPI header for loading the booltloader and as a debugger interface. For programming via bootloader and serial output I have added a header for the USB to serial, with a second row of GND pins for future connection to the bluetooth module (it will be located in the back and then it is easier to use IDC connectors). A reset circuit (with autoreset from the USB adapter) and led is nice to have when developing SW. The circuits come straight from the AVR datasheet with the addition of the autoreset capacitor and the led.The button cluster is connected to the AVR (PD5, PD7, PF0 and PF1), using the internal pull-ups. The button presses are passed to the Keithley via PD1-PD4 (transparently for now, but I may do some processing in future revisions). Admitedly, this may not work for entering the self calibration, since the buttons need to be pressed before power up. I am betting that the AVR will be quicker but I have not yet tested this. If it doesn't work I may need to review this part of the design.I have added a 1K resistor on all connections between my board and the Keithley main board, in order to protect the instrument from programming mistakes, shorts while probing and such...I do not show the power supply and decoupling but they are straightforward (I am using an APH 2114 3.3V. Overkill but it's what I had available, and it does the job).

author: alx2009
author_rank: Contributor
timestamp: August 15, 2022, 10:04:00 pm
content: Ok, some pictures of the prototype, then a few more tests and the next post will be to announce the availability of the first SW beta on Github...As mentioned before, my initial idea was to build a PCB and order from the usual PCB factories. However, the current design is simple enough that I thouight I should build a prototype at home first. I also wanted to try a new technique I have seen on a youtube video.The first picture is the PCB after being engraved (manually).I made a few mistakes along the way, but the final results still serve the purpose.And it works as visible in the last picture. As a first release, I am just replicating the original functionality. I want to have that working before even attempting to add new stuff.I have the board installed in the meter and working with just a few minor bugs. I plan to release the SW within the week!

author: MikeK
author_rank: Super Contributor
timestamp: August 16, 2022, 12:00:18 am
content: That's a good looking display. I'm working on replacing the display in my Fluke 8050A with a cheap TFT, but I'd prefer your display if it wasn't so pricey.

author: alx2009
author_rank: Contributor
timestamp: August 19, 2022, 09:12:26 pm
content: I am pleased to say that the SW is now released in my GitHub:https://github.com/alx2009/K197DisplayJust be aware that it is not intended for production, yet :-)That said, I did test it with all ranges and features. It works reliably, except I cannot enter the test mode (press the dB button and power on). This is due to the delay introduced filtering the push buttons, especially with the bootloader waiting 1s at the start.There are a couple of solutions I am going to try, but I think I should release the SW nonetheless so you can play with it...

author: Brian of Romsey
author_rank: Contributor
timestamp: August 26, 2022, 08:12:25 am
content: Any chance of a short video (five to ten seconds) of the display in action?Thanks, Brian.

author: alx2009
author_rank: Contributor
timestamp: August 26, 2022, 09:28:42 pm
content: Here are three videos I just recorded. I did not have time to wait for the meter to warm up properly, still not too bad. I did the same measurements and more with a warm meter and I could not find any significant difference compared to the same measurements in the past.Which surprised me because I expected that I should add some more filtering on the 5V rail, as the OLED is generating quite a bit of noise (that was expected). But it doesn't seem to affect the analog rail and certainly not the measurements itself.Anyway, here are the videos:Volt (10V reference source, model 389-2):https://youtu.be/YzpeCB8JcYYResistence (Vishay Foil resistors, 100R and 5K):https://youtu.be/ki4QMtsXNpMCurrent (DIY current source based on LT3092)):https://youtu.be/Ddy7erbVUQoNot much to add, I hope it helps!

author: alx2009
author_rank: Contributor
timestamp: August 26, 2022, 09:36:36 pm
content: @MikeK: Thanks! The display does look good, but keep in mind OLED displays look especially good in pictures because of the high contrast. The difference with the LCD may not be too significant in real life. Initially I was looking for an LCD myself, because OLED generate quite a lot of noise on the power line. But I could not find anything with a reasonably big display area and that could fit inside.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 26, 2022, 10:22:54 pm
content: maybe try to fiddle an shield cage around itanyway thats a good job to keep this meter running .... now go everyone these meter prices will rise lolll

author: MikeK
author_rank: Super Contributor
timestamp: August 26, 2022, 10:50:08 pm
content: Quote from: alx2009 on August 26, 2022, 09:28:42 pmThis guy mitigated his OLED noise with an active decoupler (capacitance multiplier):

author: Brian of Romsey
author_rank: Contributor
timestamp: September 05, 2022, 03:19:18 pm
content: Hi,If you are concerned about noise, then supplying pin 7 of the display connector J1006 with an independent supply that is separately regulated down from V+ might be the way to go. You would have to assume that V+ is around 12 Volts. So whatever 5 Volt regulator you choose, based on the current required, will most likely require some sort of heat sink. It will be hard for noise to come backwards through the regulator to then penetrate from V+ to the analogue supplies. For more protection add a multiplied capacitor between V+ and the new regulator's input pin (as well as the usual 100 nF capacitor close to the input and output pins). Another idea would be a common-mode choke (like you find on the mains side of a SMPS) on the display board's +5 Volts and ground: pins 7 and 4 of J1009.

author: alx2009
author_rank: Contributor
timestamp: September 06, 2022, 10:04:59 pm
content: Just to clarify, I am not too concerned about the OLED noise - now that I know that it is not affecting the measurements. Still, the suggestions are quite good and I will make some further tests when I can. I am especially keen to use the V+ as Brian suggests. The entire display module use around 30 mA at the lowest contrast setting, with all digits displayed and a limited number of annunciators. The power consumption goes up quickly and at maximum contrast is about 110 mA. I would need to dimension for about 1W power dissipation worst case.I remember other posts in EEVBlog where adding 300uF directly on the display module would help. And another that modified the initialization commands for the display driver to move the noise into a different frequency band. Maybe something to try as well.About noise, I have found another source that really surprised me. I have used a bluetooth HC-05 module (more on that later) and I noticed that when it is powered but not connected the least significant digits fluctuate. As soon as I connect from PC, tablet or phone the instability is gone.Initially I blamed the radio, but this was counter intuitive. Radio emissions should go up when connected. After much trial and error, the blame fell on the blinking led. When the module is not connected the led blinks at a frequency of a few Hz. I have been able to replicate the problem blinking the debug led that I have on the display board.Increasing the frequency of the blinking from 1 Hz to 100 Hz, I found that the most sensitive frequency is 1 to 12 Hz. At 50Hz or greater there is no problem. Now, the led is powered from +5V via an AP2114H-3.3. If I probe the voltage at the output of the AP2114 I cannot see much noise at all. But if I probe the+5V upstream of the regulator then I can see quite a bit of noise.The yellow track is the led turning off, and the other track is the +5V probed at the IEEE connector (J1008). The big swings are due to the OLED... the noise due to the led switching off is tiny in comparison (the led is high efficiency, it only consumes around 300 uA). Crazy that it is the led that affects the measurement!The reason I do not see the noise downstream of the 3.3V regulator is the fact that the AP2114 is affective from zero to around 100 KHz. But it still has to provide the required current, and it can only come from upstream. The regulator circuit of the Keithley seems to work at frequencies from 50Hz to maybe a few KHz at most (not surprising). This means that the "current noise" becomes visible as voltage noise on the 5V rail. But it is only the low frequencies that affect the measurement.Short term I am going to keep everything as it is. I have powered the bluetooth module using the backlight switch, so I can turn it off when not in use (I have protection resistors on all inputs and outputs, plus at startup I disable Serial if I cannot detect the module). And the led on my board is staying off unless I need to troubleshoot something.Longer term I would like to do more tests to reduce the noise overall, and also do some basic EMI tests.Finally, something about the bluetooth module. It did exceed my expectations. These HC-05 modules have been around for sometime but for me it was the first time I used bluetooth on a microcontroller project. There are plenty of instructions around (google hc-05 bluetooth module arduino). Most of them make it sound more complicated than it is, at least if you get a module that have all the requisite connections (apparently some modules don't connect the state or enable pins correctly).Once the module is correctly setup I found that it is very easy to pair and connect from Android, Windows 8 and Windows 10. The autoreset circuit is connected to the "state" pin and works flawlessly with the Arduino IDE. Only occasionally I get a connection error and it is solved restarting the IDE.The situation is very different on Linux. After some trial and error I could connect via a terminal program, but not via the Arduino IDE. Reading around this may be due to a known bug in the kernel but I couldn't find any solution. This is not a dealbreaker for me, but it may be for others.As next step I would like to add a function to log data to bluetooth. I would also like to connect the "state" pin to one of the (few) free pins in order to read the connection status and display it. Not essential given that so far I did not have any issue, but nice to have.

author: Brian of Romsey
author_rank: Contributor
timestamp: September 10, 2022, 12:56:01 pm
content: Hi,Being able to read and display the Bluetooth state seems like quite a useful feature.Cheers, Brian.

author: alx2009
author_rank: Contributor
timestamp: September 13, 2022, 07:16:58 pm
content: I am pleased to announce that the SW that is now published on GitHub (https://github.com/alx2009/K197Display) recognizes the BT connection status and displays "<->" next to "BT" when connected. For this to work the "BT_STATE" pin of the BT module must be connected to pin PA5.When the HC-05 module is configured properly, the BT_STATE pin goes low when connected. My SW reads PIN5 in loop() and updates the display accordingly.In my case the BT_STATE is also connected to the reset line via a 330R resistor and 100nF capacitor. This means that when a connection is established the SW is reset. After the reset "BT <-->" is displayed. At disconnection the BT_STATE goes back to high, and only "BT" is displayed.Next in my todo list is data logging to bluetooth. For my need a basic serial terminal is good enough, but if someone can recommend an app for Android and/or Windows that is able to log and display volt/ohm/etc. let me know (assuming the API is available). I do not have iPhone or Mac, but if someone can provide me an API then I can implement that on the meter side (albeit you may need a different bluetooth module. I have the impression the Apple side requires BT low energy).

author: trobbins
author_rank: Frequent Contributor
timestamp: September 14, 2022, 04:27:32 am
content: Nice progress indeed!My 197 has the 1972 option (IEEE-488 + analog output), and the RF probe option. It was displaying jitter on the last 2 digits, and initially that was alleviated by replacing the main 2,200uF 16V bulk filter cap on the 1972 pcb. But the jitter was still noticeable, so recently I disconnected the AC power to that pcb (leaning one of the 10Vac isolated winding interconnect long pins over) and that removed the remnant display jitter.I'm not sure how the 1972 pcb loading on an isolated transformer winding couples back to the main instrument (as the 5Vdc supply is still connected through), as I was unable to locate a service schematic for that accessory pcb, but I could confirm the LM340 on that isolated rail had enough raw headroom not to fall out of regulation. So I haven't gone further with identifying how disturbances were coupling to the main board, but it may have some similarity with your observed LED disturbance issue.

author: Brian of Romsey
author_rank: Contributor
timestamp: January 02, 2023, 01:03:27 am
content: Hi, any news to report?

author: alx2009
author_rank: Contributor
timestamp: March 28, 2023, 04:39:26 pm
content: Sorry for not posting anything for a while!From HW point of view I have added an independent power supply using V+ (reusing a 7805 board I had in the parts bin). This sorted the jitter problems, no need to add anything more. I include a couple of pictures of the completed project before I closed up everything back in October 2022 (note: before closing I did re-route the black and red wires so that they are not so near the input wires). I didn't need to open the voltmeter anymore since then (SW update via bluetooth).I have been using the voltmeter and updating the SW regularly, see my GitHub:https://github.com/alx2009/K197Display/releases. the readme describes what I have added so far:https://github.com/alx2009/K197Display#readmeI have a new release coming which I think will be the last one with new features. After that I plan to post a few pictures and/or a video to show how the new SW works.

author: Brian of Romsey
author_rank: Contributor
timestamp: March 29, 2023, 12:30:04 pm
content: Somewhat surprised to see the earth wire also in the common mode filter toroid.

author: alx2009
author_rank: Contributor
timestamp: March 31, 2023, 07:43:45 am
content: Yes, you are right, that is unusual. Normally the ground wire represents the return path for the common mode noise. If it is included in the choke then the noise is not filtered anymore!But it cannot be a mistake, there must be a purpose. Normally where a choke is used, the internal ground is connected to ground either directly or via a capacitor. Looking at the schematic, the mains ground is only connected to the transformer metal case. The trasformer itself is of dual bobbin construction, which should have very low capacitive coupling between primary and secondary. In other words, the internal ground of the voltmeter is pretty well insulated from earth, both AC and DC.This suggests to me that the designers of the 197A did not think that the earth wire would be the main return patch for the noise. My guess is that they considered that when the voltmeter is used, there is a good chance that one of the test leads would become the return path from the noise. If not filtered, the ground wire could become yet another way for the noise to get in our out of the instrument. Hence the decision to filter it.Well, at least this is what I can speculate. I googled a bit but I could not find anything on the subject. I have another bench voltmeter, but if I remember correctly has no common mode filter at all (but on the other end it is not able to measure as low a voltage as the 197).

author: alx2009
author_rank: Contributor
timestamp: May 07, 2023, 10:13:30 am
content: I have just released what I think is the first fully usable release here:https://github.com/alx2009/K197DisplayThe features that I find most useful are the hold mode and the graph display mode. How many times you cannot look at the display6 while you are holding the test leads in an awkward position? Now I can make the mesurement, hit the hold button, go to graph mode and the cursors allow me to go back to the measurement value.Here are a few pictures.Main screen:Menu (accessed with long click on "REL"):Statistics display mode (accessed with long click on "STO"):And finally grah display mode (accessed with long click on "RCL"):In this picture hold mode is also activated. Hold mode is entered clicking the STO key.In graph mode you can activate cursors by double clicking the "RCL" key:Clearly the text is rather small, but still legible. The SW can store up to 180 measurement points.

author: alx2009
author_rank: Contributor
timestamp: May 07, 2023, 11:37:05 am
content: And here are two short videos.The first show the options menu and how to navigate the menu:https://youtu.be/tVYD4UWaDdcThe second one demonstrate hold mode & graph display mode:https://youtu.be/7X7YOPeH9esThe quality is not great, but I think it is useful anyway.

author: coromonadalix
author_rank: Super Contributor
timestamp: May 07, 2023, 01:33:19 pm
content: some will hate me,can the roundish bezel / windows one IE: who's not a part of the front panel could be removed to gain some pixels in height around the display ?a bit less cramped

author: alx2009
author_rank: Contributor
timestamp: May 07, 2023, 02:42:16 pm
content: You are right, it is a bit cramped in the vertical direction. The Camera view accentuates that a bit, but not much.I thought about that but the front panel is actually a single piece of plastic, as you can see in this picture showing the back of the front panel.It can be cut along the line in the front, and still leave enough space for the plexiglass window. But I think it would leave some rough edges visible. Maybe they could be carefully sanded and/or painted. In other cases I built new bezels with Tamiya "L" shaped plastic beams. It may work here as well, but I am not too keen to try, there is no way back...At the end of the day it works good enough for me as it is, but if any of you is willing to try and it works, maybe I will follow your lead :-)

author: alx2009
author_rank: Contributor
timestamp: December 03, 2023, 10:50:32 pm
content: Just to add that in a separate project, I have reverse engineered the way the voltmeter talk to the IEEE-488 card:https://www.eevblog.com/forum/projects/reverse-engineering-of-the-internal-ieee-interface-of-the-keithley-197a/msg5202936/#msg5202936A library for an Arduino Uno is available here:https://github.com/alx2009/K197Control

author: MathWizard
author_rank: Super Contributor
timestamp: March 19, 2024, 11:31:05 am
content: That's a nice mod alx2009, I like the back of the board too with the copper clad island style.I have a K197 that I just updated the buzzer circuit I made for it, and also had too add a shim under the LCD, to keep enough pressure on it to make proper contact.I also tried adding a front light, just something I could tape to the outside of the front panel, under the LCD. I put some white LEDs in a piece of outer insulation, from CAT5 type cable. I thought maybe shinning a little line of light from it onto the LCD could work. It looks ok if it's a few inches from the glass, but up close, all I see it the reflection of the LED's.The tube/jacket of CAT5 insulation is white, and even with it turned around so the light passes fully through the insulation, not the slit I cut, it's still not diffused enough. So it still looks like 4 LED's are inside the glass, and you can't read anything.Now I really wish the screen was bigger too, but for now, I have a VFD unit, from a DVD player type thing.It has 6x number/letter blocks. They are like 7-segment blocks, except with 6 extra lines, 3-top, 3-bottom.Then there's a about another 12 special characters like "DVD", "Total", "Title", even pictures like play/pause and a movie camera. So they could be used too, I'd just need a translation guide on the DMM.The VFD is on PCB with some function buttons, a ceramic resonator, and a big IC/driver for the VFD, if not the whole DVD player or whatever it was. The whole PCB is a very similar size to the Keithley LCD one. There's also an IR receiver PCB is still connected to this main PCB too. The IC is a CH72FG-4U54, can't find anything on it yet, I think it's by ST, if I remember their logo. Looks like the year 2003.IDK how much power it takes to drive something like this, I think it uses some higher voltages though. But I could add some other little transformer inside the case if needed.I don't just want to copy/paste someone else's program for driving some new display, I think it's a small enough project that I might be-able to do it on my own, as a learning project with Arduino or some other MCU as easy to use. Or at least a lot of itIDK for sure this VFD works fully, I briefly tested it years ago with power, it does something. Aside from being a little smaller digit size, if this thing is bright enough, it could be great.But IDK tho, the VFD itself, is not as long as the original LCD, but slightly taller. The VFD could probably fit, but the PCB that the VFD /chip are on, might be a problem, it's about 1cm taller than the Keithley 1, and tons of traces from the IC go right to the edge.Oh there might be a problem with the decimals tho, on the VFD there's"0- 0: 0- 0: 0 0" , but there is "TRK" and "M R" right above the last 2 blocks that don;t have any symbol in between.It's not ideal, but I would like to see it working, if possible. I just saved the the VFD for something to hack at. Later I can still get an OLED or other display, to try with the Keithley too.

author: coromonadalix
author_rank: Super Contributor
timestamp: March 19, 2024, 11:47:47 am
content: i don think its a problem to adapt the code of someone else, if you do contribute the same way (if the code was opened)you'll add your own sauce, and share the how to ??

author: MathWizard
author_rank: Super Contributor
timestamp: March 20, 2024, 11:55:52 am
content: Yeah, but I need an excuse to try some programming again.But unless I can find some similar datasheet for this VFD controller IC, I'll probably have to make a whole driver board, or get another chip.I mapped out most of the PCB that the VFD and chip are on, I can narrow down the input connectors and pins that might be for the serial data and clocks, maybe chip select type pins.But yeah I'm way over my head with that IC, the only thing I could try would be to choose some pins, and somehow like with Arduino, try sending instructions from some other IC datasheet.It's a 64-pin IC, the standby pwr on/off switch for the whole DVD player, goes only to this IC, as do a few buttons, so it's not just a VFD driver.But if I ever want to use this VFD, I'll just have to make all the drivers, or get a chip, and then try programming it with Arduino or somehow from PC.Ok the chip is a Toshiba, but really , I should just close up the DMM now, replacing the LCD will be a long project.

author: MathWizard
author_rank: Super Contributor
timestamp: March 20, 2024, 07:53:27 pm
content: Well I looked through my junk PCB box, and found the main PCB from that DVD player, and indeed it has the ribbon connector for the VFD PCB. I probably have the power supply PCB somewhere too.I don;t have the hacking or programming skills for this, but I'm going to see if I can get it running, and get the VFD active. Maybe then with my scope I can see the data going to or from the VFD IC.

author: MathWizard
author_rank: Super Contributor
timestamp: December 03, 2024, 04:17:28 am
content: Ok now I do have the programming skill, I bare-metal programmed an ATmega169PA, to drive 7-SEG LED blocks. So for now, I'm using 9 blocks, like the DMM. I had to move the decimal place to the other side, like these LED blocks have them.For now I'm storing the commands the DMM sends, but I don't really need them. And then it just sends the display DATA. So on the left most block, I'm only displaying- the minus signd for dB, but it would overlap w/ minus_ for AC.the top segment a for RELativeAnd on the 2nd last block, I'm only displayingo for kilou for mun for millin. for Megaand then on the last block, justU for Volts0 for Ohms/OmegaA for Amps of courseI might try using a sideways block too, but for now I'm leaving out a few annuciators anyways. I might also use one of those I2C dot-matrix LED displays for the DMM settings/functions.I might try fitting upto 12 blocks, even if it means cutting up the front a bit.Right now, I have it working on a breadboard, but the LED digits are only like 0.36" , I might solder them up too, but I ordered some 0.8" digit blocks.Someday I would like to do away with the push button range switches, and use digital buttons and little relays, and put them up on a PCB over the shield. Then I'd probably use two rows of LED's, w/ 6 really big ones for the main 6 digits.The digital buttons are also not good on mine either, despite cleaning, but some calculator button pads will do for now.I also replaced the 5V rail pass transistor, the 1Amp TIP49 with a 3A TIP31, and put it on a heatsink.