HP3548 / HP3457 OLED display - Page 1
Forum section: electronics / testgear

author: Xyphro
author_rank: Regular Contributor
timestamp: February 01, 2022, 08:33:28 pm
content: Hi Guys (and Girls),I have since quite some time a HP3457 multimeter and hate the display. Had to do something about it. The typical LED Backlight mod was not resonating - it looked still very bad - low contrast.I had to come up with something else. I loved this idea here from Xi:https://www.eevblog.com/forum/projects/led-display-for-hp-3457a-multimeter-i-did-it-)/50/But mechanical wise it is very hard to reproduce for others (including me).After many weeks of hunting for OLED screens in the right format I had a brilliant Idea: Why not use the typical small OLEDs that you can get for extremly low price on Aliexpress and use a single display per digit?! Immediately routed a PCB and ordered it and after some months I had time to take this up and program the SW (thanks again Xi for your groundwork in decoding the protocol!).The current consumption is extremly low, while the display is very bright: only 20mA are consumed.Instead of isolating the power supply, I isolated the datapath, so it can still be powered from an AC supply in an galvanically isolated way.The PCB is from JLCPCB. No milling required and a second PCB (which is not shown) acts as a mechanical holder which has mounting holes and can be mounted without any modification of the multimeter. Also the original flatband cable connector can be used.Work is nearly done. I think I will put everything together tomorrow and share the final pictures :-)Best regards,KaiEdit: Here a very bad quality video of the current state:https://youtu.be/hoUbkyWuI_g

author: EHT
author_rank: Frequent Contributor
timestamp: February 01, 2022, 10:58:24 pm
content: Looking great! I'd seen the backlight mods but didn't fancy the risk of cracking the display open, and then ending up with poor contrast anyway. A new module mechanically compatible with the LCD is perfect!

author: free_electron
author_rank: Super Contributor
timestamp: February 01, 2022, 11:40:10 pm
content: coooooooool !

author: Xyphro
author_rank: Regular Contributor
timestamp: February 02, 2022, 04:26:14 pm
content: Have built it in and I am very pleased with the result.Now I have to finish the annuciators (small triangles on the bottom of the screen).

author: Xyphro
author_rank: Regular Contributor
timestamp: February 02, 2022, 04:27:32 pm
content: Some more Photos...

author: Hexley
author_rank: Regular Contributor
timestamp: February 02, 2022, 05:01:02 pm
content: Quote from: Xyphro on February 02, 2022, 04:26:14 pmThat looks really great, Xyphro.Question: is there enough resolution to display text annunciators below the digits, such as is done in the 3478A? Those vary from three letters, like "TLK" or "RMT", up to five or six, like "SHIFT" or "AZ OFF". If that could be done, your approach could lead to an excellent replacement for the 3478A LCD.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 02, 2022, 05:12:16 pm
content: Hmm, Funny. My hp3547 lcd just had arrows pointing down and no Text. Underneath the display there is a Text printed on the frontpanel of the hp3547.The witdh of the Oled is 32 pixels.Challenge accepted :-) I have 3KB Flash space left of the total 8KB.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 02, 2022, 05:42:34 pm
content: 12 digits time 32 byte for the graphics to display would only 384 bytes of the memory. So in princuple it could work with a little text / symbols.It is stiff the question if just the same arrow / block for all positions could work as well.

author: free_electron
author_rank: Super Contributor
timestamp: February 02, 2022, 05:49:15 pm
content: Quote from: Xyphro on February 02, 2022, 05:12:16 pmdepends on the vintage of the machine.i like how you even made the pressfit dip socket. so this is a real replacement for the hp 5 bit drivers.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 02, 2022, 06:04:29 pm
content: I'd make it configurable (triangles or different Text variants) . If 32 pixels results in unreadable Text, I can go for 2 line Text.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 02, 2022, 09:10:59 pm
content: I think it should work. I designed below icons (Mix of icons for different multiple multimeter types) and converted them to .c / .h. Will try this out tomorrow and post some pictures. The selection between booring triangles and device specific variants can be made during compile time (select 1 icon per digit position).

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 02:02:17 pm
content: ...and I think I am done!Now it is possible to select between 3 different flavors:HP3457_ORIGINAL => Uses triangles as annuciatorHP3457_ICONS => Uses Icons matching HP3457HP3478_ICONS => Uses Icons matching the HP3478The Icons I made are well visible, but very hard to read. Allthough it looks nice on the pictures, I would make the Icons a bit bigger if I'd seriously use them. But as the source is a .GIF file it is easy to do that. Maybe in the next days I'll try this out.Here an updated Video (unfortunately it started looking blury once I uploaded it to youtube):https://youtu.be/EYaLf55-z-oBTW: On the pictures it looks as if the digits are not perfectly centered towards the labels underneath. Actually it is perfectly aligned. It looks shifted because the camera was very close to the display.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 02:25:24 pm
content: I remeasured the current consumption with the triangular annuciators. When supplied with 12V DC it is 30mA.There is a 5V Regulator on the Digital Board which is supplied with 12V on its input side where I hooked it up to. So no additional supply is needed.

author: Dr. Frank
author_rank: Super Contributor
timestamp: February 03, 2022, 04:39:04 pm
content: Hello Kai,great work so far!Your headline implies that you have another version available, maybe for the HP3458A, or is it just a typo?Would be great, but you'd need a 16 digit, 12 annunciator version.Frank

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 03, 2022, 04:54:22 pm
content: If the 3478 version icons can be made to be nicely readable, I'm interested.Will you sell PCB's? Or provide gerbers etc? I have two, maybe three 3478's that can do with an upgrade...

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 05:38:01 pm
content: Good remark Dr. Frank. I though they both have 12 digits :-) the scheme can be scaled, but obviously not with the same PCB. The parallel i2c control would be ready to control 16 displays at 100kHz.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 05:40:30 pm
content: I plan to put it on Github soon. Hp3478 is not tested, but I guess the protocol is not different. A confirmation if it works would be great.

author: dietert1
author_rank: Super Contributor
timestamp: February 03, 2022, 07:27:49 pm
content: Great work! One could invert those icons though to increase font size and readability, maybe using only three letters if four don't fit.How does the durability of those OLED displays compare to a VFD?The best OLEDs nowadays are good for 100 000 hours, that is 11 years. But there are differences. As far as i remember the first OLEDs were good for 2 years only. And as far as i remember they degraded even when not in use (oxygen leaks to organic material).Regards, Dieter

author: EHT
author_rank: Frequent Contributor
timestamp: February 03, 2022, 07:31:00 pm
content: Such a professional job! I love that the blue OLEDs even match the colour on the front panel. I'm in for one for a 3457A, if there is likely to be any bulk order of PCBs etc.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 07:32:38 pm
content: About burnin: Not sure, but I had that thought also already. Time will show.

author: rsjsouza
author_rank: Super Contributor
timestamp: February 03, 2022, 08:09:54 pm
content: This is a fantastic mod, Xyphro. I look forward for your design!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 03, 2022, 09:11:39 pm
content: About the annuciators: I have tried to increase the textsize a bit and inverted them. Attached a photo for the HP3547 version of the textual icons.Might still be improved a bit, but I am happy with it.Edit: A PM reminded me, that I also have A HP6651A power supply with a very similar kind of display. Unfortunately that supply is lying like a ZOMBI (half dead half alive ) in a shelf, but still I can try the display out and maybe that stimulates me also to repair the supply... (one of the very expensive DACs is dead and I lost interest because it is such a heavy beast.)

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 03, 2022, 11:34:15 pm
content: That latest design is much nicer IMO.I have a few HP power supplies, but the LCD setup is quite different to the meters, so I'm not sure how cross compatible it will be, I can open them up and take a look when the time comes.

author: EHT
author_rank: Frequent Contributor
timestamp: February 04, 2022, 12:37:44 am
content: Quote from: TERRA Operative on February 03, 2022, 11:34:15 pm+1: also have 6644A and 6622A PSUs that could benefit from readable displays!FWIW, the new design with non-inverted annunciators is great!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 06:44:03 am
content: The Hp66xx supplies have mechanical same displays, also with 12 digits. Of course supplies like E3632 and similar ones are very different.Btw. My hp3547 shows when the input is left open in Volt Mode a very huge drifting voltage until I connect it to a source or I change the input impedance to the lower setting. Is this normal or an indication of something dying?

author: Berni
author_rank: Super Contributor
timestamp: February 04, 2022, 07:00:50 am
content: Wow nice one! It looks great!I suppose for the HP 3458 it is a bit less attractive since it already has a VFD display(Unless you had high mileage one with a very faded VFD), but for a HP 3457 it sure does make a night and day difference. I always found non backlit LCD screens on test equipment a pain in the ass with how difficult they are to read.I love VFD style displays on test gear. The new fangled color LCD stuff never looked good to me.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 07:12:40 am
content: Fully agree! Vfd is really great. Actually also looked for 12 digit VFDs btw. before making this (and smaller IPS TFT panels, which unfortunately did not align well with the 12 digit pattern on its 10mm increments).Some equipment like fluke 289 has a back Light LCD. Allthough it helps, it also reduces the contrast when it is turned on, but it still helps in some situations.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 04, 2022, 08:36:48 am
content: Quote from: Xyphro on February 04, 2022, 06:44:03 amIn high Z mode a drifting input voltage when open circuit is normal. The 3457 is supposed to have some 220 pF plus some parasitic capacitance at the input. So a 25 pA input current would cause a dirft rate of some 0.1 V per second. If the dirft is considerably large this points to higher than normal input current. This could be from leaking parts, contamination or from a problem with the precharge circuit. The precharge part could be excluded in the non AZ mode.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 09:42:18 am
content: I have to disappoint in the feasibility to reuse this exact same display design as it stands for the HP66xx supplies. Mechanical it is very easy to make it fit (just a notch has to be inserted in the PCB outline). BUT (and a big one) the protocol seems different.If I'd have all time in the world and this power supply would be extremly interesting for me to get it repaired I'd immediately jump on it to get it done, but I would here prioritize other things first. Maybe.... maybe I'd take this up in future. Decoding it should not be too tough, but time is an issue here.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 09:42:57 am
content: 2 more pictures of the supply

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 10:14:12 am
content: Actually, after a close look the protocol seems not THAT different.Pin 9 seems to contain the data sent to the displayPin 11 is the clock signalHO2 is the command data streamHO3 is the SYNC line (HIGH indicates a new command ID beeing sent, low indicates data payload)HO0 is unknown... maybe some chip select signal?I just did a very quick screening, but I see commands like 0x028 and 0x2F0 flying by with the above assumption.There are a lot of unrequired pulses visible (maybe because the HSO bus of the MCU is used for other purposes too), but if you only look at the onces that are sampled on a clock edige of the Pin 11 clock signal it seems to be similar.So maybe... I have been too negative about my previous statement?!Attached a saleae logic trace (done with version 1.2.18)

author: EHT
author_rank: Frequent Contributor
timestamp: February 04, 2022, 12:55:22 pm
content: Quote from: Xyphro on February 04, 2022, 06:44:03 amGreat job checking these out already. For everyone's benefit: on the 6644A, a 16-pin connector J2 on the attached diagram. I couldn't see the equivalent for the 3457A because the copy I have is pretty poor quality.Quote from: Xyphro on February 04, 2022, 06:44:03 amYes, mine shows this with no input:* DCV about +1.4V* ACV about 2mV

author: voltsandjolts
author_rank: Unknown
timestamp: February 04, 2022, 05:25:14 pm
content: Well done Kai, using multiple cheap oled displays in that way is a great idea

author: Hexley
author_rank: Regular Contributor
timestamp: February 04, 2022, 05:36:38 pm
content: @Xyphro -In the picture of the board that you posted in reply #4 above, there is a legend on the mounting board that says something like "Short R518 on Main PCB!"Can you elaborate, please? I'd like to map that onto the 3478A schematic.Or if you can just confirm the resistor number, I can chase up the 3457 schematic and see for myself; no worries.Thanks,hb

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 05:46:33 pm
content: Hi!This shorting is actually not required.I use an isolator IC to avoid disturbances. That one needs to be supplied with 5V on the input side. The flatband cable to the display has a 5V line but on the HPs Digital PCB there is a series resistor to Limit the current. Depending on which Generation of multimeter you have it is either 1Kohm or 470Ohm.I have put this remark on my pcb before I checked how low the current consumption of the isolator IC is. It works Perfect without the short circuit.Best regards,KaiPs: R540 is what I refer to.

author: Hexley
author_rank: Regular Contributor
timestamp: February 04, 2022, 05:56:53 pm
content: Quote from: Xyphro on February 04, 2022, 05:46:33 pmIt looks like that resistor is 1K in the 3478A (R508). So no need to short it, it seems. That is great. Thank you for the info.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2022, 06:56:21 pm
content: Honestly, if I'd make another redesign I'd remove the isolator also and Power it from the 5V (then with shorted resistor). The 3.3V could be made with an LDO and the 7.5V for the Oled either using its internal chargepump (+1 transistor per oled) or a boost converter.It would bring the complexity of the schematic down further.

author: RichardM
author_rank: Frequent Contributor
timestamp: February 04, 2022, 10:50:22 pm
content: This looks great. Thanks.I have an HP-3468a and was wondering if this modification would also work on it ? I will find the schematics but I had always assumed the 3468a was almost the same as the 3478a but with lower specs and HP-IL ports.Cheers

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2022, 09:28:33 am
content: Looking at the Service manual it might work. But should be tried out. But it is not clear from the manual what Kind of connector they use (16 pin dual row pin header or press fit dip).

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2022, 09:09:46 pm
content: Hi @All:As promissed I have just published all design files to Github:https://github.com/xyphro/HP3457-OLED-displayHave fun :-)Best regards,Kai

author: Hexley
author_rank: Regular Contributor
timestamp: February 05, 2022, 09:16:58 pm
content: The pdf schematic in ../hardware/eagle/ renders as though it were a mirror image, at least for me.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2022, 09:22:27 pm
content: Haha, you are right, thanks for feedback. Will fix it :-)Edit: DONE!

author: Hexley
author_rank: Regular Contributor
timestamp: February 05, 2022, 10:03:46 pm
content: Thanks, Kai.A few more questions:1. Can you share a part number and/or vendor information for the OLED displays that you used? I am not finding any blue on black versions, only white on black or yellow on black.2. Your writeup mentions using a TO220 regulator and connecting AC lines to pin 1 and 2. Can you elaborate on this, please?3. Have you had a chance to think further about what you suggested a while ago in terms of powering +5 directly from the Vcc pin of the 16-pin header (after removing the limiting resistor on the motherboard)?Thanks for posting to github. It is great to see the details of your work.

author: tfm
author_rank: Contributor
timestamp: February 05, 2022, 10:59:39 pm
content: Quote from: RichardM on February 04, 2022, 10:50:22 pmHi RichardM, I am in the same situation here. And I'm willing to try it, it should work for both of them.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2022, 11:00:00 pm
content: Hi Hexley,1.) I ordered those displays:https://m.de.aliexpress.com/item/1005001856921229.htmlOr search for: XAbl 0.87 inch oled2.) I will share a photo tomorrow3.) I did not investigated this further. With the galvanic Isolation and the option to power it from an AC or DC source you have the most flexibility.Best regards,Kai

author: tfm
author_rank: Contributor
timestamp: February 05, 2022, 11:12:26 pm
content: Quote from: Xyphro on February 05, 2022, 09:09:46 pmThank you so much, @Xyphro! That is a great contribution!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 06, 2022, 01:52:34 pm
content: Hi Hexley,attached a photo that shows how I supplied the display with power.The regulator U701 gets 12V DC on its input and outputs 5V DC. Pin 1 is the input (+12V), pin 2 is GND, the unconnected pin 3 is +5V.I simply routed a cable from the AC connector of the new display to the regulator pin 1 and 2. As my display design has a bridge rectifier on its input, it does not matter where you connect +12V or GND to.Best regards,KaiPS: The displays I bought are sold as white on black displays, but actually they look a bit blueish as you can see on the pictures.

author: Hexley
author_rank: Regular Contributor
timestamp: February 06, 2022, 04:55:08 pm
content: Thanks, Kai. That is very clear.More questions:1. Is there a special method to space the mounting board and the display board from each other when it comes time to solder the interconnecting pins?2. Do you use anything to hold down the OLEDs to the PCB, like hot glue or super glue?3. Do you use a jig or template to get the OLEDs centered vertically in the LCD window opening?4.Did you try pullup resistors on the I2C lines and decide that they were not needed?[Edit: Nevermind; I see how you did the bit banging in software. Clever.]Sorry to keep pestering you!- Hexley

author: Xyphro
author_rank: Regular Contributor
timestamp: February 06, 2022, 06:53:35 pm
content: No issues, questsions are there to get asked :-)1.) See 1st attached picture. It is simply the spacing as given by a standard pinheader - not more and not less.2.) I used doublesided "foam tape". Not sure what the proper american term is for that. It is foam that is sticky on both sides and a bit compressable. See 2nd picture.3.) for the orientation in Y-direction I had put 2 layers of the "foam tape" at the bottom side. I could nicely hold the OLED against it and then press it down, so that it sticks to the other foam tape. Afterwards I removed those 2 layers of foam tape (white in the picture) again. This is all I did. I did not create a template for it.4.) I did not use Pullup resistors (a deliberate design choice). This might look hacky of course, but is perfectly OK. Yhe MCU drives I2C in push-pull mode. The SSD1306 will not do clock stretching, so the SCL line is never driven low by the display. The SDA line is driven low by the display only in the ACK phase. In that phase I do switch the MCU to open drain with pullup resistor (but actually don't read the ACK bit). So there are never 2 drivers working against each other on the SDA line. Even if this would happen, the IOs are current limited and no transistors get hurt :-) During development I had this happening a few times of course, but nothing got destroyed.

author: RichardM
author_rank: Frequent Contributor
timestamp: February 07, 2022, 08:40:14 am
content: Having problems posting so I apologise if this appears twice.The 3468a appears to use a DIP press fit connector, 2 rows of 8 pins. Do these pull out or are they soldered in after pressing together ? The same connector is used on the other end on the main board.The annunciations are also attached, the spacing between the screw holes for the LCD board are 149 mm.How does this compare to the 3478a ?Cheers

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 11:16:19 am
content: It looks exactly as my hp3457a allthough that was not the question you asked. It has the same press fit 2 rows by 8 pins connector. Also the mechanical mounting points look identical.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 11:17:29 am
content: And you can just pull the connector out. It is not soldered, but has a spring mechanism.

author: Le_Bassiste
author_rank: Frequent Contributor
timestamp: February 07, 2022, 12:06:35 pm
content: Quote from: Xyphro on February 04, 2022, 09:42:18 amhave a look inhttps://www.eevblog.com/forum/repair/replace-lcd-on-hpagilent-664xa-psus/msg2137255/#msg2137255, might help figuring out the hp66xx display communication.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 12:49:48 pm
content: Thanks for sharing. Actually the protocol is the same! Just the connector has a different pinout.

author: Kean
author_rank: Unknown
timestamp: February 07, 2022, 01:04:39 pm
content: Quote from: Xyphro on February 07, 2022, 11:17:29 amI can confirm. I have my HP 3468A open on the bench, and the DIP connector has split pins which press fit into the PCB. Just be gentle removing it.I took a quick peek into one of my HP 3478A's, and it has the same display PCB labelled "5061-5212". A google on that brings up lots of hits.

author: Kean
author_rank: Unknown
timestamp: February 07, 2022, 01:08:28 pm
content: Hmmm... newer ones seem to use a "5181-2813" display PCB. I wonder what the difference is.If it wasn't already past midnight here I'd check the service manual.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 08:04:45 pm
content: However this turns out with those multimeter, just want to say you get my full support in adjusting the AVR Software whereever/ifever required :-)This would especially work well in case you can make logic analyzer dumps. I have a method to play back logic analyzer traces physically.

author: RichardM
author_rank: Frequent Contributor
timestamp: February 07, 2022, 09:03:17 pm
content: OkDoes the whole thing come off the board ? Or is half the dip socket remain after removal ? The spring is easy tonremove and suggests half the socket remains ?Richard

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 09:25:33 pm
content: The whole thing comes off the Board, so the cable including all the plastic parts in one piece. Just apply some force between the lcd pcb and the plastic Part where the cable ends up in.Don't be afraid, it is not a lot of force required.Best regards,Kai

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2022, 09:30:29 pm
content: Or to explain it differently: after you have the dip press fit removed, the display lcd had no plastic parts, but you just see holes in it. The cable side has all plastic parts and metal spring pins that were pushed before removal into the PCB.

author: RichardM
author_rank: Frequent Contributor
timestamp: February 07, 2022, 10:04:00 pm
content: Great thanksI am willing to give this a try on my 3468a.RegardsRichardP.S If anyone else in Australia wants to make the same modifications I would be happy to share the PCB costs, I certainly don't need 5 boards

author: Kean
author_rank: Unknown
timestamp: February 08, 2022, 11:41:45 am
content: Quote from: RichardM on February 07, 2022, 10:04:00 pmRichard, Yes! I am in Sydney and have 1 x 3468A and 3 x 3478A. I'd like to try this on at least one of them.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2022, 01:51:37 pm
content: Lucky guys, you have summer, while we have it freezing cold here :-)

author: Hexley
author_rank: Regular Contributor
timestamp: February 08, 2022, 05:04:50 pm
content: The datasheet for the OLED display has a section on "Image Sticking" that refers to a ghost image that can remain if a fixed pattern is displayed for long periods.From the datasheet:"If you remain a fixed image on OLED Display for a long period of time, you may experience a phenomenon called Image Sticking. Image Sticking - sometimes also called “image retention” or “ghosting”- is a phenomenon where a faint outline of a previously displayed image remains visible on the screen when the image is changed. It can occur at variable levels of intensity depending on the specific image makeup, as well as the amount of time the core image elements are allowed to remain unchanged on the screen."They go on to say that it is not true burn-in, and can be reversed by displaying a black screen for an extended time. They recommend not showing a fixed display for more than 2 hours.A DMM display will be a mix of dynamic elements (the numbers) and static elements (the mode letters and the annunciators). The latter may remain unchanged for long periods, and thus invite ghosting.This suggests that it might be good to add a screen saver mode to the Kai Display. Perhaps something that follows this logic:1. Create a watchdog timer with a period of, say, 30 minutes. This will determine the timeout period.2. Start the timer at power on.3. Restart the timer if there are any signs of activity, such as:* Any change in the operating mode, as determined by a change in the right-most 4 characters of the display. E.g., if those go from "MADC" to " VAC", that shows the user has interacted with the instrument.* Any change in the annunciators. E.g., if the "Shift" annunciator comes on, the user has interacted with the instrument.4. If the timer times out, display a screen saver image, such as:*Black screen.*Animated image, e.g. the "flying geese" of the HP41 calculator.5. When in blanked mode, unblank (restart the timer and restore the normal display) if any user activity is detected. See step 3 above.The screen saver function could be enabled/disabled by a jumper, perhaps. The parameters suggested above would need tweaking, no doubt -- exactly which annunciators should be monitored, for example.There are probably some corner cases that would allow an undesired timeout, or perhaps prevent a desired timeout. But for the majority of uses, the algorithm above would probably work adequately, or so it seems to me.I'm curious what others might think about this.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2022, 06:16:03 pm
content: Agree, this would prevent issues. About 2008 when I used oleds the first time there were recommendations to limit burnin of pattern like shifting every few second the picture by a Pixel or so,... I hope those oleds are better, but I cannot tell that by experience.The SW can certainly detect if the content did not change over the last x minutes and then darken the display, turn it off,... And on again when something in the content changed. Maybe the sample annuciator should be ignore then or a smarter time out method found.I can do something in the Software if we agree on a scheme and reaction.Possible actions I can imagine- blank screen- dim screen- shift over time every few seconds/minutes the screen content up and down very few pixels

author: RichardM
author_rank: Frequent Contributor
timestamp: February 08, 2022, 09:09:35 pm
content: Quote from: Kean on February 08, 2022, 11:41:45 amHi Kean, thats great. I am just up the freeway in Newcastle. I would be happy with 2 boards but to be honest we may as well order 5 each and combine postage.Any ideas on a source for the OLED's ? Aliexpress is mentioned above ?PM sent.Richard

author: Berni
author_rank: Super Contributor
timestamp: February 09, 2022, 06:54:04 am
content: Yep burn in is a thing for OLED as the tiny LEDs inside it get worn out and become dimmerHowever if you are just displaying static segments the burn-in might be very hard to notice. It's hard to tell if a segment is just slightly dimmer, so in order to see the burnin you typically need to fill up the display with solid lit pixels that way you can see the slight 'shadow' of the burned shape on the area of lit pixels (the difference between fresh new pixels and tired used ones right next to each other). So what the "shifting by 1 to 3 pixels" does is smear out that shadow images edge making it less noticeable in that case.So id say for your use case OLED burn in is not an concern. It would only become an issue once the burning becomes really really severe to the point where you can notice some segments being dim. Same as what you can see on VFD display test equipment that has had a lot of hours put on it.

author: mapleLC
author_rank: Frequent Contributor
timestamp: May 15, 2022, 06:38:44 pm
content: Beautiful work.

author: srb1954
author_rank: Super Contributor
timestamp: May 15, 2022, 10:13:13 pm
content: Quote from: Xyphro on February 04, 2022, 06:44:03 amPerfectly normal. It is just the stray leakage currents generating a voltage across the very high (10G) input impedance of the meter. Switching the input impedance to 10Mis sufficient to drain the stray leakage currents.

author: ArgyllGargoyle
author_rank: Contributor
timestamp: February 01, 2023, 02:55:50 pm
content: This looks like a fantastic solution for the stock display - I am probably going to give it a try.I wonder if there is any EMI impact from the switch-mode DC-DC converters in this design? Has anybody looked at this aspect?

author: sagias
author_rank: Newbie
timestamp: March 09, 2024, 07:07:54 am
content: Tested 3478a works ok but i have smpl in place off srq,2w in place of azoff azoff in place of 4w readings are accuratefound 3478a hex icons and 3457a hex are the same compare in hex editor we need the right file

author: wolfy007
author_rank: Frequent Contributor
timestamp: March 10, 2024, 01:28:05 am
content: Quote from: RichardM on February 08, 2022, 09:09:35 pmWell if you fellas are going to give it a try, Ill have a go (3x 3478A, 1x3468A & 1x3468B) I have one 3478A going thru repair at the moment I could try it on. Im down Wollongong way.

author: Kean
author_rank: Unknown
timestamp: March 10, 2024, 01:43:27 am
content: Quote from: wolfy007 on March 10, 2024, 01:28:05 amHmm, well I forgot all about this and I don't know if I ever ordered any parts. I have acquired another 3478A which arrived with a slightly damaged display, so maybe I should look into this again.

author: cncjerry
author_rank: Unknown
timestamp: March 10, 2024, 03:10:32 am
content: I'm using a 3457 more lately and the display sucks in fluorescent light. It looks like the parts used two years ago generally available? I looked at the project and I'm not familiar with the OLED displays. I see they come in 128x32 pixels? I had thought they were just one character, but it looks like that size are all 128x32. But those available are white, and I want blue!thanksJerry

author: sagias
author_rank: Newbie
timestamp: March 10, 2024, 04:52:46 pm
content: Fitted neen some trim on pcb and open the right hole a little to align,marks are messy due to wrong fw on github for 3478a,i dont know how to compile hex for 3478a from source, measurements are ok

author: sagias
author_rank: Newbie
timestamp: March 11, 2024, 11:52:56 am
content: fw compiled and works flawesslyi provide the filee

author: cncjerry
author_rank: Unknown
timestamp: March 12, 2024, 04:15:39 am
content: What oleds did you use?

author: Kean
author_rank: Unknown
timestamp: March 12, 2024, 05:30:05 am
content: Quote from: cncjerry on March 12, 2024, 04:15:39 amThe ones linked earlier in the thread are no longer available, but at least the listing with specs and dimension drawing are still there.I found another listing with similar specs, pin out, and dimensions - but I have not ordered any yet.https://www.aliexpress.com/item/1005005770683719.htmlThe price of these is better that the previous listing, but I also saw some even cheaper but from "less reputable" sellers (not necessarily untrustworthy, but just lower reputation).I will probably order 50 of them in the next couple of days as I want to convert a few meters, and can use these on other projects as well. I guess I need to order the PCBs and other parts too...

author: sagias
author_rank: Newbie
timestamp: March 12, 2024, 05:36:08 am
content: As described on xyphros github

author: sagias
author_rank: Newbie
timestamp: March 16, 2024, 11:03:28 am
content: Prove

author: Miti
author_rank: Super Contributor
timestamp: April 02, 2024, 02:51:24 pm
content: What about this OLED? Reputable and the visual area seems to be a little wider, it fills the space between digits better.https://www.buydisplay.com/white-0-87-inch-oled-display-panel-128x32-iic-i2c-ssd1316Edit: Ignore, the visual area is the same, just different source.

author: Kean
author_rank: Unknown
timestamp: April 07, 2024, 06:25:59 am
content: I've just received 20 PCBs and 60 of the previously linked OLEDs .Hopefullyin the next week or two I will find time to assemble a sample and check operation.If any of the Aussie followers of this topic are interested, then feel free to DM me your interest in either bare or partially assembled PCBs.I may have some OLEDs left over from my builds, but otherwise it is not hard to source them yourselves.https://www.aliexpress.com/item/1005005770683719.html

author: TERRA Operative
author_rank: Super Contributor
timestamp: May 21, 2024, 12:12:09 am
content: I'm currently spinning up my own version of this design and replacing the DC-DC converters with something a little cheaper.Can someone who has built one of these measure the voltage and current draw from the output of each DC-DC converter with the displays lit to the maximum number of pixels by chance?

author: TERRA Operative
author_rank: Super Contributor
timestamp: May 23, 2024, 09:28:46 am
content: So, I've made my own spin of this board. I swapped out the expensive buck converters with cheaper options (still from TI) and optimised the layout somewhat.I also spaced the two halves of the PCB so they can be easily cut apart withone of these. (Ignore the trace connecting the two sides, it's just to try to trick the PCB manufacturers into thinking it's not two separate designs....)The BOM file is such that it should be able to be dropped into JLCPCB for assembly, Ithink... I haven't tried so let me know how you go...Itshouldall just work (I made no major changes besides the DC-DC converters) so take this as a Beta version until verified by someone.As for the displays, you can get them on Aliexpress, but JLCPCB has them in their catalogue for their assembly service too.I plan to get a bunch made sometime soon-ish, so I'll report back once it's done.(See further down the thread for latest version)

author: kawal
author_rank: Frequent Contributor
timestamp: July 17, 2024, 06:32:37 pm
content: Seems you have the wrong footprint in the BOM for U3. The SOT-23-5 should be used not SC-70-5. others seem ok

author: TERRA Operative
author_rank: Super Contributor
timestamp: July 18, 2024, 03:51:45 pm
content: Quote from: kawal on July 17, 2024, 06:32:37 pmThis is the part specified:https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LVC1G86DCKR?qs=d9gICRQKuCdmtPquTT%2F3UA%3D%3Dhttps://www.digikey.com/en/products/detail/texas-instruments/SN74LVC1G86DCKR/381330Note the 'DCKR' at the end of the part number in the 'manufacturer part#' in the BOM. 'DCK' indicates the SC70 package type as shown on page 1 and 14 of thedatasheet.

author: kawal
author_rank: Frequent Contributor
timestamp: July 19, 2024, 11:27:27 am
content: Yes the that part - the footprint in the design is for SOT-23-5 and the bom has the SC-70 partAttached is the board with SOT-23-5 placed on it - The SC-70-5 will not fit. I found out the hard way - by ordering boards on JLCPCB with parts per BOM.You need to change the BOM to show the SOT-23. Its your EDA software issue. Mixed up footprints.https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LVC1G86DBVRE4?qs=nqigI8dpoHLKLfGKub4Tlw%3D%3DWhile you have the SC-70 version in the BOM you have the footprint for SOT-23.Hope it will not cause mechanical assembly issues as the SOT-23 is probably higher off the board.Hope that is clear.

author: kawal
author_rank: Frequent Contributor
timestamp: July 19, 2024, 02:32:19 pm
content: I am hoping to use these in a HP 3852A that uses 2 of these displays. Would be super nice . Also have a few HP 66XX power supplies.

author: TERRA Operative
author_rank: Super Contributor
timestamp: July 19, 2024, 06:03:22 pm
content: Quote from: kawal on July 19, 2024, 11:27:27 amGotcha, you are absolutely correct. The footprint was indeed incorrect in the EDA software so I've made the corrections (including making my own correct footprint) and attached v1.1 of the design to this message.v1.0 in my previous post has been corrected to reflect the correct SOT-23-5 part in the BOM too.It looks like the SOT-23-5 part is shorter that the 2.54mm pitch pin headers when the two boards are put together (part is 1.45mm tall, board spacing is 2.54mm apart), so there shouldn't be a clearance issue to use a SOT-23-5 part.

author: kawal
author_rank: Frequent Contributor
timestamp: August 21, 2024, 01:52:34 am
content: Quote from: TERRA Operative on July 19, 2024, 06:03:22 pmOk new issues for these custom boards. The power supplies are not starting. The 3.3v supply is 1.6V and without the 3.3V there is no 8V. Troubleshooting this now. Total draw is 0.6mA so obviously power supply issue......The resistor values are wrong on the 3.3V regulator. The schematic shows 16.5K and 10K which will give 1.59V ...The calculation for the part used is 0.6v * (1+Rx/Ry). You probably assumed that the part is a 1.25V reference part, but it has 0.6V reference. To fix this the resistor to ground needs to be 3.666k or the resistor to output needs to be 45k.The 8V resistors are calculated properly.I replaced the 10K R27 with 3.6K and the supply now comes up at 3.3V and shortly after the 8V supply shows up.On a side note can someone confirm the Fuse settings for the atmega8 ? I assumed the following fuses :

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 21, 2024, 04:23:37 pm
content: Thanks for being my alpha tester!I'll make a revision and upload a new version with the BOM change in my previous posts.And done.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 01:30:28 am
content: The fuse settings i chooses seems to work but the startup behavior is not consistent.I will try with brownout detection and some startup delay.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 03:51:13 am
content: The fuse settings did the trick. Each restart is clean.

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 25, 2024, 05:42:56 am
content: Nice! It looks great!How well does it all fit on the inside?

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 12:53:58 pm
content: The fit is good. Its a little snug to get in . The distance from to the oled is about 2.5mm too far. if you press teh glass it will move in. Better to have thicker spacers in between boards. I offset the boards by about 1.3mm and added 1.2mm of tape on top of the edge of OLED.I wish the font was a bit bigger but i don't think its possible due to decimal point.One observation is the power usage is very low. I got about 11mA from 12V. The original design claimed 30mA at 12V. So the power supply is better in power usage area. This might be dependent on OLED display more than on the power supply but i cant know for sure.Next is to test in HP 3852A that uses 2 of these displays. Also have a few HP 66XX power supplies to test as well.Maciej

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 03:42:26 pm
content: I did a recompile of the files as the triangles were not showing up from the firmware posted in github. I was getting only icons.Attached is the recompiled Hex for triangles on the bottom.Will not work with HP 3852A. Strange as the original HP 3457A LCD works fine in the HP3852A. Maybe not all commands or functions are properly replicated?I forked the original design here:https://github.com/kawalkQCWski/HP3457-OLED-display/tree/main

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 25, 2024, 04:02:05 pm
content: Can you show some photos of where it needs any adjustment to size?I'll make another revision to improve fitment if you think it's needed.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 04:27:51 pm
content: Quote from: TERRA Operative on August 25, 2024, 04:02:05 pmThe PCB is good. The thickness issue is in between boards. Needs longer spacers between boards min 2mm extra.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 09:49:03 pm
content: Quote from: kawal on August 25, 2024, 04:27:51 pmTo fit in a 3852 the ears have to be modified. I will send you the dimensions.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 10:53:57 pm
content: To be able to fit in the 3852A the oled needs to be modified. The hole on one side needs to be exactly in the middle.The other side needs to be 10 mm from edge of the LCD display or edge of OLED PCB. there is 2.5mm of overlap of the holes.The only truly needed cutouts are for the capacitor. all other cutouts are optional. Its nice to have the programming cutout but that is very close to the ear.

author: kawal
author_rank: Frequent Contributor
timestamp: August 25, 2024, 10:55:34 pm
content: Added a drawing to illustrate the issue of ear overlap.

author: kawal
author_rank: Frequent Contributor
timestamp: August 26, 2024, 02:20:10 am
content: instead of cutout there could be just drilled holes. There are extra long headers .

author: kawal
author_rank: Frequent Contributor
timestamp: August 26, 2024, 03:25:25 am
content: This is the shape i propose to make the PCB

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 26, 2024, 08:38:57 am
content: Good stuff, I'll take a look this week and make the changes.

author: kawal
author_rank: Frequent Contributor
timestamp: August 27, 2024, 06:42:01 pm
content: Quote from: TERRA Operative on August 26, 2024, 08:38:57 amIf you have KiCAD version of your board I can do the modifications.

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 27, 2024, 11:26:17 pm
content: Only Diptrace unfortunately.I have yet to figure out how to use KiCad for more than 30 minutes without rage quitting... Open-source syndrome with the UI and all....

author: kawal
author_rank: Frequent Contributor
timestamp: August 29, 2024, 11:23:37 am
content: Looks like diptrace available as freeware up to 500 pins. Could you send the schematic and design files? I will see if there are export options or just use diptrace to modify .

author: TERRA Operative
author_rank: Super Contributor
timestamp: August 29, 2024, 04:31:22 pm
content: Here you go.(Latest version further down this thread).

author: kawal
author_rank: Frequent Contributor
timestamp: August 30, 2024, 01:47:35 am
content: This is what i was thinking

author: kawal
author_rank: Frequent Contributor
timestamp: August 31, 2024, 02:42:01 pm
content: I don't know whats up with Diptrace, but not happy. Again the footprint is wrong for U3. The footprint is too big for SC-70 and too small for Sot-23. The Sto23-5 used is not standard size of 0.95mm pitch but 0.65mm pitch. Not sure what that even is. .......OK figured it out SOT-23-5 0.65mm pitch is SC-70-5 OMG!!!

author: TERRA Operative
author_rank: Super Contributor
timestamp: September 07, 2024, 03:19:43 pm
content: Ok, I've made another revision with the clearances made for adjacent screens.I also measured up one of my 3478A multimeters and adjusted the board outline and mounting hole positions to be more accurate.And finally, I tweaked a few things and have updated the BOM file etc to use more of JLCPCB's basic parts to try to reduce cost and make assembly easier.I'm getting a quote on a run of 20, 10 of which will be spare, so in a while I might have a bunch for anyone who wants some. But no promises how long away...

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 07, 2024, 03:03:33 pm
content: So I finally got a batch of PCB's made and the first one I hooked up works.(Soldering the OLED's was a slight pain, took a few passes with the soldering iron to get them all reliably working. I need to design an alignment jig...)I had to figure out the fuses thing (I am completely NOT a software person...) but it seems to be working well, besides a few things detailed below.When I turn the instrument on, instead of 'SELF TEST OK' showing, I get 'P@@@ P@PP @@', then it all works ok as expected when showing the readings. If I have the programmer plugged in (supplying 3.3V directly to the MCU) then SELF TEST OK appears as expected. So I think this is a power supply thing, maybe the 3.3V rail takes too long to come up? Or I have a fuse setting to change?I have the following fuses set in Microchip Studio:HIGH.SPIENHIGH.BOOTSZ -> Boot Flash size=256 words Boot address=$0E00LOW.BODLEVEL -> 2.7VLOW.BODENLOW.SUT_CKSEL -> Int. RC Osc. 8MHz; Start-up time: 6CK + 0 msAlso, even though I used the 3478A .hex file, the annunciators are wrong. It appears that the three different files uploaded by Xyphro are identical, not three different versions...I found sagias had the same problem but they provided a .hex which has the correct annunciators. Thanks!How do we go about making our own annunciators? I see the python script etc, but is there any instructions anywhere? I wouldn't mind making some more firmware files with different annunciators for other instruments too.And finally, when performing a self test, the annunciators don't appear as they do on the original LCD (to check all segments work on the LCD), if this worked it would help identify what firmware the MCU contains. Is this difficult to implement?Anyway, here are some pics of it in one of my 3478A multimeters.I had to make some last minute manual changes with a nibbling tool to one of the PCB's to fit this model. This 3478A is the type with individual removable panels instead of one single outer case, and needed just a bit of a trim to fit.The latest files with the mods are attached below too. It should fit everything else still.I have a few ideas for further improvements, mainly to manufacturability, and I want to try to fix that garbled display on power-up if possible, so stay tuned for another revision some time soon-ish.

author: wkb
author_rank: Super Contributor
timestamp: November 07, 2024, 09:23:57 pm
content: OMG.. now you are tempting me to convert at least one, if not both of my 3478A.As if I need more projects

author: porter
author_rank: Regular Contributor
timestamp: November 08, 2024, 08:22:57 pm
content: Beautiful job.I have a bit of affection for my 3478A.One of the nice things about it is the 30mv range. If my math is any good, it gets close to 6 1/2 digit accuracy of some meters with 200 mv ranges.For example if I want to measure 10mv, the Siglent 3065x has 5uv accuracy (1 year specs). The 3478A for the same measurement has 7.5uv accuracy (1 year spec). Plus it has the famous LM399. Not bad for the oldie.

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 10, 2024, 04:00:08 am
content: So, I've been playing around a bit, trying to iron out that 'SELF TEST OK' not showing correctly on boot.I thought maybe the MCU needed more time to settle down so I added a 4.7uf capacitor in parallel with C763 on the meter's main board (located just near where the transformer wires are soldered to the board) to increase the power-on-reset time of the multimeter.That took the reset time from about 11ms up to around 128ms, but still I get the garbled display.I'm thinking that maybe the MCU doesn't sync properly until it receives a message or two?Anyone good with firmware? I'm not...Here's a quick video of what it does on boot:https://youtu.be/hfPargPhheM

author: robert.rozee
author_rank: Frequent Contributor
timestamp: November 10, 2024, 07:30:47 am
content: just an observation, and i don't have one of these meters, is that using13displays would have enabled the use of a dedicated display for the decimal point and made for a far easier to read result. the down side (assuming 13 of these displays would even fit) is that shuffling digits around the decimal point would have added an extra layer of complexity.cheers,rob :-)

author: porter
author_rank: Regular Contributor
timestamp: November 10, 2024, 08:03:42 am
content: Quote from: TERRA Operative on November 10, 2024, 04:00:08 amIs this section relevant? (maybe not since you mention the 3.3v supply)

author: Miti
author_rank: Super Contributor
timestamp: November 11, 2024, 05:26:18 pm
content: Hmm, this caught my attention. I have two HP3478A and even though there’s nothing wrong with their displays, this project looks really good.Regarding the SELF TEST OK not showing up, did you try to do a hard reset on the instrument (short C763) after it start showing the reading? If the self test shows up, that means the board needs more time, if it doesn't, well, needs more digging. Or try the soft reset, SHIFT + RESET.Also disable BOD and see what happens.I’m thinking of making a single board with 3D bracket, as an improvement.Cheers,MitiEdit: Edited my first post for clarity.

author: Miti
author_rank: Super Contributor
timestamp: November 21, 2024, 10:44:35 pm
content: I looked through the code a bit. It takes the display 500ms+ to initialize. There are three 100ms delays and a 200ms one. I think that’s your problem. I’m not sure if it needs that much time but in my opinion they are excessive. You can try recompile the code with something like 10-20ms delays.Cheers,Miti

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 22, 2024, 12:00:41 am
content: I played around with some things and now it's working! Thanks for the pointer!Attached is the working hex files for both the 3478A and 3457A.Last thing to make it all 100% as per original, is to get the annunciators to show when manually performing a self test.I'll poke at things later. I'm slooowwwlllyy learning this firmware stuff...

author: Miti
author_rank: Super Contributor
timestamp: November 22, 2024, 01:57:29 am
content: What did you play with, the delays?

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 22, 2024, 08:43:29 am
content: I think I didn't need to.... Somehow when I recompiled the .hex, even with the original delay times it just 'started working'. Not sure why, but maybe I accidentally fixed something that I somehow broke as I have no idea how to use the Atmel Studio software....

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 24, 2024, 05:35:12 am
content: Anyone smarter than me able to tell me how to make all pixels on all the displays set to 'on', and also all the numeric 'segments' and all annunciators set to on too?I just want to have a .hex file for each mode so I can turn on power and it just constantly displays regardless of data input.I want to measure current draw of the OLED displays... But I'm not very good with firmware....I'm 99% to the point of completing my design. Just a few small details to make it perfect.

author: Kean
author_rank: Unknown
timestamp: November 24, 2024, 06:44:33 am
content: Quote from: TERRA Operative on November 24, 2024, 05:35:12 amOn a 3478A if you initiate a self test via blue then SGL TRIG buttons, the full display should come on for as long as you hold SGL TRIG.This won't be all OLED pixels, only those associated with numeric segments and annunciators - but that should be worst case for normal firmware operation.

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 24, 2024, 07:23:04 am
content: Yeah, this is what I want to ultimately measure the current draw of, but when doing the self test, the OLED firmware doesn't seem to show the annunciators.

author: Kean
author_rank: Unknown
timestamp: November 24, 2024, 08:30:22 am
content: I'm happy to dig into the firmware but it won't be for another week or so before I can try assembling any of my PCBs.In the mean time, from a quick glance you can try to modify oled.c function oled_init() which initializes the display memory with "empty values".https://github.com/xyphro/HP3457-OLED-display/blob/09a7be32dd252d96eb0008a0b00129694da555cc/software/source/HP3457Oled/oled.c#L141I would try changing it to something like:Code:// fill display memory with non-empty default valuesfor (uint8_t digit=0; digit<12; digit++){oled_chars = 58; // all digits litoled_dots  = 0xff; // annuciators / punctuation = all on}You may also need to disconnect the serial input so the display does not update beyond that.

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 24, 2024, 11:58:32 pm
content: Turns out, the current draw is low enough on the OLED's, and the specs/size for power inductors is such that I'll have a huge margin for power.I was looking to optimise the inductors to save space and cost, but the sweet spot is about 1Amp current rating if I want a reasonably low DC resistance, which is way above what the OLED's draw, so this issue is effectively resolved.Last two steps is to design a simple jig to enable the OLED's to be easily aligned while soldering (I'll design it from FR4 so it can be made just like a normal PCB), and to see if the annunciaters can be made to illuminate on self-test (But that's firmware, so might take me a while....)

author: Miti
author_rank: Super Contributor
timestamp: November 25, 2024, 02:17:26 am
content: Quote from: TERRA Operative on November 24, 2024, 11:58:32 pmAs I said, I took a different approach. Single board and 3D printed back with places for the OLEDs. I've also simplified the schematic, linear regulator supplied from the unregulated 5V (13.5V on 3478A), no opto isolator but 5V tolerant buffers. This is for the 3478A only. All I have left is to select a linear regulator with EN for 8V.Oh... and Kicad.Can anyone suggest a jellybean linear regulator with enable for about 200-250mA up to 18V at the input?Cheers,Miti

author: wkb
author_rank: Super Contributor
timestamp: November 25, 2024, 07:53:47 am
content: old skool 7805? Cheap as chips. Probably overkill but hé...

author: Miti
author_rank: Super Contributor
timestamp: November 25, 2024, 11:02:27 am
content: Quote from: wkb on November 25, 2024, 07:53:47 amWith enable.

author: eliocor
author_rank: Unknown
timestamp: November 25, 2024, 01:17:22 pm
content: I use those modules:https://www.aliexpress.com/item/1005007369519036.htmlthey are cheap, have an enable pin and works rather well.For more details:https://protosupplies.com/product/mp2315-mini-adjustable-dc-dc-step-down-module/

author: wkb
author_rank: Super Contributor
timestamp: November 25, 2024, 01:22:22 pm
content: I would go for a linear supply. No need add noise from a switcher into a precision measurement instrument!

author: eliocor
author_rank: Unknown
timestamp: November 25, 2024, 03:32:40 pm
content: Right, he was asking for a LINEAR regulator....take a look at those lists :Fixed 8V regulatorsordered by priceAdjustable regulatorsordered by priceRohm BDxxFC0series? Available even onLCSC

author: Miti
author_rank: Super Contributor
timestamp: November 25, 2024, 07:21:38 pm
content: Quote from: TERRA Operative on November 24, 2024, 11:58:32 pmWhat is it?

author: Miti
author_rank: Super Contributor
timestamp: November 25, 2024, 07:22:29 pm
content: Quote from: eliocor on November 25, 2024, 03:32:40 pmThanks, I think I found what I’m looking for.

author: eliocor
author_rank: Unknown
timestamp: November 25, 2024, 07:42:34 pm
content: see my previous suggestions (message modified AFTER your last post)

author: Miti
author_rank: Super Contributor
timestamp: November 25, 2024, 09:44:32 pm
content: Quote from: eliocor on November 25, 2024, 07:42:34 pmThanks but I think an SOT23-5 would do it. Xyphro measured only 20mA supply current so by my calculation 13.5-8=5.5V x 50 mA = 275mW. So if it takes 50mA the regulator dissipates 275mW which should be low enough. I’m waiting for TERRA to confirm the supply current. Moreover, I found SOT23-5 with the same pin out from Digikey and from LCSC, under 50 cents each.

author: TERRA Operative
author_rank: Super Contributor
timestamp: November 25, 2024, 10:30:29 pm
content: Quote from: Miti on November 25, 2024, 07:21:38 pmUnder normal operation (idle in DC range after booting the meter) it draws about 24mA on the 8V rail.I'm using approximately 1A rated inductors with a 4x4mm footprint (they were the best cost/availability/specification ratio) so I didn't do any further testing.I'd say work on figuring at least double at about 50mA to be safe.

author: Miti
author_rank: Super Contributor
timestamp: November 26, 2024, 11:29:14 am
content: Quote from: TERRA Operative on November 25, 2024, 10:30:29 pmThe way to calculate this is: PDmax = (Tjmax - Ta)/ ResJA for the ambient and ResJC for the copper.For the AP2205 in SOT25 package for example that is: PDmax = (125 - 35)/160 = 560mWFor 13.5V in and 8V out that is 560/5.5 = 101.8 mA.Any objection to this schematic?

author: Miti
author_rank: Super Contributor
timestamp: December 08, 2024, 11:51:29 pm
content: Ok, les jeux sont faits, rien ne va plus, the boards are with JLC. I've also designed the plastic bracket, 3D printed it and looks ok. This is just the board side, once I get the OLED modules I will draw the OLED side with recess for each module for alignment. Unfortunately LCSC has exactly zero stock of 0.87" OLEDs.

author: kawal
author_rank: Frequent Contributor
timestamp: December 23, 2024, 03:45:56 am
content: I tested the display in a HP 6634A power supply. The display works electrically but the fitment is a big problem. I reduced the size of the board to fit it. The issue is the cutout in the metal work behind the display. The original display fits snuggly in the cutout . The new PCB is a lot different footprint. I used a Dremel, file and sander to reduce the board size .

author: wkb
author_rank: Super Contributor
timestamp: December 23, 2024, 08:16:46 am
content: But it worksI guess at some point it might be an idea to design PCBs that fit other common types of HP T&M instruments?

author: TERRA Operative
author_rank: Super Contributor
timestamp: December 23, 2024, 10:46:32 am
content: Quote from: kawal on December 23, 2024, 03:45:56 amNice work!Who's design did you use? Can you provide measurements of your modifications? I'll have a look at the possibility of modifying my design.

author: wkb
author_rank: Super Contributor
timestamp: December 23, 2024, 11:02:10 am
content: Quote from: TERRA Operative on December 23, 2024, 10:46:32 amI just knew you would bite...

author: kawal
author_rank: Frequent Contributor
timestamp: December 24, 2024, 04:25:48 am
content: Quote from: TERRA Operative on December 23, 2024, 10:46:32 amThe board needs to be exactly the footprint of the original board otherwise it will not fit the metalwork cutout for the hp 66XXX.

author: kawal
author_rank: Frequent Contributor
timestamp: December 24, 2024, 05:13:17 pm
content: here is my kicad attempt to make the board as much as the original outline. Kicad is fussy about the outlines OMG.

author: kawal
author_rank: Frequent Contributor
timestamp: December 26, 2024, 03:24:11 pm
content: Quote from: TERRA Operative on December 23, 2024, 10:46:32 amI used your earlier boards. Had to machine a few mm off the top and bottom and then modify the mounting tabs.

author: kawal
author_rank: Frequent Contributor
timestamp: December 26, 2024, 05:11:58 pm
content: Quote from: Miti on December 08, 2024, 11:51:29 pmCan wait for this version - Do you post to github?

author: kawal
author_rank: Frequent Contributor
timestamp: December 26, 2024, 05:34:47 pm
content: Quote from: wkb on December 23, 2024, 08:16:46 amIt works great - tested on 3852A as well but that one is not working. The displays from the 3852 do work in any other device so there is some buffered data out that is not going to the right place I think when in dual display devices.

author: Miti
author_rank: Super Contributor
timestamp: December 27, 2024, 03:08:30 am
content: Quote from: kawal on December 26, 2024, 05:11:58 pmI don't know how to work with Github. Probably I'll attach the files here.The boards are here, the OLEDs are back in stock at LCSC, these days I'll place an order. Once I validate the design and everything is working fine, I'll share.Miti

author: hvontres
author_rank: Contributor
timestamp: January 08, 2025, 06:27:42 am
content: Quote from: Miti on December 27, 2024, 03:08:30 amHi, just wondering how the single PCB + 3d printed option is working out. I seem to have accquired a 3457a and a 3478a to go with my 6632a. So I could help test fit all three versions and maybe help out with the mechanical fit of the 3d parts as well.Henry

author: kawal
author_rank: Frequent Contributor
timestamp: January 08, 2025, 12:30:03 pm
content: All the previous versions will fit the 3457/58 the fitment issue is with the HP 66XX series power supplies . I am to interested in this design - I am thinking of making my own version with switcher power supplies to reduce heat. LCSC/JLCPCB part availability keeps changing and need to modify the design again.

author: Miti
author_rank: Super Contributor
timestamp: January 08, 2025, 04:49:27 pm
content: Quote from: hvontres on January 08, 2025, 06:27:42 amBoards are received, parts in the mail, probably I’ll get them sometime next week. Will keep you posted.

author: Miti
author_rank: Super Contributor
timestamp: January 08, 2025, 04:55:31 pm
content: Quote from: kawal on January 08, 2025, 12:30:03 pmWell, the original design is using switching regulators which I replaced with linear as I don’t expect much heat. 200 to 250 mW in the regulators at most. But I’ll see once I turn on my board.

author: wkb
author_rank: Super Contributor
timestamp: January 08, 2025, 05:34:02 pm
content: Switching regulators close to highly sensitive DMM input circuits I would, as a matter of principle, avoid anyway.

author: Miti
author_rank: Super Contributor
timestamp: January 08, 2025, 05:47:21 pm
content: Quote from: wkb on January 08, 2025, 05:34:02 pmThat too but then we have 12 SDA lines and a clock line that act as antennas.

author: wkb
author_rank: Super Contributor
timestamp: January 08, 2025, 07:49:50 pm
content: Yeah.. good point

author: kawal
author_rank: Frequent Contributor
timestamp: January 09, 2025, 04:31:04 am
content: based on spec sheet for the display and 30% display lit up you can expect a bit more power draw.The spec is 10...16mA at all segments lit 100% . We have 12 displays 12 X 0.3 X 10mA on low side multiplied by 8V drop on regulator = 288mW min and could be as high as 460mW just for the high rail. if you decide in teh futer to light up more segments the current will go up closer to the 10...16mA max.Not crazy but not zero. If not spread across a good area could become very warm.The volt meters are integration type so any high frequency stuff should not impact it. The display itself radiates RF too. it has a built in switcher as well that could be used instead of external supply.Here is the spec sheethttps://www.buydisplay.com/download/manual/ER-OLED0.87-1_Datasheet.pdf

author: dietert1
author_rank: Super Contributor
timestamp: January 09, 2025, 10:19:22 am
content: That estimate needs to be confirmed by measurement. I'd think that less than 30 % of the OLED display area gets lit in a 7 or 16 segment display app.

author: BennoG
author_rank: Frequent Contributor
timestamp: January 09, 2025, 11:39:10 am
content: This would also be a nice update for my 2 keithley 2000 units.Benno

author: Miti
author_rank: Super Contributor
timestamp: January 09, 2025, 04:15:55 pm
content: Quote from: kawal on January 09, 2025, 04:31:04 amCheck reply # 137.

author: kawal
author_rank: Frequent Contributor
timestamp: January 09, 2025, 07:58:00 pm
content: Quote from: Miti on January 09, 2025, 04:15:55 pmI saw it but hard to believe its only 24mA for 12 displays = 2mA per display on average . To measure you would have to desolder the inductor on the 8V switcher and supply separate 8V to the circuit. Hmmm

author: Miti
author_rank: Super Contributor
timestamp: January 09, 2025, 08:49:44 pm
content: Ok then check reply # 12 by Xyphro. That current is measured with switching regulators so with a linear regulator I expect about 45mA.

author: TERRA Operative
author_rank: Super Contributor
timestamp: January 09, 2025, 10:35:16 pm
content: If someone can make a firmware to illuminate all pixels, or just illuminate all the used pixels (or even better, both options. Maybe have it switch between 'all pixels on' and 'all segments on' every 5 seconds or so), I can make some measurements with a spare display assembly.I am very muchnota software person, so don't have time or skill to make the firmware myself.Would be handy for testing the OLED's when building the display modules too actually..Regarding EMI, the construction using the two PCB's offers shielding by nature of its design, the rear PCB with the connections to the display harness has ground pours that cover the switching regulators, offering some shielding against interference entering the meter's circuitry.

author: Miti
author_rank: Super Contributor
timestamp: January 09, 2025, 11:44:00 pm
content: I'll do it once I have my board assembled. Basically you have to createa characteran anunciator with all the pixels on and send it to all the OLEDs.Or you can replace character 0 (zero) with a such all on character and recompile, then short the meter inputs.Edit: I meant anunciator with all the pixels turned on... I think.

author: dietert1
author_rank: Super Contributor
timestamp: January 10, 2025, 10:17:26 am
content: The idea that current consumption will depend a lot on the lit fraction of its display area may be misleading, as each display contains its own digital processor. If they spec 10 to 16 mA, then 10 mA could be the consumption of the processor and 6 mA the consumption of the OLED itself.For comparison: I recently used a 4.58" bar TFT as a replacement display for the Advantest R6581T and its backlight takes 20 mA at 12 V.Regards, Dieter

author: Miti
author_rank: Super Contributor
timestamp: January 10, 2025, 01:43:07 pm
content: Quote from: dietert1 on January 10, 2025, 10:17:26 amThey show different specs for the display and the processor current Vdd1 and Vpp. 3.3V Vdd1 current is 160uA typical. The display current is strongly dependent of the area illuminated, otherwise you'd have variations in the brightness. OLED is basically an area of LEDs. More LEDs, more current.

author: Miti
author_rank: Super Contributor
timestamp: January 23, 2025, 06:59:08 pm
content: Ok, I received the parts and I’m getting ready to assemble the board but I think I made a mistake. I ordered the non L version of Atmega8 which works with 5V. In your experience, does the non L version work at 3.3V and 8MHz? Both Xyphro’s and TERRA’s boms show the non L.

author: TERRA Operative
author_rank: Super Contributor
timestamp: January 23, 2025, 10:57:24 pm
content: Here's a photo of the part I used as per my BOM, it works fine.Not sure if I should use the L version to be more 'correct', but it's what LCSC had in stock at the time and works fine in multiple displays anyway.

author: Kean
author_rank: Unknown
timestamp: January 24, 2025, 06:43:27 am
content: The Xyphro design runs the ATmega8 at 3.3V and clock of 8MHz.So the ATmega8L should be used, but the ATmega8 will likely still work OK even though it is out of spec. Maybe in a limited temperature range, and is probably fine in this application.The datasheet for the ATmega8 saysQuote

author: Miti
author_rank: Super Contributor
timestamp: January 24, 2025, 12:12:22 pm
content: Quote from: Kean on January 24, 2025, 06:43:27 amAbsolutely, Atmega8L should be but I just wanted to know if I have any chance to test my board with the wrong part ordered by mista........ignorance.Miti

author: Miti
author_rank: Super Contributor
timestamp: January 26, 2025, 03:36:45 am
content: I assembled two boards and everything went well.... with the assembly. I rushed to test one so I soldered only two OLEDs, programmed and turned it on and ......it doesn't really work. I get what you see in the pictures. The segments and dots in the middle of the display change with the display update but it is not readable.If I power it up stand alone, without the data cable, I get the half display with the garbage. I've tried three programs, posted by Xyphro, sagias and Terra. The signals look as expected on the scope.In my humble opinion the controller doesn't initialize properly. This is the OLED that I'm using:https://www.lcsc.com/product-detail/OLED-Display_Newvisio-N087-2832TSWYG02-H14_C2890610.htmlAny suggestion is appreciated. Schematic is attached.Cheers,MitiEdit: Looks like I have different controller than what Xyphro used and wrote the software for. My OLED is CH1115, the code initializes SSD1306. They are listed as compatible but are they?

author: TERRA Operative
author_rank: Super Contributor
timestamp: January 26, 2025, 04:35:33 am
content: Double and triple check that your OLED's are soldered properly. I always have one or two I have to rework after the first pass on a full module, flux and patience to make sure all pins are soldered is key.Your OLED part number is the same I used.The output from U2 isn't level shifted before the micro, but I don't think that matters from what I see in the datasheet.Also, double check you have enough capacitance on the vregs, check the datasheets for capacitance derating under DC bias (I always try to use 50V or greater ceramic caps where I have the space for them).PS. I like your 3D printed OLED holder frame.

author: Miti
author_rank: Super Contributor
timestamp: January 26, 2025, 04:53:18 am
content: Quote from: TERRA Operative on January 26, 2025, 04:35:33 amI did check and I pushed the cable with the finger, no change. And then two OLEDs with the same symptom, the same pin open? Unlikely but I will check again.Quote from: TERRA Operative on January 26, 2025, 04:35:33 amYes it is, U2 is supplied with 3.3V and has 5V tolerant inputs. Am I missing something?

author: TERRA Operative
author_rank: Super Contributor
timestamp: January 26, 2025, 08:30:32 am
content: Quote from: Miti on January 26, 2025, 04:53:18 amI mean you don't have a level shifter between U2 and the microcontroller, but as per the datasheet, as it is supplied with 3.3V, then the output is 3.3V logic.

author: hvontres
author_rank: Contributor
timestamp: January 26, 2025, 01:54:23 pm
content: Are the I2C pins pulled up inside the Controller? If not, I there should be a 4.7k resistor to the 3.3V rail on SCL and all of the SDA lines to make it work correctly.

author: Miti
author_rank: Super Contributor
timestamp: January 26, 2025, 07:14:36 pm
content: Quote from: hvontres on January 26, 2025, 01:54:23 pmWell, technically, if you have only one master on the I2C bus, you only write to de slaves and don't read back and ignore the acknowledge, you don't need pull-ups. I assume this is the case in our schematic.

author: Miti
author_rank: Super Contributor
timestamp: January 27, 2025, 01:32:59 am
content: Here's the I2C line for one of the OLEDs. It looks very clean and the ssd1306_init sequence seems to be correct, as far as I can decode since Rigol can only decode what's on the screen. Also looks like the data line is push-pull and switches to internal pull-up for the acknowledge. Very nice, very clean signal.I've also attached some data sent after the init and the address is correct, the data I assume is correct since it needs a lot of digging through the code to understand.The investigation continues...

author: Miti
author_rank: Super Contributor
timestamp: January 27, 2025, 02:07:05 am
content: On second look, it is not as clean as I thought. Do you see the collision? When the last bit is high, before the master SDA changes to input, the master pulls high, the slave pulls low to acknowledge, therefore it makes a 2+ uS short. Meeeeh, not big deal, whatever works. This is not my problem though.

author: Miti
author_rank: Super Contributor
timestamp: January 27, 2025, 02:39:07 am
content: Actually I can see partial segments but they seem to be in wrong orientation. Are these OLEDs duds? It is a new batch after they went zero stock. Or did they start using a different controller without changing the datasheet? Hmmm...

author: robert.rozee
author_rank: Frequent Contributor
timestamp: January 27, 2025, 11:55:16 am
content: please try putting the 4.7k pullup resistors on SCL and SDA lines, then report back what happens...cheers,rob :-)

author: Miti
author_rank: Super Contributor
timestamp: January 27, 2025, 06:20:47 pm
content: Quote from: robert.rozee on January 27, 2025, 11:55:16 amHi Rob,Can you please explain what is your suspicion? Looking at the screen shots from the scope I don’t think it is necessary.

author: eliocor
author_rank: Unknown
timestamp: January 27, 2025, 11:33:41 pm
content: from the last* scope capture it seems to me the pull-up is too weak and it would be a first (IMHO) that an I²C bus can work RELIABLY without the pull-up resistors!Please post a scope capture/decode of a SINGLE byte at much higher time resolution.*) the resolution is too low, but it seems to me that the same problem happens even on the other captures you posted

author: robert.rozee
author_rank: Frequent Contributor
timestamp: January 27, 2025, 11:35:14 pm
content: Quote from: Miti on January 27, 2025, 06:20:47 pmit is a quick and simple test that eliminates one branch of inquiry.cheers,rob :-)

author: Miti
author_rank: Super Contributor
timestamp: January 28, 2025, 04:12:12 am
content: No, it's not a first, actually other than the short collision when the last bit is 1, the implementation is ok.I can post a better resolution screen shot but picture DS1Z_QuickPrint21 shows very clear what happens before, after and during the acknowledge.Let me explain:1. It is the falling edge of clock pulse #8 when the slave pulls SDA low to acknowledge the previous byte. However, the MCU SDA output is still a push-pull pulling up, hence the collision. Not ideal but it does not cause any data corruption. It doesn't happen if the last bit is 02. The MCU switches the SDA pin from push-pull output to digital input to read the ACK and the collision ends.3. It is the falling edge of ACK pulse #9 and the slave releases the SDA. The SDA pin from the MCU is still digital input with weak pull-up enabled, that's why it is slow to go high but nothing happens at that time so it doesn't matter.4. The MCU SDA pin switches from digital input to push-pull output again. See the strong pull to high (1) which was the last bit before ACK.5. MCU pulls the SDA pin to low, the first bit from the next byte.6. 7. The first two clocks from the next byte with SDA low.8. The third bit with SDA high.The CLK line also doesn't have a pull up resistor since it is push-pull as well. The CLK and SDA signal are as clean as before 1 and after 4 all the time. It works for Terra and for Xyphro so it must be good. The standard I2C architecture is for multi master, multi slave, etc. I hope it is clear now.

author: eliocor
author_rank: Unknown
timestamp: January 28, 2025, 10:50:48 am
content: To my knowledge, theI²C Standardtells something different:Quote

author: robert.rozee
author_rank: Frequent Contributor
timestamp: January 28, 2025, 12:18:44 pm
content: is the I2C being bit-banged by the processor?cheers,rob :-)

author: Miti
author_rank: Super Contributor
timestamp: January 28, 2025, 12:27:07 pm
content: Quote from: robert.rozee on January 28, 2025, 12:18:44 pmYes, how else? Atmega8 has only one proper I2C bus. If you want 12 you’ll have to “bang” them.

author: Miti
author_rank: Super Contributor
timestamp: January 28, 2025, 04:15:29 pm
content: I have an idea how to check if/ prove that the I2C is ok and the commands get to the OLEDs. There is an A5h (Entire Display ON) command which I will send, followed by a long delay. That should clear the HW question.

author: robert.rozee
author_rank: Frequent Contributor
timestamp: January 28, 2025, 04:37:41 pm
content: Quote from: Miti on January 28, 2025, 12:27:07 pmi'm sure it couldn't possibly be so simple, but... is theSCLline inverted?i'm assuming here that there is just the oneSCLline driving all 12 displays simultaneously.cheers,rob :-)

author: Miti
author_rank: Super Contributor
timestamp: January 29, 2025, 03:06:07 am
content: Ok, as expected, if I sendpari2c_writebyte_bc(0xa5);right beforepari2c_stop();in theoled.cssd1306_init()function, I get half screen on. If I also change the offset to 0x30, the entire display turns on. That means that the I2C goes through. Can anybody with experience in displays figure out what is happening or I need to study the CH1115 datasheet and try to understand how to address the memory? Why doesn't it work the same as for Xyphro or TERRA? Does it need all 12 OLEDs, otherwise it detects missing ACK?Why am I special? My mom told me, my wife tells me that I'm special... and now LCSC? I need a hug...Edit: @ TERRA Operative, this is a good way to illuminate all the display to check the maximum current.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 04:29:12 am
content: It's the stupid OLED! I've connected another type and it shows something. It is mirrored and shifted but at least I get something. Now I have to figure out how to change the program to match the hardware.And considering how shitty the data sheet for CH1115 is... good luck!I wonder how many different 0.87" OLEDs are there and how in the world TERRA's panel, from the same source as mine, works with Xyphro's code and mine doesn't?Also, if you buy from Aliexpress, how can you figure out the hardware connections? I don't see a datasheet. Trial and error ad nauseam?

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 03, 2025, 05:33:27 am
content: These are the exact displays I bought:https://www.aliexpress.com/item/1005006718368237.htmlI bought 125 of them and they all arrived fine. I haven't used them all, but the 3 or 4 displays I've made have all worked ok.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 05:46:03 am
content: Quote from: TERRA Operative on February 03, 2025, 05:33:27 amOk, that explains it. They look alike but they are not. Why would you put in the BOM an LCSC part number when you used an AliExpress one?

author: Kean
author_rank: Unknown
timestamp: February 03, 2025, 06:05:46 am
content: These are the ones I bought (60 pcs). Photo of the back of one is attached.https://www.aliexpress.com/item/1005005770683719.htmlThe FPC specifically says "LT1316P02C JY" (so likely SSD1316) which you can almost make out in the listing photo, but the listing has the text on the back of the glass blurred out.I will try assemble a PCB tonight and report back. These have been on my to-do list for far too long.Unfortunately it is always risky to put a Chinese source on the BOM, but LCSC are generally pretty good. I didn't even see a mention of that part until you mentioned it.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 12:04:04 pm
content: Quote from: Kean on February 03, 2025, 06:05:46 amI bought 25 pcs that I can’t return so first I will try the initi code recommended in the datasheet instead of buying new ones and writing off 48$. The initial project was coded for SSD1306, my OLEDs use CH1115. However, even with the same driver, different manufacturers may connect the OLEDs panel differently.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 01:41:22 pm
content: A little progress, I've tried the init sequence in the OLED manual and even though it needs more work, the current with all display fully on went down from 260mA, and most of it through 3.3V regulatorwhich was burning hot pretty fast, to 121mA. The explanation is that the POR status of the charge pump is internal and the command to disable it is different between chips, so the internal charge pump was sucking from 3.3V like crazy. Now both my regulators are cool and comfy.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 03, 2025, 03:20:40 pm
content: Quote from: Miti on February 03, 2025, 05:46:03 amI was planning to use the LCSC ones, but they didn't have enough in stock, so I randomly bought the Aliexpress ones which turned out to be the right type by coincidence.

author: Kean
author_rank: Unknown
timestamp: February 03, 2025, 03:24:24 pm
content: Well, it looks like I am seeing the same random pattern on the OLEDs as Miti showed.Voltages look OK, but current draw seems high as Miti mentioned.Still diagnosing... but going to bed very soon.

author: Kean
author_rank: Unknown
timestamp: February 03, 2025, 04:13:41 pm
content: OK, I fixed it. It was the fuses.After changing them as shown in the attached image, the 2 displays I had connected showed some beautiful digits.I originally just flashed the hex file called HP3457Oled_HP3478_ICONS.hex - and then tried adjusting some fuses suitable for 8MHz and 3.3V, but didn't have any luck.Opening the project in Atmel Studio (I have 7.0 installed), I noticed it started in the Debug configuration. Compiling failed with an error that F_CPU wasn't defined.I then changed to Release configuration where F_CPU was defined to 8000000 (under Project Properties, Toolchain, C Compiler, Symbols).Building the Release config worked without error, and I then flashed the ATmega8L on my board using the generated elf file.I then didn't seen any random dots on the display on power up, and after plugging into the 3478A display cable it worked.Miti, maybe this will work for you too. Let me know if you need any tips, but I'll be offline for at least 8 hours.Edit: Updated image with new fuse values of DE A4 per Miti's comments.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 04:45:38 pm
content: I don’t think so, you have the fuses at C6 A4, I have D9 A4. The difference is you preserve EEPROM and COPT. Not important in this case.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 04:59:17 pm
content: Quote from: TERRA Operative on February 03, 2025, 03:20:40 pmNo blame game here, we learn as we go. Lesson learned here is, not all oleds are the same. I try to provide accurate, tested info. In my business in manufacturing, even if we change the manufacturer of a resistor or capacitor, it MUST be approved by the customer.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 03, 2025, 05:14:11 pm
content: Yeah, I assumed they would be the same too, hence specifying one type then randomly choosing another which just so happened to work in my favour..I added to my notes that the OLED needs to have the SSD1316 controller chip.Once I get to finishing the next design revision (I have some ideas to make aligning and soldering the OLEDs easier), I'll have a revised BOM and instructions to ensure the correct OLEDs are used.

author: Kean
author_rank: Unknown
timestamp: February 03, 2025, 05:49:35 pm
content: Quote from: Miti on February 03, 2025, 04:45:38 pmOK, good point. Ideally CKOPT shouldn't be enabled when unit internal oscillator. Oh well, I was hoping that was your problem. Keep us updated on your progress.I finished assembly and testing of two competed display units and updated myfuses to DE A4. I still need to mount them inside DMMs.Soldering the OLED displays was quite easy using a wide soldering tip on my JBC, but they are not quite perfectly aligned (or stuck down). I still have a bunch of PCBs, so I will be making up some more soon for my four x 3478A and one 3468A, and working out a better alignment method for the displays.

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 06:24:03 pm
content: Quote from: Kean on February 03, 2025, 03:24:24 pmQuote from: Kean on February 03, 2025, 05:49:35 pmOh how relative that combination of wordsvery soonis!

author: Miti
author_rank: Super Contributor
timestamp: February 03, 2025, 06:32:54 pm
content: Quote from: TERRA Operative on February 03, 2025, 05:14:11 pmThat may not be enough. As I mentioned before, even the same controller can be connected differently. Different SEG order, COM order, etc. Better recommend the exact supplier that you used.

author: Miti
author_rank: Super Contributor
timestamp: February 04, 2025, 04:46:24 am
content: I can almost see it. I connected 3v to the input of the meter, it shows +3.00056 VDC. Can you see it partially in the middle-left of the screen? Each character is mirrored.Anyway, I'll have to take a scientific approach, I can't try random things and expect to work.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 07:07:41 pm
content: I limit with an ssd command the y coordinates to just a limited area. You dont do this, so all the characters get written to a single column. In gym right now, but can later look which command you have to send.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 07:14:52 pm
content: Had a quick check:You need to port the ssd1306_set_region command to your controllers equivalent. Then it will work. 100% confident.Potential mirroring is a 2nd level problem we can look into

author: Miti
author_rank: Super Contributor
timestamp: February 04, 2025, 08:18:42 pm
content: Thanks for jumping in Kai!Yes, I was thinking about that set region that may need to be changed. “Half mouth” only if I knew what to change it to… ahem ahem, ok, I’ll take a look tonight when I get home.Edit: Aah, I see what you mean. That stripe that displays something is one page?

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 08:29:41 pm
content: Exactly, you see nearly the full display content, but it is just writen to a single column.I could integrate your code with a compiler diversity option into the github repo in case you want to contribute it back.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 08:44:53 pm
content: Give me a few minutes, I am on it!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 09:10:30 pm
content: I afraid that there is no equivalent, but please have a look too. I use the commands 21h and 22h from SSD1306 to limit the region of display which is written. Both in X, but also in Y direction. This is done with the command ssd1306_set_region.What the datasheets calls column translates for this project to Y-direction btw. So the direction which has 128 different coordinate values...What I do on SSD1306 is to limit the region and write the full character data in one go. Because the region is limited, the counter automatically wraps to the next first X-coordinate and it continues writing the rest there... Basically the wrapping during writes is done not at Y values of 127, but the ones we set in the y2 parameter...So what needs to be done for CH1115 display is to set the write pointer 4 times during display update using the set page address command and the column address to y1 location.So this logic here:// handle repeat counterdo{pari2c_writebyte();val0--;} while ((val0 & 0xf) < 15);Has to be splitted up into 4 pieces writing the same amount of data into the 4 pages of the display and before writing each new page we need to set the page address and the column address to the right value.Now... some "smartass" (blame me!) has done a lot of nice tricks to make the code memory efficient and applying RLE compression techniques and similar things making the code hard to understand. SORRY for that, but well, it helped making that thing possible...I have to think how to do this in the most efficient way without causing a big mess in the code.I hope my words are a bit understandable. Typically a whiteboard discussion would be required to explain such stuff properly :-)Edit:But let me still try to explain the code a bit.The function oled_repaint_digits is the function which actually writes display data to the screen.You see it calls the set_region command which defines which x (=page address) and y coordinates (columns) shall be written when data is written.Then the magic begins. I pregenerated tables which cross reference to each other, you don't need to understand that exactly to get it working.BUT what is important for you to know is that each call to pari2c_writebyte does write 8 bit wide pixeldata to the display and then the display automatically increments the column address for the next data to be written.So you'll need to put a counter in there which detects when the last byte of a column is written and once that happened, send a pari2c_stop(), start a new i2c transaction with pari2c_start(), send slave address, ... and then a command to step over to the next page address and the column again... And then write again a bunch of display data.I think it is no big issue doing this, but it is difficult for me to do this without having that display.Btw: nowadays rp2040 with its PIO would be my candidate of choice. You can easily make the 12 i2c busses operate in parallel with PIO, have plenty of memory and also CPU power to avoid some of the memory and cycle saving tweaks.Last edit (promissed!): can check tomorrow if I can draft the suggested changes for you to try out but best would be if you can share your chabged code with me to use it as baseline.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 04, 2025, 09:38:14 pm
content: Hi Terra-san,Is your project somewhere on github? Would like to link to it from my github readme.md.Best regards,Kai

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 05, 2025, 03:35:52 am
content: I haven't uploaded anything to github yet as I haven't yet finished the mechanical side of my version of the design, I'm not happy enough with it yet to officially release it.I still haven't figured out how to use Github properly beyond a simple upload, but I plan to upload it 'sometime soon'.I want to figure out how to make a testing firmware that simply illuminates all digit segments and annunciators permanently while power is applied so I can optimise the power supply side of things.Also, I noticed that when performing a self test with a 3478A, none of the annunciators illuminate and those that are already illuminated (such as  etc) get stuck on after the self test until you 'cycle' them.The operation on a 3457A is perfect though. I haven't tried it on a 3468A yet, but I can do without tooo much trouble.I'll have to find some time to learn coding (it'll never happen) to see what's up..

author: Miti
author_rank: Super Contributor
timestamp: February 05, 2025, 04:04:13 am
content: Quote from: Xyphro on February 04, 2025, 09:10:30 pmHere it is. The only difference is the init code as recommended by the oled manual.

author: Miti
author_rank: Super Contributor
timestamp: February 05, 2025, 04:13:22 am
content: Quote from: TERRA Operative on February 05, 2025, 03:35:52 amHi TERRA,Please try this hex.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2025, 05:17:35 am
content: Thanks, as I dont have that display here it still helps cause I know that init already works in that code and can project other command sequences from your init code.

author: Kean
author_rank: Unknown
timestamp: February 05, 2025, 02:32:55 pm
content: Quote from: Miti on February 05, 2025, 04:13:22 amNot Terra but I tried this on one of mine and got 12 all white displays, with some flickering like they were being constantly rewritten.Powered from the UNREG supply on my 3478A which measured 13.44V, I see 13mA with normal digits and 60mA with full white display. So that is approx 175mW and 800mW respectively.Edit: Oh, I should mention that I am using the Xyphro PCB layout but with LMR54406DBVR switchers with 10uH for 3.3V rail, and 22uH for 7.5V rail.

author: Miti
author_rank: Super Contributor
timestamp: February 05, 2025, 03:30:21 pm
content: I wonder why the flickering. Is the data input from the meter connected? Can you disconnect it? It shouldn’t matter though because it should ignore the RAM content in this state.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 05, 2025, 04:04:27 pm
content: Using that test firmware, I get all white displays with no flickering. Seems to work fine for me. Thanks! This will be useful.Is it possible and/or easy make a firmware with just all the characters and annunciators on instead of the entire panels?FWIW, my OLED's have the following written on the back:L2832TSWVP2413077-11-A***The last 3 characters on the second line is different for all displays, so I guess that line is a date/serial code.

author: Miti
author_rank: Super Contributor
timestamp: February 05, 2025, 04:10:47 pm
content: Quote from: TERRA Operative on February 05, 2025, 04:04:27 pmYou should get that by pressing SHIFT -> RESET and holding reset key, with the normal firmware.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 05, 2025, 05:19:16 pm
content: The current firmware doesn't show the annunciators in the 3468A or 3478A during reset (only the 3457A), and it would be handy to have it able to be tested without having a multimeter disgorged on my bench...I took some measurements on the 8VDC and 3.3VDC rails.With all pixels illuminated, I get the following results:All on:8VDCMax:197mAAvg:195mA3.3VDCMax:15.2mAAvg:15.1mASo it looks like these OLED's draw about 16.5mA on the 8VDC rail per panel with all pixels illuminated.Free running and holding the reset button in a 3457A I get the following results:Running:8VDCMax:46.2mAAvg:23.2mA3.3VDCMax:25.0mAAvg:15.3mAReset Held:8VDCMax:72mAAvg:57.5mA3.3VDCMax:15.3mAAvg:15.1mASo the max current we will see on the 8VDC rail is about 6mA per panel.The extra current on the 3.3VDC rail when free running will be the micro and OLED logic switching and working away.To be safe, I'd be inclined to provide at least 100mA on the 8VDC rail, and 50mA on the 3.3VDC rail to make sure we give the micro enough juice on boot. There is a veeerryy quick spike at first power on, but it's probably just decoupling caps etc charging up and the like.Next step for my design is to optimise the buck converters a bit for that current draw. See if I can improve efficiency and stuff.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 05, 2025, 05:27:19 pm
content: Hi Miti,please try out this one... No guarantee though :-)You can make a diff to spot what is modified, I think the intention on how it should work should be well readable.Best regards,Kai

author: Miti
author_rank: Super Contributor
timestamp: February 05, 2025, 11:46:20 pm
content: Quote from: Xyphro on February 05, 2025, 05:27:19 pmNope, not yet, please see attached.

author: Miti
author_rank: Super Contributor
timestamp: February 06, 2025, 03:30:25 am
content: I'm not sure if it helps but I played a bit with theoled_clear()function and I changedpari2c_writebyte_bc(0x00); topari2c_writebyte_bc(0xd5);just to see where it writes. I've also changed the number of iterations fromfor (uint8_t i=0; i<128; i++)tofor (uint8_t i=0; i<2; i++)to see what happens. The conclusion is that it does not increment the page, it always increment the segment number. Please see below.Code:void oled_clear(void){//ssd1306_set_region(0, 3, 0, 127);ch1115_set_location(0, 0);pari2c_start();pari2c_writebyte_bc(OLED_SLADDR);pari2c_writebyte_bc(0x40);for (uint8_t i=0; i<128; i++){pari2c_writebyte_bc(0xd5);pari2c_writebyte_bc(0xd5);pari2c_writebyte_bc(0xd5);pari2c_writebyte_bc(0xd5);}pari2c_stop();}Edit: The set_location function doesn’t work. No matter if I change x or y, nothing changes on the screen.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 06, 2025, 06:23:58 am
content: We have to take inspiration from this file.That one is made however for a different display resolution, but the same controller.

author: Kean
author_rank: Unknown
timestamp: February 06, 2025, 06:35:39 am
content: Quote from: Miti on February 05, 2025, 03:30:21 pmYes, it was connected to the meter. All reverted and packed away now though as the bench is now taken up with a client job. But Terra's response that he didn't see flickering is good.I am getting corrupt SELF TEST OK message at startup, as some others mentioned. Changing various fuse settings didn't help, so I suspect my alternate choice of switching PSU components (from stock) are a bit slow to start up. I might reduce the bulk capacitor as the ones I had in stock are a bit large in size (Wurth E case 100uF 35V).Quote from: TERRA Operative on February 05, 2025, 04:04:27 pmThis is the same as the 60 pcs I bought.Interesting that you saw nearly 200mA draw on the 8V supply with all pixels lit on 12 displays. That is about 1.6W, when I only measured 800mW when using the 13V unregulated input...

author: Xyphro
author_rank: Regular Contributor
timestamp: February 06, 2025, 08:28:50 am
content: Hi Miti,I found out that the CH1115 seems to require that you send always 0x80 before a command. This was not done correctly, thus the function could not have worked properly indeed as you reported.That part is fixed in the attached one. I also adjusted the oled_clear based on the fact that the increment at the end of one page to the next page seems not to happen as it does for SSD1336 displays.So you should see some changes now.I did not adjust the touch sequence in the oled.c, But (and a big one):I think your init code is not taking care of that 0x80 value. I'd suggest to look into the .txt file I shared in my previous post and see if you can take that init sequence and adjust it to your resolution.Crossing fingers,Kai

author: Miti
author_rank: Super Contributor
timestamp: February 06, 2025, 01:27:42 pm
content: Nope, the same page over and over again. I modified the init sequence as well with control byte before every command, nope. I think this chip is a POS that is advertised as compatible with SSD1306, but is not, and is not properly documented. I may cut my losses, and save your time, and buy whatever Kean bought.Before that, I may try some of the functions in that .txt file, just to see if I can get it to show anything.Cheers,MitiEdit: I'm not sure about that 0x80 control byte before every command. If you look in the oled data sheet from LCSC, there's a sample code that doesn't have that. It may be just the wrong understanding of the programmer who wrote that code. But, there are differences between his init sequence and mine, I'll compare tonight.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 06, 2025, 04:41:48 pm
content: Hmm, the lcsc datasheet does also not state that it's a ch1115 controller.But yeah, I think also best is to just buy the right display.Did you spot criterias to detect that "bad" display?

author: Miti
author_rank: Super Contributor
timestamp: February 06, 2025, 05:02:53 pm
content: Quote from: Xyphro on February 06, 2025, 04:41:48 pmYes it does, page 5, by the drawings, bottom right corner, page12 top of the page.I don’t think they are defective, it’s just hard to understand how to control them.

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 02:01:05 am
content: Am I an engineer or what?Edit: A big "Thank you" to Xyphro, he coded the new functions, I just corrected one thing that was missing and adjusted the init sequence.

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 03:49:23 am
content: Mirroring the characters wasn't too hard but the annunciators are displayed vertically and every time an annunciator is displayed, it starts scrolling.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 06:18:56 am
content: Wow great, you got into the 5 minutes of dopamine rush after x hours of hard engineering work, that we engineers all love :-)Will check your code. It seems to get a scroll command somehow.Update: no scroll conmand, but also no mirroing. Just the oage adrresses have to be set.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 08:30:10 am
content: Check this file. I have put the same method in there for the annuciators as for the digits. It is based on the latest oled.c that you shared. I did not throw this thing through the compiler yet, so typos might be there.It seems that Display has 2 I2C addresses. 0x80 (which is 0x40 in 7-bit format) for sending commands and 0x3f for sending data? Don't get that full concept yet on how it differentiates between commands and data in i2c mode.

author: Kean
author_rank: Unknown
timestamp: February 07, 2025, 09:00:12 am
content: Quote from: Miti on February 07, 2025, 02:01:05 amYay, well done!

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 11:33:42 am
content: Quote from: Xyphro on February 07, 2025, 08:30:10 amThanks, I'll give it a try soon.Quote from: Xyphro on February 07, 2025, 08:30:10 amYes, A0, which in I2C mode is called SA0, is part of the slave address, same as SSD1306.BTW, it does not need 0x80 before each command. The sequence of commands from the data sheet works, with the slave address followed by one 0x00, and with with the correct parameters, of course.

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 12:06:59 pm
content: Ha ha, bull's-eye! Thanks Kai! I've also selected the correct annunciators.Two things I observed:1. It does not show the annunciators when pressing SHIFT -> RESET, as mentioned by TERRA.2. It does not clear the annunciators, at least SHIFT, after the reset. Is the reset a HW reset which this design cannot catch?Edit: And no more scrolling.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 12:17:47 pm
content: Are those 2 issues a general issue, or newly introduced by rhe changes?Just want to see where to put my search-scope!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 12:30:22 pm
content: Yes, the 0x80 is just the "command slave address". I did not interpret the .txt file correctly.So yes and no. It has to be sent, but not as data value, but as slave address at the end.Happy that it works now for you. Gives me also a small adrenaline kick, though a smaller one than experiencing it myself :-D

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 12:52:06 pm
content: Quote from: Xyphro on February 07, 2025, 12:17:47 pmI don't think they are new, at least not showing the annunciators after reset was seen before with the original code by other members.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 12:56:36 pm
content: I checked it once with my 3457a:https://youtu.be/VUZxWYohl38?si=Zg9qbPTjzVtnXP-2It turns all annuciators on and also clears shift.Could it be hp3458 specific?In case you have some logic analyzer capturing all signals like this would be grear:Precobdition: ensure the display does not continously change its content, e.g. select manual triggerStart capturing press shift then reset

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 02:05:02 pm
content: Sorry, no logic analizez on this side of the pond.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 02:06:15 pm
content: In case another user has one and also that issue, letme know :-)

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 02:41:15 pm
content: I could use the scope. It is SPI , isn’t it? Rigol can decode SPI.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 04:16:45 pm
content: It's not spi unfortunately. Capturing it with a scope might not be easy cause it cannot capture many muliple seconds at high samplerates :-(You can give it a try, maybe it works, but it can end up in frustrations. Exporting a waveform as csv or so would enable me to decode.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 04:52:17 pm
content: @Terra, do you maybe have a logic analyzer to capture a shift->reset sequence of your device by capturing all data lines with it?Just to understand why e.g. the shift annuciator does not clear.

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 05:52:57 pm
content: I suspect that, rather than updating the annunciators, there’s a special command that reset the front panel and you don’t have it in your list. However, the digits are updated.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 07, 2025, 05:58:05 pm
content: Me too, that's exactly why I look for a logic analyzer trace to get to know that cmd.My hp3547 seems to behave as expected and I did not see unhandled commands during development. It is very well possible that there is even a bigger set of commands which is missing for full compatibility.

author: Miti
author_rank: Super Contributor
timestamp: February 07, 2025, 11:58:01 pm
content: So what should I try to scope? CH1 Pin? U?, CH2 Pin? U?, etc.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 08, 2025, 03:42:20 am
content: Quote from: Xyphro on February 07, 2025, 04:52:17 pmI have a Siglent SDS2504X HD, but I haven't got the Logic Analyzer probes (or made any) for it yet. It is on the to-do list though. Maybe I can bump it up the list..

author: Miti
author_rank: Super Contributor
timestamp: February 08, 2025, 03:43:42 am
content: Almost finalized, and I like it! One thing that I'm still investigating is why does it take about 5mA per OLED on 3.3V when it should take a maximum 220uA. Is there an error in the schematic or in the configuration? With this current the 3.3V regulator goes a bit warmer than what I expected. Not good! I have a workaround for now, a 3.3V Zener diode in series with 13V.I installed it in the meter, temporarily, and re-positioned a bit the digits and annunciators to my liking. I also reduced the delays by half and the SELF TEST OK shows up every time. No issues with the special functions either. Overall a success, I would say!A big thumbs up to Kai for his initial design and the support with my spin.I need this weekend to polish a bit the code and the 3D design, which is a bit tight around the OLEDs and I don't want somebody to break an OLED and curse me, and I will post all the files here.Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 10:38:18 am
content: Thanks for feedback, Terra! Scopes are a bit limited when it comes to capture length. A Saleae, DreamView or FX2 basey analyzer with Pulseview would be best.Maybe over time somebody can do a capture, if it doesn't hurt you there's no urgency at all.@Miti: can do the code cleanup too. I'd actually like to integrate this display support into the baseline sw to have a solutions for non eevblog readers. Just let me know if you did additional edits. Seems the ssd1336 display fade out from the market...Will also put a there a link to point to new HW designs.

author: Kean
author_rank: Unknown
timestamp: February 08, 2025, 01:49:00 pm
content: @XyphroI was able to reproduce the issue mentioned with the annunciators on my 3478A. i.e. they don't show during display TEST (except SHIFT), and they don't turn off afterwards.I have made a capture for you using my Saleae Logic 8. See attached Session2.ZIP file for the capture and a text file describing connections and time markers. You should be able to open these files with the Logic software even if you don't have a Saleae device.In Session 1 I missed capturing the last bit after SELF TEST OK, so I re-did the capture.One thing I didn't expect was that the SYNC & O2 signal were identical - is that expected?Note in particular a vertical line flashes in second last display for a moment when we might expect the annunciators to get cleared - that may be relevant?I've left it hooked up, so let me know if you want me to clarify or recapture anything, although I probably wont be back in the office until after the weekend.Edit: Note in my text file I mention "REAR" annunciator instead of "S TRG". That is because I had the 3457A icons loaded, but when I changed it back to 3478A icons the behaviour didn't change.

author: Miti
author_rank: Super Contributor
timestamp: February 08, 2025, 03:20:12 pm
content: I've attached what I have now. Final sale, no money back, no returns. I will post the fab files soon.Edit: Added the Kicad design.

author: Miti
author_rank: Super Contributor
timestamp: February 08, 2025, 03:52:04 pm
content: I have an idea. The characters are a bit small to make room for the decimal point. Without decimal point, we gain 6 pixels horizontally, and to preserve the form factor, vertically. What if the decimal point is one or two pixels below the digit instead of beside it? Does it look bad? I'd try but I don't really know how to generate the graphics for the digits.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 05:32:42 pm
content: Thanks a lot, Kean! Will deeply analyze. Will need to write a new analyzer plugin for that display, but luckily saleae has an excellent SDK for that. Btw: I have a saleae too so no issue in using it.On the digits: I tried that during development and did not like the look. Can see if I can demo that somehow.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 05:36:13 pm
content: Maybe try to mimic it with Gimp once to see if you like it.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 06:22:04 pm
content: Hmm, the fact that SYNC matches the O2 signal is a bit irritating indeed.I cannot find any captures of my display anymore and need to compare.

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 07:22:27 pm
content: Here are saved captures of the HP3852a that uses 2 LCD displays . The clock seems to have variable frequency of 16kHz to 50khz. Could this be the issue?I have a Dream-source labs logic analyzer. the saves are in the DSView software - software is free. Additionally and saved as CSV as well.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 07:45:23 pm
content: Thanks Kawal!A varying clock frequency is normal, it varies also for my HP3547a. If you look at Keans traces, you do see it too.I suspect that there is an unknown command, which throws the decoding state machine out of sync.Unfortunately Keans trace does not contain the SYNC signal. I have made a python based decoder for the traces, but it won't work properly when the SYNC signal is not there :-(Will check your file now, Kawal!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 08:08:50 pm
content: I found an issue in the decoding statemachine and will work on fixing it. For Kawals case there is on top of that also a command send to select the display, which I am not interpreting and brings the decoding statemachine out of sync.Might take some days, but expect an update to come soon.

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 08:21:30 pm
content: I seems to have figured out the SPI decoder settingsI have the following sequence3F02E00E80A82F03203F02E00E80E80A82F03200E80E80A82F00E80E80E80E83F02E00E80E8Attached is Csv of the decoder out.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 09:03:00 pm
content: Here a decoding including data bytes of the analyzer 2 dsview file (I did not use your .csv, but exported a new one as the .csv and dsview file did not match in content).The data values are 8 bits width, the command values are 10 bitsCMD 0x3f0 @ 2.519000ms 0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,CMD 0x2e0 @ 5.141000ms 0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 6.495000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 9.979000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0a8 @ 13.464000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x2f0 @ 15.946000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x320 @ 18.679000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x3f0 @ 22.476000ms 0xf4,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,CMD 0x2e0 @ 25.098000ms 0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 26.453000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 29.936000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0a8 @ 33.421000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x2f0 @ 35.903000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x320 @ 38.637000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 42.605000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 46.088000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0a8 @ 49.573000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x2f0 @ 52.055000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 57.317000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 60.800000ms 0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0a8 @ 64.285000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x2f0 @ 66.767000ms 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 72.532000ms 0x80,0x80,0x80,0x80,0x50,0x4c,0x00,0x00,0x00,0x00,0x00,0x00,CMD 0x0e8 @ 76.015000ms 0x14,0x50,0x80,0x34,0x3c,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,Check around page 117 for some (hard to understand) command explanation:https://www.series80.org/Misc/ZenROM.pdfHere another nice find:https://github.com/mperovic/my41/blob/master/DisplayExtensions.swiftEdit #3: There are many commands which are not interpreted. Also commands to shift the display content. Your instrument does not send them, but for compatibility it will be good to implement them.Will have some coding fun during the next days :-D

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 10:00:27 pm
content: Here is the startup sequence of the HP3852AThe data for 5s is saved here:https://www.eevblog.com/forum/testgear/hp3548-hp3457-oled-display/?action=dlattach;attach=2497207Slow motion version

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 10:56:52 pm
content: Here is the 5s of data being analyzed in DSview with serial decoders. Display startup of HP 3852A .

author: Xyphro
author_rank: Regular Contributor
timestamp: February 08, 2025, 11:03:08 pm
content: :-) also already made a working decoder, busy with register to character decoding to prove the commands working as intended before implementing in C.Sorry, but I have to use you as Guinnea pig then to try it out, hope thats ok :-)

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 11:21:00 pm
content: I am happy to test the code . I have 2 of the HP3852A so one can be a test unit.Also just made a full startup recording in DSview- attached.

author: kawal
author_rank: Frequent Contributor
timestamp: February 08, 2025, 11:40:21 pm
content: Quote from: Xyphro on February 08, 2025, 09:03:00 pmNow this is clear why i got nothing on the displaysThe commands used to fill 6 of the 12 characters are not interpreted in the code.This is command 0E8 - Write register A and register B with 6 characters. But it also seems to rotate the data based on my41 information from github.// 0E8 SRLDAB WRAB6L SRLDABrotateDisplayRegisterLeft(&registers.A, times: 6)rotateDisplayRegisterLeft(&registers.B, times: 6)registers.A = cpu.reg.Cregisters.B = cpu.reg.Cregisters.A = cpu.reg.Cregisters.B = cpu.reg.Cregisters.A = cpu.reg.Cregisters.B = cpu.reg.Cregisters.A = cpu.reg.Cregisters.B = cpu.reg.Cregisters.A = cpu.reg.Cregisters.B = cpu.reg.Cregisters.A = cpu.reg.Cregisters.B = cpu.reg.CThe other new command is 2E0 not sure that one is as its not mentioned in the manual nor github.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 09, 2025, 07:19:42 am
content: I just remembered I have a Saleae compatible 8-input ebay logic analyzer, would that work for captures?I can take readings from 3457A, 3468A, and 3478A meters. I have a few PSU's here I can work with too if that would be helpful...Just let me know what connections and settings to use to match the captures already taken.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 09, 2025, 08:38:22 am
content: Hi Terra,that would be very nice.Ideal would be:CHANNEL 0 = IC2 PIN3 = INA^ISACHANNEL 1 = IC2 PIN4 = SYNCCHANNEL 2 = IC2 PIN5 = O2CHANNEL 3 = IC2 PIN6 = PWO+ one ground connection to e.g. pin 8 of IC21 MHz sampling rate is high enough.It would also be possible to capture INA and ISA independently and make a small adapter pinheader for easy insertion into multiple instrument.Getting a full power on sequence of each instrument would be ideal, then we spot other unhandled commands.I don't want to cause you a lot of additional work and opening your machines if not required. Maybe doing this whenever you open them anyway for other reasons is better.No need to hurry, I am very busy now anyway with the new input!Best regards,Kai

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 09, 2025, 08:51:37 am
content: No problems at all, give me a few days to get it all sorted out.I have the instruments here anyway, so opening stuff is no issue. I might make an adapter of some sort as you say to enable easy testing.

author: Kean
author_rank: Unknown
timestamp: February 09, 2025, 10:26:12 am
content: I'm sorry that something went wrong in my capture with the SYNC signal. It did look suspect, but everything else looked OK and it was nearing midnight.Not sure how that happened, as I just soldered 5 wires of a ribbon cable directly to side-by-side pins of the ISO7240 chip, the other ends with female header connections to go to the Saleae.I'll take a look and see if I can find the issue, as this is all pretty interesting. If I can help with any more captures from 3468A or 3478A let me know.Very interesting that there is shared tech between the HP41 tech and these DMMs. I guess there was some obvious shared specs like HP-IL in the 3468A, but I didn't know there was crossover between the calculator and test equipment teams at this lower level of display protocol/commands. The Logic Dart was kind of special in the sense it was test equipment that came from the calculator division.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 09, 2025, 12:42:04 pm
content: Maybe try to probe for continuity. Its a bit of miracle for me too, as the display should not work when the SYNC signal is incorrect.Likely those displays had high NRE costs and in that time engineers from different divisions seemed to have a good exchange. I like also how they avoided an oscillator in the display controller by utilizing the 2 clock lines.

author: kawal
author_rank: Frequent Contributor
timestamp: February 09, 2025, 03:20:40 pm
content: Quote from: Kean on February 09, 2025, 10:26:12 amIts cheaper for a company to reuse displays like this over the years. The display was universal and could do a lot of things to satisfy the needs of instruments and calculators. I think its amazing that they did this and it made sense for them. Keeps more money in the company.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 09, 2025, 03:44:21 pm
content: And easier for us to convert more of our gear to OLED!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 09, 2025, 04:53:34 pm
content: Indeed hopefully soon :-)I found some 2.25 inch IPS LCDs btw that would fit into the lcd section - 2 of them horizontally. This is tempting to do. Also to get a nicer Font and smaller gaps between the characters.

author: kawal
author_rank: Frequent Contributor
timestamp: February 09, 2025, 05:34:07 pm
content: Quote from: Xyphro on February 09, 2025, 04:53:34 pmThat would be amazing as the LCD is only $3 so overall BOM cost would be better. $6.5 for 2 of them shippedhttps://www.alibaba.com/product-detail/High-Resolution-2-25-Inch-Custom_1601320059283.html

author: Xyphro
author_rank: Regular Contributor
timestamp: February 09, 2025, 05:46:56 pm
content: I ordered already a bunch of them. Want to see first if the viewing angle supports putting them 180 degree rotated to each other. Would then use an rp2040 MCU... but let's first check feasibility.Another update: The Python decoder works on Kawals files and C implementation started. Stay tuned :-)

author: kawal
author_rank: Frequent Contributor
timestamp: February 09, 2025, 05:52:23 pm
content: Quote from: Xyphro on February 09, 2025, 05:46:56 pmAmazing. Thank you for the work.

author: Miti
author_rank: Super Contributor
timestamp: February 09, 2025, 09:40:04 pm
content: I've attached the Kicad files in reply #255.Cheers,Miti

author: kawal
author_rank: Frequent Contributor
timestamp: February 09, 2025, 10:59:41 pm
content: Progress on new decoding - there is text !!!!

author: Miti
author_rank: Super Contributor
timestamp: February 10, 2025, 03:33:27 am
content: Hi Kai,Can you please explain in few words how to use the Python converters? I expected they would create .c files but they don’t.What’s the input, output?Thanks!

author: kawal
author_rank: Frequent Contributor
timestamp: February 10, 2025, 04:17:38 am
content: MitiVery good work on the board and 3D files. I got slightly different spacing of the holes compared to you. Maybe we both should check.Maciej

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 10, 2025, 05:01:22 am
content: I noticed a certain amount of tolerance of where the screw holes were drilled in the faceplate when measuring across a few units, so I just made the holes in my PCB a bit bigger.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 10, 2025, 10:50:21 am
content: Deleted incorrect answer. Will update later

author: Xyphro
author_rank: Regular Contributor
timestamp: February 10, 2025, 10:53:35 am
content: Will send more updates during next days, happy that my additions show some letters now :-)Please check if you bumped the clock frequency to 8MHz, cause that explains missing text segments and slow oled update.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 10, 2025, 11:05:33 am
content: To update the 7 segment, change the file segmentsv2.gif.Things to care care of:- don't change the color pallete!- don't change the image size, otherwise you need to introduce code changesThe run:convert2C.pyafterwards do a print(s) or copy the generated code into the editor and overwrite the equivalent code in gfxelements.c.To update icons:Change any of the icon_xxxxx.gif filesrun convertIcons2C.py fileThis will automatically create a new .c and .h file and write it to ..\HP3457Oled\icons.c and ..\HP3457Oled\icons.hIt's possible that there are some flaws which I did not cover - it's quite a while ago I made this stuff :-) The python source shows the truth...

author: kawal
author_rank: Frequent Contributor
timestamp: February 10, 2025, 11:28:12 am
content: These are the fuses - might be wrong could not find my notes on what they should have beenhere was my previous fuse settings - seems to matchhttps://www.eevblog.com/forum/testgear/hp3548-hp3457-oled-display/msg5617549/#msg5617549

author: squadchannel
author_rank: Frequent Contributor
timestamp: February 10, 2025, 11:33:38 am
content: digress...."similar" LCD module installed in my 6051A Electric Load, BUT it is controlled by an MCS-51 (87C751) and a PCF8578T.it seems to be the exact same protocol, and it works when attached to a 3478A.if I can read the 87C751, might be able to find out something. Depends on the security bit. hmmm... I don't have programmer. I don't know assembler

author: Xyphro
author_rank: Regular Contributor
timestamp: February 10, 2025, 11:41:28 am
content: Yup, the fuses are correct. Then I need to hunt further!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 10, 2025, 11:44:46 am
content: On the display: You can create a logic analyzer trace of the data lines going to the display and then we can check for similarity.The HP3457a will also have an MCU on its board, maybe your display is an earlier version of it.MCS51 can be often read out with tweaks. In the old day there was seldomly protection enabled at all. I have an old HP supply where I could readout the 8051 variant and program an EEPROM based MCU to fix a broken GPIO of it. There was no readout protection at all.

author: kawal
author_rank: Frequent Contributor
timestamp: February 10, 2025, 12:25:48 pm
content: Quote from: Xyphro on February 10, 2025, 11:41:28 amFor future reference these are the programming fuses and the website i used to determine themHere is the Fuse calculator I used :8Mhz internal , 64ms startup delay, Brownout protection at 2.7V, SPI programing, boot flash 1024 words @ $0C00https://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega8&LOW=A4&HIGH=D9&LOCKBIT=FFProgrammer used was the TL866II Plus in ICSP mode and 6 pin cable I made.

author: Miti
author_rank: Super Contributor
timestamp: February 10, 2025, 02:58:49 pm
content: Quote from: kawal on February 10, 2025, 04:17:38 amInteresting, it fits perfectly my 3478A with aluminum frame, older model.I have two different displays and they seem to align pretty good with my plastic, see attached.You can modify the spacing if you need to as you have the FreeCad design files. If you don’t know how to use Freecad, let me know.

author: Miti
author_rank: Super Contributor
timestamp: February 11, 2025, 03:45:52 am
content: Quote from: Xyphro on February 10, 2025, 11:05:33 amWhere does the c code goes? I can’t find it to save my life.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 11, 2025, 06:03:01 am
content: Hi Miti,Just look at the python code. It goes directly into the C project if you did not change the directory structure.I wrote the location in the previous message:This will automatically create a new .c and .h file and write it to ..\HP3457Oled\icons.c and ..\HP3457Oled\icons.hEdit: It's a relative path, so it goes .. = one level up and then directly into tje HP3457Oled directory with icons.c and .h as filename. So directly where it has to end up.Edit2: this implicitely means that your current working directory has to be the one where the python scripts are located.Best regards,Kai

author: Xyphro
author_rank: Regular Contributor
timestamp: February 11, 2025, 06:19:05 am
content: Quote from: kawal on February 09, 2025, 10:59:41 pm@kawal: I'll make an FTDI or FX2 playback your recorded pattern streamed from PC, then I can debug faster and see why the display does not take some of the updates.Actually surprising that there is no off the shelf solution to playback recorded logic analyzer patterns for scenarios as we have it here, isn't it?

author: Miti
author_rank: Super Contributor
timestamp: February 11, 2025, 11:55:29 am
content: Quote from: Xyphro on February 11, 2025, 06:03:01 amIcons yes, the do go there, the digits code I can't find.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 11, 2025, 12:37:17 pm
content: I see, my local and github version varies.Uncomment the print(s) in the last line and you'll get the code printed for manual copy and paste.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 11, 2025, 04:25:27 pm
content: Quote from: Xyphro on February 11, 2025, 06:19:05 amUpdate: Streaming pattern generator made (based on FT2232H module + Python). Found then the issue very quickly in why the LCD was not working properly on Kawals HP3852A instrument and could fix it. Will now integrate the rest of the newly spotted HP LCD commands and then update the GitHub repository.In case I'll get a trace from HP3548, I can now also see quickly too why the 2 issues occur (e.g. shift annuciator not deleted). The recordings can be as long as required, also multiple seconds/minutes.https://youtu.be/jlces-Pgqd4

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 01:34:09 am
content: FW from XYphro is working excellent in my HP3852A.I did have a slight issue with the voltage dropping too much when 2 displays are connected. one display would work no problem but 2 displays would not work together. There is a 540ohm(270ohm on +5V and 270Ohm on GND) series resistor on the power lines going to the LCD on the HP3852A. I replaced one of them with 100 ohms and its working - probably best to replace both with 100 ohms or even less. Other units have 1K and might be best to lower them as well to get better immunity to the voltage drop.StartupScrolling across 2 screensscrolling across 1 screen 2nd screen displaying stationary messageKawal

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 01:52:49 am
content: During the testing I managed to measure the current for the 2 displays running off the same power source.Max current while displaying on 2 displays was 20mA @ 12.5V - using the switching regulator board version Average was a little less = 13mA. Max inrush was 112mA when first applying power.Most of the display was lit up as per picture. So overall 10mA per display @12.5V input or 125mW per display .Kawal

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 06:17:47 am
content: Yes, I was afraid of drawing too much current from a supply which was not dimensioned to deliver the additional mAs - that's why I picked a buck converter approach.Do I understand right that the 2 x 10mA average for you causing a too high voltage drop for your instrument?Thabks for the logic analyzer trace, which enabled me to test it here and the testing.There are 6 more commands to be implemented to have them all - other instruments might use them too. In total there are 16 commands to update tje characters, 3 were used by hp3457a, 1 more was missing for your instrument.Once done I'll update the github and post a message here.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 07:00:07 am
content: Ah, only got it now. You talk about the resistor on instrument side.HP3547a has R548 on the Main PCB supplying 5V to power the 5V side of the isolator. I had put a note for it on the PCBs back side.Now for your instrument it's a different situation with 2 Rs it seemsEdit: as Ko4bb.com has an issue and I don't have access to the service manual, do you remember the reference designstoes for those 2 resistors? Would like to put those too on the PCB silkscreen.

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 11:56:45 am
content: Hmmm, I wonder why my display takes more than 60mA, and most of it through the 3.3V line. I get it that I'm using linear regulators, but the power calculation does not add up. I can't see anything wrong with the schematic or the configuration. The schematic around the OLEDs is identical to Xyphro's, the only thing that I can think of in the configuration of the OLEDs is to disable the charge pump, which I did.I'll do some more measurements in the weekend to see exactly how much current goes through each supply line.

author: wkb
author_rank: Super Contributor
timestamp: February 13, 2025, 12:16:56 pm
content: Not too sure if the idea of switching regulators in a DMM is a good idead, noise-wise I mean?

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 12:39:00 pm
content: There are many instruments with switching regulators and that is not an issue. The analog sections are usually powered separately and isolated from the digital ground. These have multiple MCU's for sending the data . Even LCD based meters will have converters to drive the LEds or CFLs.I know that for the most part you try to avoid noisy power supplies but these are not connected to the analog sections.I think with such small currents there is no worry for EMI and if there is EMI it would be common mode which the meters excels at removing.Kawal

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 01:17:42 pm
content: Kai,What did you use to edit the digits .gif file? If I use Paint, any save adds some polka dots on the picture.Thanks,Miti

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 01:23:22 pm
content: Quote from: Xyphro on February 13, 2025, 07:00:07 amYes there are 2 Rs - one is on the +5V rail and one is on the Ground rail. These are 270 ohm each and the are designated R205 and R206 . I replaced one of them with 100 ohm from the ground side. The isolator chip current is definitely the issue as it is specified between 1mA and 3 mA quiescent current. Looking at the operating frequency of these displays below 100khz we can assume idle current and working current to be the same. That would create a voltage drop on the power rail for the ISO chip.. I guess I got lucky that it was not a problem for the other Meters or Power supplies that I installed the OLED. I think these instruments have 1k resistors.I would say that because of the operating spec we should keep the resistors low value - 220 ohms maybe max per display. That will limit any drop to 0.66V . I am guessing these offer some protection from plugging in the display backwards in the original design so we should probably respect that. But after deeper dive - if you connect the display cable backwards I see the +5V will go to a No connect and Ground will go to INA input. So in theory no damage would be done. My instrument also as a keyboard matrix with the same connector type - more likely the resistor is to protect from plugging in the keyboard into the display port . That could destroy the carbon pads on the keyboard - maybe something HP was trying to protect against? A 220 ohms resistor would allow a short circuit current of 23mA. A little high for carbon switch but will have to be OK.These might have had dual purpose - one a protection purpose - 2nd function RC low pass to prevent back feeding noise.Either way 100 ohms each in HP3852A will drop max 1.2V (0.4,,,1.2V) and seems to work just fine. I will measure tonight the actual voltage drop but chip to chip it a vary. So if you have issue with your display this might be the problem - too high dropper resistors on the power rails.Kawal

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 02:58:02 pm
content: Quote from: Miti on February 13, 2025, 01:17:42 pmHaha, "Polka dots" that made me laugh hard!I used GIMP

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 03:03:51 pm
content: Quote from: Miti on February 13, 2025, 11:56:45 amMy guess is different scenarios=display content. I doubt your regulators have a lot of quiescent current like the old ld1117's.Either way there are for both solutions (LDO and DCDC) good and bad effects (potential noise vs. heat/current figures) and it's more a matter of testing for impact or believe.

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 03:23:59 pm
content: Quote from: Miti on February 13, 2025, 11:56:45 amI think you are causing the current to flow because you connected 2 isolated grounds together. One is going via pin 4 on the display input with 1K protection resistor. The other ground you are just splicing into randomly. I think this is the issue. These grounds are likely at different potentials. That's why the original design had an isolator.These HP devices have many floating grounds. You could be lucky or not depending where you connect your power ground.After more careful review of your schematic it seems your design should not work at all. There is a short between Power and ground.PWR_ Flag is connected to Ground in your pdf and to +13V at the same time.Kawal

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 04:13:45 pm
content: Quote from: kawal on February 13, 2025, 03:23:59 pmHuh? There's only one ground in the digital section, and that is connected to pin 4 of the display connector and to the earth ground. I don't understand where I connect grounds together.I think I figured it out. I assembled two boards, and the second one is in line with your measurements, about 17-18mA at 13V, about 11mA going through 3.3V, and about 7mA through 8V.Now I'll have to see where is the difference in current going. Short, bad capacitor, regulator?

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 04:40:04 pm
content: Quote from: Miti on February 13, 2025, 04:13:45 pmLooks like i misunderstood the PWR-Flag - Power flag is not a connection it's a meta flag - clear . Additionally mixed up the power connections on the 3457A . I got so stuck fixing the HP3852A that i forgot the other units are not the same... The 3457 have a real ground on Pin 4 unlike the 3852A which has a 270 ohm resistor on pin 4.With the isolator design you can take the 13V and GND from any supply and even take AC . You are not limited to taking power from the same section. I figured you tapped into a section that is isolated from digital.

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 05:01:41 pm
content: Whoops, I touched the OLEDs controller area and one was a bit warm. I resoldered that module with flux and now the current is about 17mA.Cooool.... literally!

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 05:06:50 pm
content: I saw you posted a picture showing 85C. What is the temp now with the fix and zener?

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 05:14:31 pm
content: Quote from: Miti on February 13, 2025, 05:01:41 pmMistakes will happen - we just need to learn form them and not repeat too often. Glad you got it sorted.BTWThe zener will help to reduce the localized losses but not overall heat output. The heat output will be the same just speard over more things

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 05:20:53 pm
content: With 17mA average total power dissipation will be maybe around 220mW.

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 05:21:33 pm
content: Quote from: kawal on February 13, 2025, 05:14:31 pmI removed it, it's not necessary anymore. Both regulators are cool as a cucumber.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 05:34:50 pm
content: A cucumber in August timeframe in Tokyo or more Denmark? :-)Just joking. Very good results!

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 06:15:36 pm
content: Quote from: Xyphro on February 13, 2025, 05:34:50 pmMan, if you ever come to Toronto, we must have a beer.

author: kawal
author_rank: Frequent Contributor
timestamp: February 13, 2025, 06:56:07 pm
content: Quote from: Miti on February 13, 2025, 06:15:36 pmLet me know when that meeting is planned - I want to be invited as well. Love beer and travel via Toronto once in a while.Kawal

author: Miti
author_rank: Super Contributor
timestamp: February 13, 2025, 07:47:11 pm
content: Quote from: kawal on February 13, 2025, 06:56:07 pmAny time you come by, just send a PM.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 13, 2025, 08:19:28 pm
content: Canada is one of the few countries I have never been to & I love beer. I'll ping you once it happens :-))Interim update: All those 16 commands are implemented now and in testing phase!#define CMD_WRA12L (0x0a) /* = 0x0A x4 = 0x028 = write registers A for the 12 digits */#define CMD_WRB12L (0x1a) /* = 0x1A x4 = 0x068 = write registers B for the 12 digits */#define CMD_WRC12L (0x2a) /* = 0x2A x4 = 0x0A8 = write registers C for the 12 digits */#define CMD_WRAB6L (0x3a) /* = 0x3A x4 = 0x0E8 = shift left 6 digits and write registers AB for the 6 digits */#define CMD_WRABC4L (0x4a) /* = 0x4A x4 = 0x128 = shift left 4 digits and write registers ABC for the 4 digits */#define CMD_WRAB6R (0x5a) /* = 0x5A x4 = 0x168 = shift right 6 digits and write registers AB for the 6 digits */#define CMD_WRABC4R (0x6a) /* = 0x6A x4 = 0x1a8 = shift right 4 digits and write registers ABC for the 4 digits */#define CMD_WRA1L (0x7a) /* = 0x7A x4 = 0x1e8 = shift left 1 digit and write registers A for 1 digit */#define CMD_WRB1L (0x8a) /* = 0x8A x4 = 0x228 = shift left 1 digit and write registers B for 1 digit */#define CMD_WRC1L (0x9a) /* = 0x9A x4 = 0x268 = shift left 1 digit and write registers C for 1 digit */#define CMD_WRA1R (0xaa) /* = 0xAA x4 = 0x2a8 = shift right 1 digit and write registers A for 1 digit */#define CMD_WRB1R (0xba) /* = 0xBA x4 = 0x2e8 = shift right 1 digit and write registers B for 1 digit */#define CMD_WRAB1L (0xca) /* = 0xCA x4 = 0x328 = shift left 1 digit and write registers AB for 1 digit */#define CMD_WRAB1R (0xda) /* = 0xDA x4 = 0x368 = shift right 1 digit and write registers AB for 1 digit */#define CMD_WRABC1L (0xea) /* = 0xEA x4 = 0x3A8 = shift left 1 digit and write registers ABC for 1 digit */#define CMD_WRABC1R (0xfa) /* = 0xFA x4 = 0x3A8 = shift left 1 digit and write registers ABC for 1 digit */

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 14, 2025, 01:01:18 am
content: Tokyo is currently hovering around 10 degrees C, so nicely cool at the moment.I plan to shift the 3458A off my bench this weekend, so should hopefully have time to take a few captures with the logic analyzer on whatever LCD adorned equipment I have.

author: kawal
author_rank: Frequent Contributor
timestamp: February 14, 2025, 01:27:16 am
content: So i measured the actual voltage coming from the instrument via pin 4 and 8. To my surprise the total voltage was only 1.87 :palm:V!!!! At everything work at that voltage !I have 2 resistors that power the 2 displays - first on is 270ohm on the +5V rail and 100 ohm on the Ground rail for a total of 370 ohm series resistance. That means the 2 isolators are pulling 4.2mA each lets round it up to 5mA. That means an instrument with 1 display should use 100...120ohm resistor versus the current 1k and my 3852a Should use 50.....60 ohm total.HmmXyphro, Miti what is your recommendation here? short the resistors ? Change to 100 per display or just not worry about the 1.87V on the isolator?

author: Miti
author_rank: Super Contributor
timestamp: February 14, 2025, 01:50:15 am
content: I would need to see a schematic, my brain does not have an abstract mode.Edit: That was supposed to be a joke, not an acid comment.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 14, 2025, 04:28:02 am
content: My conclusion for hp3457a was: let's short it.Short explanation: when supplying the IC with a smaller voltage then the IOs will be loaded because of the ESD protection as we know. Don't think something will be destroyd, but it just not feels right.There are nowadays isolators with smaller current consumption available. For myself I'd like to keep that isolation concept (believe), but if both supplies come from the same ground and it's from digital side, then it should not be required. Just 4 series resistor can replace it too. Mittis load on 5V for the buffers will be extremly small.@Terra: Thanks a lot already in advance, that is very helpful! I've experienced Tokyo 2 times at ~37C and with 25C. The 25C was close to the end of Covid time with 0 tourists, quite calm and nice to walk outside. The 10C experience is still outstanding :-)

author: Xyphro
author_rank: Regular Contributor
timestamp: February 14, 2025, 08:58:22 pm
content: Done! All 16 commands are implemented and tested (testing went in 3 different ways...)Character functions Function tested successfully?028 WRA12L YES, my HP3457a068 WRB12L YES, my HP3457a0a8 WRC12L YES, my HP3457a0e8 WRAB6L YES, kawals trace128 WRABC4L YES, but not with HP instrument168 WRAB6R YES, but not with HP instrument1a8 WRABC4R YES, but not with HP instrument1e8 WRA1L YES, but not with HP instrument228 WRB1L YES, but not with HP instrument268 WRC1L YES, but not with HP instrument2a8 WRA1R YES, but not with HP instrument2e8 WRB1R YES, but not with HP instrument328 WRC1R YES, but not with HP instrument368 WRAB1R YES, but not with HP instrument3a8 WRABC1L YES, but not with HP instrument3e8 WRABC1R YES, but not with HP instrumentAttached a new .hex file (with HP3457A textual annuciators.I will put it on Github - maybe still today.Edit: I did put it on Github now. All 3 .HEX files are updated, sourcecode and README.MD includes a command overview.Edit2: for any new trace I'll get I'll try to refine/bugfix.

author: Miti
author_rank: Super Contributor
timestamp: February 15, 2025, 12:00:25 am
content: I'm trying to understand if there's anything new for 3478A in this new code, like displaying the annunciators at power up/reset, clearing shift after reset...

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 06:32:52 am
content: Nope, no need to update anything for HP3457a or 8.The code increases compatibiloty for other instruments like the one from Kawal.Edit: when we get a trace from the instrument We can see why the annuciators don't reset. Terra want to give it a try this weekend.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 15, 2025, 12:50:56 pm
content: I managed to take some captures just now of various instruments. Let me know if they make sense or if I should use different settings etc?I didn't bother with the 3457A as I assume there are enough captures of that one.Also, I used the latest .hex file in my 3478A and it seems I'm back to seeing all @ symbols instead of characters where it should say 'SELF TEST OK' on first boot.Somehow I was able to have it working to say 'SELF TEST OK' when I compiled the firmware myself using the old version, but I have no idea what I did to get it working....Any chance this could be checked?The reset function does work perfectly though, with all characters and annunciators illuminating and no stuck annunciators after the reset is finished, so that's all fixed nicely. Bad captures removed, see post 339 below...

author: Miti
author_rank: Super Contributor
timestamp: February 15, 2025, 12:57:11 pm
content: Reduce the delays in oled.c from 100 to 75 and from 200 to 150.Really, you have the annunctors at reset and no sticky SHIFT? Hmmm… Is it something related to my different controller?

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 01:30:04 pm
content: Thanks a lot Terra for your captures, this is exactly what I needed as I don't have any of those instruments.Will also check with it why you only see @@@ signs with the new firmware, this is of course not OK.Unfortunately the ISA line is not in the traces :-( Very sorry, this was surely a lot of effort to make! The ISA line does contain the command codes while INA contains the DATA.

author: Miti
author_rank: Super Contributor
timestamp: February 15, 2025, 01:40:18 pm
content: Quote from: Xyphro on February 15, 2025, 01:30:04 pmThat happens when the delays are too long. Once I reduced the delayed to what I said in my previous post, the "beautiful" SELF TEST OK shows up.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 01:45:50 pm
content: Hmm, even with long delays that should not happen. This points to some kind of race condition as root cause.But it saves me a lot of time kn debug to know how to make it work as startingpoint for the search. thx for sharing.Oh yes, now I understand. The delay itself is the race cobdition. While it waits for the oled to come out of reset, it already receives commands.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 15, 2025, 01:48:25 pm
content: Ah! I'll make a new set of captures with the ISA line too. Sorry!I have the instruments right here, so no big deal, give me 30 mins or so.I found reducing all the delays in the oled.c file to 40ms makes the SELF TEST OK show up properly on first boot.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 01:52:04 pm
content: Thank you so much Terra. I hope you did not close them all again. Should have made a list of signals :-(Will reduce the delay in SW. Even 10ms should be ok.UPDATE: fix is in Github now, source and all hex files are updated. I confirm that Mitis solution is good and explains the foudn behavior

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 15, 2025, 02:21:19 pm
content: No problems at all. Here's the corrected captures, let me know if they look good.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 02:59:37 pm
content: Thanks for capturing a second time, Terra! I checked 2 files and they contain now all information.Will check this evening how they behave and if I can extract a better understanding of some command codes.Btw: I have a HP66xx supply too, but it needs some repair. An ADC is broken among some other issues.

author: kawal
author_rank: Frequent Contributor
timestamp: February 15, 2025, 03:22:39 pm
content: Quote from: Miti on February 15, 2025, 12:00:25 amNot sure if this is your issue but make sure the brownout bits are programmed to 2.7V

author: kawal
author_rank: Frequent Contributor
timestamp: February 15, 2025, 03:23:54 pm
content: The 3852 uses an intel 8642 processor - is there any value extracting the code?

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 03:53:01 pm
content: I was also thinking if the main MCU CPU code would help - I mean the main MCU I can simply readout myself and I should somewhere even have the hp66xx rom dump which would be very easy to reveng...However only a display ROM code would show really all commands and how they are handled exactly. The main MCU will show mainly what we can also observe in traces.

author: kawal
author_rank: Frequent Contributor
timestamp: February 15, 2025, 04:25:06 pm
content: The MCu i am referencing is the keyboard/ lcd driver chip not main CPU the main is a MC68000. But there seems to be the issue that my reader cant read that MCS-48 type MCU

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 04:46:19 pm
content: I am a bit blind, cause ko4bb.com is partly down which is my main source for service manuals, but if this MCU drives the actual display panel would indeed be interesting.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 15, 2025, 05:24:48 pm
content: Please find attached the decoded versions of the captures in case you are curious.Good news is, that there are no new opcodes found.Some first interpretations:[HP 3478A Reset Sequence DECODING.txt]For the reset I see that the 0x2f0 command to update the annuciators is executed at timestamp @1.52096175 and all annuciators are set. At timestamp @3.265213083 they get reset (turned off) again.This is the only file which I for now tried out also on the actual display and I see it behaving correctly.This file contains no unexpected command codes.Will dive deeper into the files now. Thanks again for creating those!

author: kawal
author_rank: Frequent Contributor
timestamp: February 15, 2025, 07:52:15 pm
content: OLED loaded with original hex. Works great. I tapped into the fan supply for power but that supply is delayed versus 5V so I will need to find alternatives. Missing first few messages because of that .

author: Xyphro
author_rank: Regular Contributor
timestamp: February 16, 2025, 06:40:25 pm
content: BTW, I tried out the IPS displays to be used instead of the 12 OLED screens.I think the viewing angle will not allow them to be used. The display seems to be made to be viewed in vertical orientation.When looking from left side it gets better contrast, when looking from right side it gets weaker contrast. That means when they are placed at 180 degrees to each other, they will look quite different when not viewed directly from the front.

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 16, 2025, 10:23:45 pm
content: Hmmm. Do they make an OLED the size of the LCD's?

author: Miti
author_rank: Super Contributor
timestamp: February 17, 2025, 01:43:12 pm
content: Quote from: TERRA Operative on February 16, 2025, 10:23:45 pmI've searched far and wide and couldn't find one that fits.

author: kawal
author_rank: Frequent Contributor
timestamp: February 17, 2025, 03:30:08 pm
content: that is a shameWould have been more cost effective

author: Xyphro
author_rank: Regular Contributor
timestamp: February 17, 2025, 03:46:29 pm
content: Indeed a shame. Wanted specifically to see if we can make the gaps smaller. If anyone finds another display in future letme know!For now I think we have still form factor and readability wise the best option with the 12 smaller oleds.

author: Miti
author_rank: Super Contributor
timestamp: February 18, 2025, 02:34:39 pm
content: I wish I was smart enough to understand everything that was happening lately.In layman’s words, is there a solution for 3478A not showing annunciators after reset?Kai,Do you intend to incorporate the code for CH1115 in your code?Edit: In layman’s words, is there a solution for 3478A not showing annunciators and not clearing SHIFT after reset?Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: February 18, 2025, 08:46:37 pm
content: It's not about smartness, it is confusing indeed. Let's get it laid out into tracks:Thread#1: Yes I am working on integrating our CH1115 updates and will soon oush them to GitThread #2: Kawal uses an instrument where the display did not work. This triggered investigations on why. He made logic analyzer captures and that enabled us to spot the commands. To test it properly and not having to send him every day new untested firmware images I have built a HW+SW solution allowing to playback logic analyzer traces to my actual display. Due to that I could make faster steps and we managed to get Kawals HP device also working.Based on the traces and newly found information I spotted even more unimplemented commands which update the characters on the display and implemented them all (16 in total). This will not give improvementd in case the display works as is for you, but for not yet tested HP devices with same display the chance is improved that it will work off-the shelf.Thread #3: Terra was so kind to make captures of several instruments I don't have. This enabled me to see if there are more unimplemented commands to maximize compatibility. However there are none, which is goood.Thread #4: investigation on 3478A problem reports. I used Terras caoture of HP3478 and played it back. Annuciators appear and disapear during reset and shift annuciator deletes.This thread is thus not ressolved as it does for you obviously behave incorrect. Here it is very well possible that it is firmware version wise emitting different sequences and your simply dont work and the ones from Terra do. I know from my GPIB activity that there can be bigger differences for the same HP device in behavior. I don't know fully how to address your problems unless you say you have a logic analyzer, eg. Chinese saleae clone to do captures of all display input signals.Thread #5: i was checking also based on your input on display gaps if we could not use another display type to improve them and get wider characters. Right now the colon/period/semicolon parts of the display + its small width limit the size. So I found these 2.25inch display and checked if they are a feasible replacement and came to the conclusion: at least I would not be happy about it.Best regards,Kai

author: Xyphro
author_rank: Regular Contributor
timestamp: February 18, 2025, 08:48:04 pm
content: Sorry for typos. Tired+mobile phone typing... :-)

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 03:03:45 am
content: Quote from: Xyphro on February 18, 2025, 08:46:37 pmKai,Check replies #221, 222. TERRA was the one noticing that the annunciators are not displayed. If you have his 3478 capture, you should see that, if he captured a SHIFT -> RESET sequence. Unfortunately I don't have a logic analyzer but all the 3478 that I've seen behave the same. At power up they show SELF TEST OK and not showing annunciators, but after SHIFT -> RESET they display everything and then clear all the annunciators. One thing I've observed, not sure if it is relevant, after the reset sequence, the SHIFT annunciator is not cleared, but if I press SHIFT it does not clear either. It's like the instrument expects it to be clear and it re-send it to the display, then the second press clears it.Cheers.Miti

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 19, 2025, 05:01:16 am
content: Did you try the latest firmware yet? It works fine for my 3478A and I get all annunciators lit on reset and have no stuck shift or other annunciators.None of my instruments ever showed the annunciators during power-on tests.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 19, 2025, 06:16:04 am
content: Ok, I missed reading posts carefully. See, I confused myself by all the seperate tracks :-)I'll recheck annuciators this evening on all recordings and dig into it.Glad to see that at least the 3478a is 1/2 confirmed fixed.

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 11:39:52 am
content: Quote from: TERRA Operative on February 19, 2025, 05:01:16 amNo, I have not, but I will give it a try.Quote from: TERRA Operative on February 19, 2025, 05:01:16 amAnd that's exactly what I said, read my post again.

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 12:09:06 pm
content: Kai, TERRA,I can confirm that it's fixed.Genius, you fixed it without even knowing that you fixed it! It never happened to me.Big thumbs up and thanks!Cheers,Miti

author: Kean
author_rank: Unknown
timestamp: February 19, 2025, 12:29:08 pm
content: I can also confirm that the annunciators on 3478A self test are fixed for me as well.To fix the boot up self test message corruption, I had to reduce the two delays in oled_init() down to 40ms as suggested by Miti & TERRA, but also unplug both the Saleae Logic analyser and AVRISP.I also spotted a broken wire in my logic analyzer connection which would explain my earlier bad capture. So sorry about that.Well done all who helped out, but especially Xyphro!

author: Kean
author_rank: Unknown
timestamp: February 19, 2025, 12:41:02 pm
content: Hmm, but I've spotted some new unexpected behaviors.1) The self test function lights up all annunciators except SHIFT.2) After pressing the blue button the SHIFT annunciator only stays visible momentarily, but the shift state is still active. It is OK if ext trigger is selected and there are no display updates.Can another 3478A owner reproduce?Edit: And after another couple of power cycles switching back to LCD and again to OLED it is no longer doing this. Maybe some sequence of button presses I used got it in a weird mode. I will try reproduce, but it might have been a one off.Edit 2: I can reproduce by power cycling too fast. Less than about 3 second off will give me a blank display. Between 3 and about 7 seconds off will show the SHIFT annunciator issue. With 8 or more seconds off, all seems to be good. Not sure if this is the 3478A or the OLED mod, but it probably isn't going to be a big issue. Just something to be aware of.Edit 3: OK, I seem to have eliminated the problem for power cycles of at least 3 seconds by decreasing all of the delays in oled_init() and ssd1306_init() to 20ms. Enough for tonight.

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 01:01:40 pm
content: Quote from: Kean on February 19, 2025, 12:41:02 pmNope, I can't see that. For me it works as expected no matter how short the power cycle is, but of course we have different schematics.

author: Kean
author_rank: Unknown
timestamp: February 19, 2025, 01:07:50 pm
content: Quote from: Miti on February 19, 2025, 01:01:40 pmOK, thanks for checking.Yes, I am using Xyphros design with a switching regulator. And not the same as in the BOM from Xyphro, but one that is pin compatible and generally equivalent.So yeah, it must be related to startup delays. Much improved now though.Edit: and isolator IC

author: Xyphro
author_rank: Regular Contributor
timestamp: February 19, 2025, 01:59:59 pm
content: The other instruments in Terras traces also never turn all all annuciators. The 3478a trace does turn them all.Edit: sorry guys, got too late home to look more detailed into it today. Will do during next days.

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 03:43:10 pm
content: Quote from: Xyphro on February 17, 2025, 03:46:29 pmI have a crazy ideea! How about using bigger OLED panels, 128x64 for example, and overlapping them in an angle? They are only about 1.22mm thick, it wouldn’t be a big deal if they sit in an angle. This way the dead space between them would be about 1.5mm, the rest is all active area. With a 3D printed back that would be easy done.MitiEdit: Something like this.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 19, 2025, 09:14:58 pm
content: I had that thought on the 2.25 inch IPS LCDs. Those are also super thin. But did not further check it. This idea would solve the viewing angle issue.At the end It must simply be tried out. When a gray foil or so is on top of it it might not be visible at all.Can maybe try it out on the IPS displays as they still reside on my bench.

author: Miti
author_rank: Super Contributor
timestamp: February 19, 2025, 09:38:13 pm
content: Kai,I looked again at your LCD picture. I don’t think they are IPS. It is clearly written TFT. That’s the reason for narrow view angle.I wonder if true IPS exist in this size.

author: kawal
author_rank: Frequent Contributor
timestamp: February 19, 2025, 11:03:50 pm
content: Before we get too excited about the LCD we should check power usage. I bet the backlight uses a lot more current than the oled

author: Miti
author_rank: Super Contributor
timestamp: February 23, 2025, 06:50:44 pm
content: New 3D back uploaded, this time with alignment pins.Print in PLA, 0.12 mm.

author: Xyphro
author_rank: Regular Contributor
timestamp: February 25, 2025, 11:42:34 am
content: Short update: i catched a strong Flu and down with fever. Will update once I recovered.

author: kawal
author_rank: Frequent Contributor
timestamp: February 25, 2025, 01:38:43 pm
content: Take it easy for a few days. Get well soon.

author: Miti
author_rank: Super Contributor
timestamp: February 27, 2025, 10:38:55 pm
content: Quote from: Xyphro on February 25, 2025, 11:42:34 amHi Kai,Are you ok? Did you beat the beast? I hope you’re feeling better!Cheers,Miti

author: dl6lr
author_rank: Frequent Contributor
timestamp: February 28, 2025, 10:37:32 am
content: Short question: Is the same type of display used in-hp-437B too? At least it has some similarities. If there is a chance, I will try to make one and then I can add personality for the annunciators.Cheers, Bernd

author: TERRA Operative
author_rank: Super Contributor
timestamp: February 28, 2025, 11:12:07 am
content: Unfortunately no.It is the same form factor, but the communications is different.The data could be sniffed and there could be similarities that would allow for the adaption of the current designs to be used, with an appropriately designed adapter board for the LCD harness to plug in to.But it's not possible to just 'plug and play' the current OLED design into the 437B.I have one too and would like the upgrade, but I'm planning to sell it soon anyway.I can open it up and hook up my logic analyzer though if someone wants to do the software side.I'm happy to design an appropriate adapter board.

author: squadchannel
author_rank: Frequent Contributor
timestamp: February 28, 2025, 11:26:38 am
content: I found this image on ebay.It appears to be a PCF8578T based display.Not a big problem. It would be easy to do. datasheet is easy to get.

author: squadchannel
author_rank: Frequent Contributor
timestamp: February 28, 2025, 11:42:36 am
content: As a side note, the HP to Agilent era saw the introduction of new displays and front panel boards, as seen in the revision of the 66xxA system power supply.New display units and front panel boards were introduced.My theory is that the old ever-used "hp41C" series LCD controller ICs can no longer be manufactured (hp's semiconductor division must have been sold to another company around the same time).Instead, I replaced it with the 87C751+PCF8578T based controller I posted earlier(https://www.eevblog.com/forum/testgear/hp3548-hp3457-oled-display/msg5812953/#msg5812953), made by Optrex.The 87C751 is a bridge between the existing hp41C protocol and the PCF8578T I2C protocol.This type of LCD seems to be compatible with older LCDs from the hp era. I tested it on my 3478A.But the display used in the new 66xxA does not implement the 87C751 bridge, but connects directly to the PCF8578T I2C.Therefore, the LCD used in the new 66xxA is not compatible with other older display units. The only way to check is to disassemble and check the display.The PCF8578T is just an LCD controller IC. There is a datasheet available, so it should not be too difficult to analyze.All you need to do is to analyze the LCD segments.

author: dl6lr
author_rank: Frequent Contributor
timestamp: February 28, 2025, 12:45:21 pm
content: Ah, well, then this isn't a short term option. I have two 437B, both have good contrast but a self lit display would be superior to the reflective one.

author: kawal
author_rank: Frequent Contributor
timestamp: February 28, 2025, 02:42:58 pm
content: Not sure which HP 66XXA you are taking about but I have a few of the HP663XA and they all have the LCD that can be replaced with OLED.Attached is the HP 6634A I modified for OLED function.There are HP 6633XA that have VFD but I haven't looked at that. Maybe the LCD screen change was done at some late manufacturing date or do you suggest that all HP66XXA have the screen you mentioned ?

author: squadchannel
author_rank: Frequent Contributor
timestamp: February 28, 2025, 03:26:14 pm
content: does not mean that all 66xxAs are used new diplay. for Agilent/keithley production units or some those that have had the display or front panel board replaced.https://docs.keysight.com/kkbopen/what-s-the-issue-behind-rotary-encoder-replacement-for-the-66xxa-series-dc-power-supplies-798522892.htmlI believe it is not used on hp era ones. your 6634A is blue badged and i believe it is an early ones.

author: dl6lr
author_rank: Frequent Contributor
timestamp: February 28, 2025, 04:12:55 pm
content: Quote from: squadchannel on February 28, 2025, 11:42:36 amI checked the schematics of the 437B and it includes a processor (8x51 DIL-40) for keyboard and display that drives the clock and data line of the display. The display is connected with 7 lines, including 2 I2C adress bits (always 0), +5V, GND and analog display contrast. I think I will sniff the bus whenever I have the instrument open, one of it has a stuck meter. I will try to dump the MCS51 too.

author: squadchannel
author_rank: Frequent Contributor
timestamp: February 28, 2025, 05:20:41 pm
content: No, there is no need to do the research the mainboard.your 437B uses the display module in the image I posted, it used PCF8578T, which is not custom or special, it is a common lcd controller IC with datasheets available. the I2C commands are also in the datasheet.all you have to do is research the segment of used LCDs and run a program on your micro to emulate the PCF8578.

author: kawal
author_rank: Frequent Contributor
timestamp: March 01, 2025, 03:32:36 pm
content: Actually i might have a few of these displays in the larger 66xx supplies.

author: Miti
author_rank: Super Contributor
timestamp: March 01, 2025, 07:11:41 pm
content: For time nuts.About the internal RC oscillator. Without calibration, the internal RC oscillator runs below the desired 8MHz. Reading and applying the factory constant is not working either because they calibrate at 5V. I've added a calibration loop in the main.c that helps finding the correct constant. The code outputs a pulse with a 33% duty cycle, 2 clocks high, 4 clocks low (I'm not 100% sure but it looks that way). So if you adjust the OSCCAL register to get 8MHz / 6 (1.33MHz), your oscillator should be exactly 8MHz.Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: March 01, 2025, 09:26:20 pm
content: I am finally back on track. Still coughing a lot which is bad when soldering 0201 componentsas they keep flying away, but have luckily 2 weeks off and time to recover to 100% shape and hopefully get rid of that annyoing cough:-)I've just updated the sourcecode on Github to include CH1115 controllers.Will now read the new messages.

author: Xyphro
author_rank: Regular Contributor
timestamp: March 01, 2025, 09:50:03 pm
content: Right, those Philips i2c display controller based display should be easy to simulate too, especially if a MCU is used with i2c slave in it. A matter of sniffing, finding segment mapping (visually or experimental) and a bit of sw fun :-)

author: kawal
author_rank: Frequent Contributor
timestamp: March 01, 2025, 10:49:27 pm
content: Found this OLEDhttps://www.alibaba.com/product-detail/new-product-4-01-inch-192_10000011888658.html20x100mm active areaalooks perfect apart from price

author: kawal
author_rank: Frequent Contributor
timestamp: March 01, 2025, 11:12:09 pm
content: LCDhttps://en.tft-tft.com/product/1096-KD039WQFPN002-3.9-inch-480x128-ST7282A-RGB-interface-high-brightness-bar-display-IPS-LCD-module.htmlActive area 94x25mmA little too tall

author: kawal
author_rank: Frequent Contributor
timestamp: March 01, 2025, 11:20:40 pm
content: OLED Dsipayhttps://www.raystar-optronics.com/oled-graphic-display-module/REX025664D.html87.52 × 21.28 active area

author: kawal
author_rank: Frequent Contributor
timestamp: March 01, 2025, 11:37:19 pm
content: One more OLEDhttps://www.raystar-optronics.com/oled-graphic-display-module/200x16-oled.html123.95 × 11.15 active area

author: Xyphro
author_rank: Regular Contributor
timestamp: March 02, 2025, 07:41:24 am
content: The active area of the last one is excellent, but mechanically it won't fit :-(

author: kawal
author_rank: Frequent Contributor
timestamp: March 02, 2025, 02:22:03 pm
content: I'm curious if that PCB with the driver can be reduced? Might just be an interposer . Most likely the driver is a COB style so part of the PCB

author: Miti
author_rank: Super Contributor
timestamp: May 12, 2025, 06:36:46 pm
content: Hi Kai,I have two questions:1. Where in the code do I change the digit size?2. Does the conversion script work with bigger digit or is strictly made for the current one?Cheers,Miti

author: Miti
author_rank: Super Contributor
timestamp: May 13, 2025, 09:51:06 pm
content: I think I have the answer to the second question. Knowing Python just enough to be dangerous, I can see that it auto detects the picture size.

author: Miti
author_rank: Super Contributor
timestamp: May 23, 2025, 12:48:32 am
content: Here's what I'm working on. A modified version of Kai's design with 128x64 OLED modules instead of 128x32, partially overlapping. I get 128x48 pixels active area with a dead space of about 1.6mm between the modules active areas. The digit size that I want to try is 48x75 pixels and it is a bit bigger than the original LCD but the LCD has a lot of dead space top and bottom. The fact that modules seat in an angle is barely visible, the tilt angle being less than 8 degrees.I'm using the same PCB with the same 3D plastic, slightly modified for the angled modules.I've only soldered one module for testing so far because I'm missing some capacitors. The OLEDs respond to SSD1306 code.With Kai's help this is what I need to do:1. Convert the new digit graphics to bytes.2. Modify the C code to display the bigger digit.3. Shift the digit and the annunciators to the right side of the display to align to the right edge instead of the left edge.4. If #1 to 3 are satisfactory, generate bigger annunciators.

author: Xyphro
author_rank: Regular Contributor
timestamp: May 23, 2025, 08:00:45 pm
content: Hi Miti,for the python script the change should be simple - see attached file. Will send a C code update too in a few minutes.BR,KaiUpdate:rename all files with .txt attachment to.pyYou'll need to regenerate also the Annuciators and use 48 pixel wide .gif filesThe C code has 2 new #defines to set column count to 6 for your display (6*8=48)or 4 for the original and the height of the digit - do a diff e.g. with winmerge to spot it easily.No guarantee - did not even run the compiler or python interpreter once to test it, but it SHOULD work (famous last words, I know :-D)

author: Miti
author_rank: Super Contributor
timestamp: May 24, 2025, 12:46:42 am
content: Thank you Kai, excellent work! Almost there.Two more things:1. It still displays on the left side 32 pixels only.2. How do I shift the digit to the right? I need it all the way to the right because the left side is covered.Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: May 24, 2025, 08:03:17 am
content: Can u share the displays datasheet?

author: Miti
author_rank: Super Contributor
timestamp: May 24, 2025, 10:25:50 am
content: Quote from: Xyphro on May 24, 2025, 08:03:17 amUnfortunately I couldn’t find the OLED data sheet but they say the driver is SSD1312. This is the display:https://a.aliexpress.com/_m0QvSK7

author: Xyphro
author_rank: Regular Contributor
timestamp: May 26, 2025, 06:05:33 am
content: I suspect the display init might cause the 2 columns not to work. Need to find some time to study.Just to be sure: Did you regenerate icons and digits with the python script?

author: Xyphro
author_rank: Regular Contributor
timestamp: May 26, 2025, 06:09:05 am
content: I saw you did, ignore the question :-)

author: Miti
author_rank: Super Contributor
timestamp: May 26, 2025, 10:08:38 am
content: Quote from: Xyphro on May 26, 2025, 06:09:05 amI regenerated the digits only. BTW, how did you create the graphics for the icons? What font, or is it all manual?

author: Miti
author_rank: Super Contributor
timestamp: May 26, 2025, 10:47:23 pm
content: I think it is the multiplex ratio that needs to be changed. I will play with different ratios tonight when I get home.Edit: I have some progress after modifying the multiplex ratio from 0x1F to 0x3F but I see other issues now. The two dots are missing, even after reset, they simply never show up. Instead of a decimal point I see a comma. Also there's the strip that doesn't clear on the right side.

author: Miti
author_rank: Super Contributor
timestamp: May 28, 2025, 02:46:03 am
content: Quite some progress tonight, I reduced the multiplex ratio from 64 to 48, which is the width of the digit, and shifted it. I was afraid that having more data to send would impact the update speed and it does, but I pushed the OSCCAL to 0xFF and seems to work well. Few issues I see:1. Looking in an angle from the right, the digit has a reflection onto the edge of the next panel to the left, so I may need to coat the right edge with a matte paint.2. Looking from the left from a wide angle, panel covers the left side of the digit to the right. I may need to reduce the horizontal size by a couple of pixels to improve the viewing angle.3. The dots and the comma are messed up, either during conversion or at display. The LCD shows what should be. I'll need some expert help with this.Cheers,Miti

author: Kean
author_rank: Unknown
timestamp: May 29, 2025, 08:13:45 am
content: Great work Miti, but I am not redoing mine now ... even if they are not quite finished.

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 08:52:39 am
content: Did the icons all manual due to small size. I used Gimp to do all graphics - setting pixel by pixel.Good progress. Curious how the overall look will be at the end.Btw: Anybody has good tipps on where to shop for electronic components in Tokyo (Akihabara seems dead for this stuff)? Ok, the question is a bit out of context :-)

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 09:25:30 am
content: On the messed up kommas: check if the palette index for the komma segments is the same as it was for the original graphics.If sharing your gfx files we can check.

author: Miti
author_rank: Super Contributor
timestamp: June 01, 2025, 09:39:50 am
content: Quote from: Xyphro on June 01, 2025, 08:52:39 amThanks, Kai, that's what I thought.It looks something like this. Initially I just scaled your digit but then I made the lines a bit thinner for a slimmer look, more similar to 34401A.I have everything under control now, except for the decimal point (two dots and the comma), and I suspect some issues with the conversion of the new, bigger digit. If you could take a look at the conversion or the OLED update code in that area, I would appreciate. I've attached the latest digit design.Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 10:07:35 am
content: Try the attached picture.I made a very minor modification. To optimize memory footprint I did some basic compression, etc.One limitation is that the dots and commas are not allowed to span over more than a 8 pixel wide stripe as the display is updated in that way. Your comma was 9 pixels wide.That limitation was not obvious to me either btw, but once I saw I could address it :-)A code change would be more difficult to do, so let's try that one out first.

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 10:18:49 am
content: Let me refine my statement:the dots and comma (komma??)- Can be only on the right side of the segmented character. That was the case, but want to add that...- all 2 dots and komma have to be within the rightmost 8 pixel wide strip starting at x location 5x8=40. Any pixel of a dot/komma at x location <40 will not work. A change would need to be implemebted in python script and C code.5x8 is for your display. For the original it is 3x8.

author: Miti
author_rank: Super Contributor
timestamp: June 01, 2025, 11:23:56 am
content: Quote from: Xyphro on June 01, 2025, 10:18:49 amAhaaa, that was it! I didn't know that rule, but it's all good now, thanks a lot!The zip is a short clip with the update rate. Not bad at all, but with the internal clock pushed to the maximum through OSCCAL register. It would definitely benefit from a chip that can do 16MHz at 3.3V, but I couldn't find a drop in replacement for Mega 8.Cheers,Miti

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 11:28:13 am
content: Update time looks good!In case you want to drive it faster...You can also tune those 2 macros in pari2c.c to smaller values:#define Q_DEL _delay_loop_2(3)#define H_DEL _delay_loop_2(5)E.g. like this (just to give an example on what to change :-):#define Q_DEL _delay_loop_2(2)#define H_DEL _delay_loop_2(4)That will speedup the i2c clock.

author: Miti
author_rank: Super Contributor
timestamp: June 01, 2025, 12:09:38 pm
content: Yes, I forgot about those delays, they're#define Q_DEL _delay_loop_2(1)#define H_DEL _delay_loop_2(2)

author: TERRA Operative
author_rank: Super Contributor
timestamp: June 01, 2025, 12:25:13 pm
content: Quote from: Xyphro on June 01, 2025, 08:52:39 amYou coming to Japan?Check this thread if you haven't already, It's 99% up to date.https://www.eevblog.com/forum/chat/the-akihabara-japan-electronics-store-master-list/

author: Xyphro
author_rank: Regular Contributor
timestamp: June 01, 2025, 12:33:57 pm
content: Yeah, going in July. Last few visits I did not prepare on where to go to entertain my "nerdy electronics interests" and I want to be prepared this time :-)Thanks for sharing the thread, found so far only older webpages from 2015 or so and information is outdated.

author: TERRA Operative
author_rank: Super Contributor
timestamp: June 01, 2025, 12:57:58 pm
content: Yeah, the webpages for most things besides Akizukidenshi and Sengoku are pretty much well stuck in the 90's for web design and not so updated. Best is to just wander around and poke your nose in the stores.Also, avoid Monday, that day has some smaller stores closed as they open on the weekend instead.

author: FzR dontdie x
author_rank: Newbie
timestamp: June 07, 2025, 05:21:57 am
content: I went through and made a mouser project for this that has all the needed components on the BOM minus the OLED displays themselves. Can you guys audit this to ensure it is correct and i will leave it up as a way for people to just pull it up and order it easily.https://www.mouser.com/Tools/Project/Share?AccessID=be7a662fed

author: Darkover
author_rank: Regular Contributor
timestamp: June 07, 2025, 08:56:54 am
content: > Yeah, going in July. Last few visits I did not prepare on where to go to entertain my "nerdy electronics interests" and I want to be prepared this time :-)You need to find a japanese native that has Akiba experience that can you show some of the smaler shops that are sometimes hidden on the 4th floor with unreadable signs on the door.BTW: I wonder if the friendly guys from the panasonic laptop club still exist that did this for me.Olaf

author: TERRA Operative
author_rank: Super Contributor
timestamp: June 07, 2025, 09:44:34 am
content: Quote from: Darkover on June 07, 2025, 08:56:54 amRaises hand.....

author: Miti
author_rank: Super Contributor
timestamp: June 08, 2025, 01:10:50 am
content: Quote from: TERRA Operative on June 01, 2025, 12:57:58 pm

author: Xyphro
author_rank: Regular Contributor
timestamp: June 11, 2025, 05:22:09 am
content: :-) Garfield hated it too!@Mitti: Let us see the whole creation once assembled!

author: Xyphro
author_rank: Regular Contributor
timestamp: June 11, 2025, 05:23:23 am
content: Quote from: FzR dontdie x on June 07, 2025, 05:21:57 amLet me check this evening, FzR!

author: Miti
author_rank: Super Contributor
timestamp: June 11, 2025, 10:55:08 am
content: Quote from: Xyphro on June 11, 2025, 05:22:09 amOh, absolutely! You know I like to brag.I’m just waiting for some components from China. I should have bought from Digikey.

author: Xyphro
author_rank: Regular Contributor
timestamp: June 11, 2025, 04:36:27 pm
content: "One guys brag is the other guys inspiration" (tm) by me :-)

author: FzR dontdie x
author_rank: Newbie
timestamp: June 13, 2025, 08:47:01 pm
content: Quote from: Xyphro on June 11, 2025, 05:23:23 amAny update on this? I am excited to try this project out but would like to ensure the BOM is correct for myself and others before I order it.

author: Miti
author_rank: Super Contributor
timestamp: June 14, 2025, 04:12:59 pm
content: Ok, here it is. Since there's no perfection in this world, it is not perfect but it looks really good (I can't call my baby ugly).The issues that I have are, as expected, the left side view angle is a bit limited, and a bit of reflection, not as bad as I thought, on the left adjacent OLED.The digit size is pushed almost to the max, so I can reduce it a bit to improve the left side angle. For the reflection, I found matte paint pen on Aliexpress, it is used for matte car wheels touch up, but it is too expensive. Maybe I can find a different solution or simply ignore it. I still have to modify a few more icons.For now, looking from the front.Question for Kai. Are you ok if I/ we adapt/ use your idea/ code for 34401A?Take a look at this thread.https://www.eevblog.com/forum/repair/hp-34401a-dmm-with-leaking-segments/msg5943268/#msg5943268Cheers,MitiEdit: I've added a side by side view for comparison.

author: kmoonwalker
author_rank: Frequent Contributor
timestamp: June 14, 2025, 04:43:57 pm
content: looks really nice - great jobyou could perhaps have a bit better side visibility with lil bit smaller digits displayed (alike on original sized) still this is a game changer for whole lot of older things working this way

author: dietert1
author_rank: Super Contributor
timestamp: June 14, 2025, 05:05:47 pm
content: Looks great! If you locate the meter on the right half of your bench the reflections will remain hidden..Regards, Dieter

author: TERRA Operative
author_rank: Super Contributor
timestamp: June 14, 2025, 05:20:33 pm
content: Have a look at the 'Posca' brand paint pens, or similar.I use a black one to paint over any shiny solder that might be visible from the front in my OLED display assemblies, it dries matte and works well.Incidentally, the fluorescent colours are great for repainting needle pointers in analogue meters.

author: Miti
author_rank: Super Contributor
timestamp: June 14, 2025, 06:16:25 pm
content: Quote from: TERRA Operative on June 14, 2025, 05:20:33 pmThanks Terra!Yes, there are tons of matte paint pens but if I have to pay more than .... 4$ for this one time job, it's not worth it. I'm looking for an existing solution. I tried Sharpie permanent marker, nope, it doesn't catch well on glass. I have a black paint pen but it dries shiny and is not much better than the glass itself. I heard that vinegar makes shiny paint matte. I haven't tried that.

author: Miti
author_rank: Super Contributor
timestamp: June 14, 2025, 06:21:45 pm
content: Quote from: kmoonwalker on June 14, 2025, 04:43:57 pmYes, my digits are bigger than the original, so a bit of squeeze horizontally and vertically would help, but I don't really need that wide viewing angle.For now I will play with it as is because I can,thanks to Xyphro, and his wonderful support...

author: Miti
author_rank: Super Contributor
timestamp: June 14, 2025, 06:25:15 pm
content: Quote from: dietert1 on June 14, 2025, 05:05:47 pmNot too much to the right because the raised edge would mask the digit on its right.Another solution is to change the clear plastic cover to a smoky or green one, like 34401A. I tried a smoky acrylic sheet and reflection is pretty much gone. I mean not visible.

author: Miti
author_rank: Super Contributor
timestamp: June 15, 2025, 07:08:27 pm
content: Current inside 3478A from 13V is close to 90mA in reset, with all the segments, separators and annunciators on, and ~ 40mA, in normal functioning on V DC and two annunciators.

author: dazz1
author_rank: Frequent Contributor
timestamp: June 27, 2025, 05:11:38 am
content: HiI am trying to do the upgrade. I purchased an assembled module from TERRA Operative which looks great.I have got as far as separating the main pcb from the chassis.I have looked for instructions to do the next step, but not found them.The new module has holes in the pcb for the display connector. Looks like I have to separate the pcbs on the module to solder something into those DIP holes.

author: Kean
author_rank: Unknown
timestamp: June 29, 2025, 02:31:10 pm
content: Quote from: dazz1 on June 27, 2025, 05:11:38 amThe DIP connector at the display end of the ribbon cable is press-fit, so no soldering required. It can be a little tricky to unplug the first time, but it should easily plug into the new module.Then you just need to wire up the power connection. There are a couple of ways to approach that. I made up a cable harness that tapped off the chassis mount 5V regulator but can be easily removed.

author: Miti
author_rank: Super Contributor
timestamp: July 05, 2025, 09:59:31 pm
content: Here are the software for the bigger 128x64 OLEDs with SSD1312 controller that overlap, and the angled 3D back.I've reduced the digit by two pixels from the left and the bottom for better visibility from the left. The reflection is still unsolved, I need to find some matte paint but you may already have. Enjoy!

author: FzR dontdie x
author_rank: Newbie
timestamp: July 15, 2025, 03:40:49 am
content: I've finally joined the club, I bought a panel from Terra Operative as it honestly was going to cost about as much as it would be for me to assemble it myself and he programmed it for me, highly appreciative of that. I did find though that the 12V spot many people use was running at 10.45V instead of 12 so the screen would not light up, I believe the 25V 3300uf electrolytic capacitor may be due for replacement but the rest of the meter works flawlessly, I ordered a cap and will replace it and see if that fixes the 12v line, in the mean time and as my main method of install I instead moved one leg over and tapped the 5V line and put a 5v to 12v boost converter in line and am using that instead, seems to be working really well. Posting this in case other may find themselves in a similar boat. Now to just get my bench put back together....

author: TERRA Operative
author_rank: Super Contributor
timestamp: July 15, 2025, 03:47:04 am
content: I'll double check the voltage on that vreg in the two 3457A's I have here later tonight, just for reference. I get 11VDC and my display works fine, so that must be about the lower limit of the OLED display.

author: FzR dontdie x
author_rank: Newbie
timestamp: July 27, 2025, 09:03:02 am
content: I replaced the bulk filter cap right by the regulator and my SDM 3055 says the original capacitor still read 3050uf, stock its a 3300uf cap. replaced it with a cap that read 3500uf and it helped a little but basically did nothing to the regulation, brought the voltage up to 10.65V up from 10.45V.

author: Kean
author_rank: Unknown
timestamp: July 27, 2025, 09:46:43 am
content: Quote from: FzR dontdie x on July 27, 2025, 09:03:02 amCould be your mains voltage is a bit low.

author: FzR dontdie x
author_rank: Newbie
timestamp: July 27, 2025, 10:37:12 am
content: Nah I know my voltage is fine where I live, I think that the meter just doesn't care if its actually 12V as terra operative is in japan where they run 100V 50hz and his meter is 11V on that line also.

author: Kean
author_rank: Unknown
timestamp: July 27, 2025, 10:59:17 am
content: Quote from: FzR dontdie x on July 27, 2025, 10:37:12 amI'd assume that Terra has his rear-panel voltage selector set to 100V, and yours at 120V. But yeah, I expect that 10.5V on that rail is on the low side of tolerance but still fine for normal operation. I don't recall what I was measuring on my 3478A's.

author: TERRA Operative
author_rank: Super Contributor
timestamp: July 27, 2025, 09:51:49 pm
content: Yeah, I have my meter set appropriately for 100V.The OLED module can handle up to a bit over 15VDC iirc, so you can maybe check the schematics for another place to pull power from.The vregs are good to 17VDC input, and they are after a bridge rectifier with schottky diodes, so you could push the DC input voltage to 18V at the absolute maximum.Once I'm back home from overseas in a week or so, I'll get one of the OLED modules hooked up on the bench and test the low voltage input limits.

author: dazz1
author_rank: Frequent Contributor
timestamp: August 13, 2025, 09:16:30 am
content: HiI have fitted the HP 3478A Terra OLED upgrade.It took me a while to do because I had to wait for Rifa cap replacements that I did the same time as the OLED upgrade.It works perfectly, first time, no problems. It fitted perfectly. No fettling required.It looks soooo much better than the LCD display. I suspect it looks better than LCD upgrade options.Photo shows the display beside my Phillips scope for comparison. I added LED back lighting for the central LCD display some time ago. The HP 3478A OLED is much easier to read.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 13, 2025, 07:36:18 am
content: Hi,Inspired by OLED designs, I have been looking into colour TFT/OLEDs of various sizes.I settled onhttps://www.aliexpress.com/item/1005008969260148.htmlas the best option for me at the moment.The gaps between the writable areas of the displays are difficult (for me). In the above model, these are quite small (4 mm between 2 displays).I also use this distance as the distance between the individual characters – then it is not noticeable.To do this, I had to adapt a font (the original C41 font proved to be impractical).The current result as a prototype – only for the spacing – is attached.It looks good to me – I will continue with this.I placed the ‘cover plate’ over it to determine the size. The protective films are still on the modules...The red/white colour is the result of speed tests with two colours...In case anyone is interested, I chose the ‘Frozen Crystal’ font because I like it best and find it easy to read.I find the ‘extended’ version of HP41 (or C41, as I called it) difficult to read (even though it is the original).I compared everything with the characters on the German keyboard (I'm from Germany) and sent it to the 3478A via GPIB for fun.The results are attached – for anyone who's interested. Characters/letters marked in red could not be transferred via GPIB (pyvisa).Found a nice character map for the 3478A - fine to decode the messages :-)Added a piece of black cardboard behind and find a nice font for the Annotators. The Ohm-sign is missing - but OK so for me :-). Maybe I change the zero-sign and the decimal point ... later.Diffcult to take a sharp foto :-(Next step is to read (and understand) the LCD-protocol. There are a lot of examples - may take a while ...Thank you very much to all predecessors - I gathered all informations to be able to evaluate the signals - and yippee - it woks.SYNC high -> Data on ISA (19), low -> Data on INA (25) U506 Pin 6INA Data line U506 Pin 4ISA Instruction line U506 Pin 5CLK1 Clock U506 Pin 3(order of the LA protocol) are enough to be able to get the neccessary informations :-)(see the picture)A condensed summary of the evaluation will follow – I still need to translate some things from my native language, German, into English.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 24, 2025, 02:26:00 pm
content: A brief updateI spent a few days doubting my programming skills – until I finally found the solution.Background: Since I need a lot of storage space for the fonts, I decided to explore new territory and use the PI Pico 2 W, as it has more than enough storage space.Unlike the solutions presented so far, I wanted to achieve my goal with simple ‘read bit banging’.In short: it didn't work – no matter how I approached it.Now I know why: Erratum 9!!! There are problems with the GPIOs.A new batch of products is supposed to be available already – but not here...Now I'm waiting for the PI Pico (old version) and will report back.

author: squadchannel
author_rank: Frequent Contributor
timestamp: September 24, 2025, 02:53:20 pm
content: Quote from: Hugo_Hurtig on September 24, 2025, 02:26:00 pmI decoded it using the ATtiny416 SPI IP. will be useful.https://www.eevblog.com/forum/projects/led-display-for-hp-3457a-multimeter-i-did-it-)/msg6040361/#msg6040361actually, since February I've been working on a display using LED segments like xi's display.currently working perfectly, but mechanical issues mean it's not quite finished yet. I'm short on time too. (IBM PC110 now)attaching the datasheet(from hpcalc.org) for the display controller used in the HP-41C that I found back in February. I completely forgot to share it.It should be exactly the same controller used in the HP-41C.This is why I used the #2 clock. The slight delay allows us to capture it on the rising edge.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 25, 2025, 09:47:38 am
content: Thank you very much for the interesting information. Will read it step by step :-)Unfortunately, the ATTiny is not sufficient for my requirements (I have already developed many small projects with AVR - Tiny, Mega, XMega), as I need significantly more memory.Tomorrow (hopefully) I will receive PI Picos that work correctly – and I will report back at the weekend...For now, I will stick with bit-banging, as it is easier for me to understand. I control the displays via SPI anyway :-)Does anyone know the meaning of this strange constellation in attachment (from top to bottom: SYNC, INA, ISA, CLK)?Looks like some kind of refresh ...

author: squadchannel
author_rank: Frequent Contributor
timestamp: September 25, 2025, 11:27:11 am
content: what about the PWO(like chip select)? It might not be selected.in any case, it's invalid data, the clock is not being output, there is no need to sample. it can be discarded.in 3478A, the clock is output even when PWO is low and not selected.do not assume that the presence of a clock signal indicates valid data.that data is invalid. Valid data is obtained only from the clock after PWO goes high.in the early design, the clock was sampled using an AND gate with #2 and PWO. current design, input PWO to the SPI SS pin and simultaneously using interrupts.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 25, 2025, 11:50:46 am
content: Oh ... I ignored chip-select ... .But I skip all commands (sync = high) and the subsequent data where INA and ISA are also high :-)So all seems O.K.

author: squadchannel
author_rank: Frequent Contributor
timestamp: September 25, 2025, 12:21:51 pm
content: Register cheat sheetmight be useful(Rows and columns of the character table.)3478A seem to use 12L character write command only. 12R would probably reverse the order, and 6-digit or 4-digit commands would just reduce the number of bytes.I only have the 3478A, I'm not entirely sure. xyphro should know better. His firmware implements other commands.

author: squadchannel
author_rank: Frequent Contributor
timestamp: September 25, 2025, 01:06:56 pm
content: WRA12L(B and C), the two clock cycles after SYNC goes low(command to data mode) always low. Then 8 bits for 6 bytes.I think other commands discard 2 bits as well.I couldn't find an efficient way to discard those two clock cycles in the SPI method, so acquiring one extra byte and performing bit shifting.now that I think about it, interrupting the clock twice, enabling SPI should work.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 25, 2025, 06:26:43 pm
content: Thank you very much again :-)My "strategy" is to wait for 4 commands - 028 068 0A8 and 2F0 - and try to fill the corresponding registers.Thats enough for a first step.So I'm able to fill the display with the corresponding Data (if complete data-sets are sendet)My "efficient way" for the 2 useless clock cycles is to ignore 2 clock-cycles after the (recognized) command - no problem with bit-banging :-)

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 27, 2025, 05:57:21 pm
content: So - PI Pico (old version) has arrived and my bit-banging seems to be OK.The CPU is fast enough and I'm able to read 2 Commands with Data-Bytes in 1 PWO session. Yes - I use PWO now - its easier :-) - again thank you very much.Attached is a LA hardcopy with 2 Commands (from top to bottom: PWO, SYNC, ISA, INA, CLK and my debug-control-pin, checks every recognized bit ...Without changing anything at the 3478A (works as switched on) I get mostly 068 and 028 commands. Sometimes A028, but there will be a bug (to find).A picture with the output of 2 commands in series with the recognized register-data as example.I'm owner of 3478A's to - one of them has a beginning damage at the lcd - so I'm looking for a nice solution.Next step will be to translate the registers to Characters - tomorrow maybe ...Edit:I've found funny signals (count the bits / bytes ) ... an now I'm able to read all interesting commands :-)Now all seems fine - next step is to feed the Displays.Interesting - the complete B-register is updated when the "working point" (on the far right) pulses. In the small video second row, second column from the bottom changes between 0 and 4.Columns from left to right: A-, B,- C-segment.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 29, 2025, 07:31:53 pm
content: Works :-)Proof of concept is O.K. Tomorrow I'll start the next step with large letters.It's courious - they changed some numbers with letters (O instead of 0 I instead of 1 and S instead of 5 - maybe more ...). Seems the numbers are not readable enough.I added a photo and a small video of the poc - only with small characters at one of the displays ... fyi

author: squadchannel
author_rank: Frequent Contributor
timestamp: September 30, 2025, 01:49:17 am
content: My 3478A does the same thing.This is probably a design choice for readability.using a segmented-style font, it should be fine, but using a Gothic font or similar, likely need a conversion table.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: September 30, 2025, 05:46:10 pm
content: Hmm - yes I have to change my font-table, so it will be easier (and more reliable) what is displayed.Have some distorsions too now :-(Both will be found and fixed (I'll hope so).What makes me nervous is, that the "measure point" in the right corner is not blinking. At the moment I have no idea what could be the cause.

author: squadchannel
author_rank: Frequent Contributor
timestamp: October 01, 2025, 02:01:43 am
content: Quote from: Hugo_Hurtig on September 30, 2025, 05:46:10 pmIs the display update rate fast enough?In DCV mode, turning off auto zero causes segment updates to occur at the same speed as dot blinking.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: October 01, 2025, 10:21:53 am
content: No - is'ntThank you for the impulseI miss commands because of the output. I refresh only changed digit/punctuation pairs (have had optimized to hold the display "quiet") - but this is not enough.O.K. - so I'll optimize more ...Edit: Use framebuffer now - graphic is fast and fine, no disturbances. Point is stable - must be logic ...

author: Hugo_Hurtig
author_rank: Contributor
timestamp: October 08, 2025, 12:40:32 pm
content: So - a short update.Now (nearly) all seems fine. The point flashes, annunciators where displayed, Characters an interpuction is OK (see photos).But - I still have a problem with 0x068 - the B-registers. From time to time 1 or 2 clock-cycles were missed. 0x028 and 0x0A8 (similar code) where O.K.Has anyone had such a problem?Maybe it's the breadboard-built - I'll check if it is better when the connections are soldered.

author: squadchannel
author_rank: Frequent Contributor
timestamp: October 08, 2025, 01:49:03 pm
content: Is the sampling rate of LA fast enough?It should be several times faster than the smallest pulse width.

author: Hugo_Hurtig
author_rank: Contributor
timestamp: October 08, 2025, 02:19:20 pm
content: Yes -I think this must be enough :-)The yellow lline are the clock pulses - green are the recognized pulses. Brown SYNC, red INA, orange ISA. Blue is the recognized command with belonging data.Clock pulses are around 5 Microseconds duration ...

author: Hugo_Hurtig
author_rank: Contributor
timestamp: October 10, 2025, 12:02:07 pm
content: Herre you can see the disturbances ... (youtube - there are no restrictions for users using this link):https://youtu.be/4aIglzdaQPo

author: Hugo_Hurtig
author_rank: Contributor
timestamp: October 13, 2025, 05:39:16 pm
content: Technical fine now - found and eliminated the error.Now I have to make a PCB, some spruce up - and setup my first HP3478A.Edit: Deleted the video because of the horrible quality. Will add a new one at end of the week ...

author: scenz
author_rank: Contributor
timestamp: October 15, 2025, 11:17:02 am
content: I want to build this project for my 3457a but I'm quite confused right now as there are so many variants of this design. Therefore could someone be so nice to help me to find the newest design for the 3457a? Or is it already the github repository? As I also have seen some nice 3d Print to assist in building this nice display I would like it all to be compatible to each other.Thanks

author: Hugo_Hurtig
author_rank: Contributor
timestamp: «Reply #466 on:Todayat 12:13:42 pm »
content: As announced here a new Video. Next steps as described ... . Gaps between the dsplays will be filled with black silicon.https://youtu.be/YCNqyjQExq4