HP 34401a DMM with leaking segments - Page 1
Forum section: electronics / repair

author: qu1ck
author_rank: Regular Contributor
timestamp: May 05, 2018, 07:11:27 am
content: Hi all,I recently became a happy owner of this used but in good condition DMM (see first pic) which seems to have only one issue that I could find so far: display shows dots where there shouldn't be any and some symbols (4w, buzzer) show up as well.It is old (cal string says "feb 1996", revision 04-01-01) but perfectly clean on the inside and other than the display everything seems to be in good shape.So I started searching the forum for similar symptoms and foundhttps://www.eevblog.com/forum/buysellwanted/ebay-many-faulty-hpagilent-34401a-multimers/msg811170/#msg811170It talks about leaky drivers with NEC part that are used in newer front panels but mine is the old one with unobtanium UPD7527. Is this issue relevant to old style panels too?Either way I decided to take it apart and look at what the driver is sending to display. Like I imagined the dots and symbols are segment 14 and 15 and they are somehow linked together. See the scope screenshots. Both have the following setup: ch1 - chr11, ch2 - seg14, ch3 - seg15.Whenever segment 14 is high (+18v) segment 15 goes to around ground, although when 14 is low (-18v), 15 can be driven both high and low successfully.Btw I did not figure out which segment is 14, it seems to be the lower horizontal one (think underscore).So here is what I am thinking.1. Somehow "help" the driver with some outside circuit that will pull pin to -18v when driver outputs anything less than say 5v.2. Much more involved but also should be great help to others: reverse engineer the protocol between main board and front panel, reimplement it on another MCU and output the display on a nice big OLED screen like this guy did for his 34970a:https://www.eevblog.com/forum/repair/reverse-ingeeniring-hp-34xxx-display-panel-serial-protocol/With multi layer board doing 1 may not be possible without splicing pins of the display itself. There may be other issues as well, I have not thought about this too much. Your ideas are welcome.For option 2 looking at the schematic suggests that likely SPI is used in 34401 instead of usart as in 34970a so it can be completely different in terms of packet format, acks, etc. But should be still doable if it's SPI, would be much harder if it's something else. Protocol is referred to as "4 wire serial" in the service manual but the pins on UPD7527 are marked SCK, SO, SI, what else could it be? I'm not sure what is the purpose of INT(errupt?) pin though. Will have to take a scope to it under different modes and see whats going on there.If I succeed than the display can be swapped for a 3.2" OLED with a blue pill on a side. Cheaper and more importantly much more accessible than replacement VFD display with UPD7527.Thoughts?UPD: segment 14 must be upper-left vertical segment. Deduced from both "V" and "4" having the dot next to it, that's the only segment they have in common.

author: DC1MC
author_rank: Super Contributor
timestamp: May 05, 2018, 08:38:36 am
content: I've never had the opportunity to have such a nice instrument, but if the display driver exhibits this behavior I think that a quad op amp, put in the most basic comparator mode, should be able to do the trick as long as there is still a way to analogically differentiate between signal levels of the driver output.That is put an LM614 or similar (it has to accept >= than +/- 20V as supply, and be quad or more) to the most simple comparator mode, that is the [- Input] to ground or some reference voltage ( an 10k potentiometer also connected to the voltage supplies) and the [+ Input] to the driver output, the op amp , of course to the display segment. Basically this is it, the not so rich man adjustable signal signal rejuvenator.I have no idea what is the logical interface to the display board (parallel input, SPI-like sync or actual async serial) but if you can hook a cheap LA to it and post some traces, I promise to have a look and try to decode the protocol, maybe the extra karma and sympathy bonus will allow me to get a similar device sometime.Cheers,DC1MC

author: qu1ck
author_rank: Regular Contributor
timestamp: May 05, 2018, 10:31:37 am
content: I will definitely hook it up to a logic analyzer but first I need to find any dip comparatorEverything I got is smt. Not ideal for experiments.Interestingly the old front panel works with +13 to +18v digital logic levels while new one is on the low side -18v to -13v. The schematic shows that data out from front panel goes straight to an ASIC pin, with a pull up to +5v. It forms a voltage divider with a series resistor that is present in new panel so that logical 0 is around 0v on the ASIC instead of -18v. But on old panel there is no series resistor, are they sending +18v straight into logic board?I'll have to measure that tomorrow, 3:30am right now, too tired to thinkI'll come back with some experiment results soon.

author: Samogon
author_rank: Frequent Contributor
timestamp: May 05, 2018, 12:01:20 pm
content: https://www.eevblog.com/forum/buysellwanted/ebay-many-faulty-hpagilent-34401a-multimers/msg811170/#msg811170

author: bitseeker
author_rank: Super Contributor
timestamp: May 05, 2018, 06:48:52 pm
content: @Samogon: The OP already referred to that link near the beginning of his post.@qu1ck: Interpreting the front panel communication with the motherboard in order to completely replace the old display would be interesting and useful for keeping alive the many old 34401A devices out there, if you're inclined to dive into that endeavor.I had heard that some of the old driver ICs were out in the world, but I had never located any.

author: Samogon
author_rank: Frequent Contributor
timestamp: May 05, 2018, 10:39:24 pm
content: I apologize

author: floobydust
author_rank: Super Contributor
timestamp: May 07, 2018, 04:33:27 am
content: Anyone know the VFD size? Or the front PCB dimensions (width)?Seeing what would fit....For glass (no frame) OLED's standard 256x64 size:3.12" are 88mm W x 28mm H5.5" are 146mm W x 45mm H (but expensive ~$100)Some mentioned if the main CPU firmware is changed, a second-generation front PCB works.The old uPD7527 seems to use a different com protocol than the 80C51.

author: bitseeker
author_rank: Super Contributor
timestamp: May 07, 2018, 06:55:00 am
content: The tinted lens in front of the VFD is about 153 x 36mm. The top 10mm or so is occupied by the model badging, so a display around 120 x 25mm would probably be OK. That 88 x 28 might work.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 07, 2018, 10:51:47 am
content: I've got good news and bad news.Bad news is that it's not the driver. Since I didn't have suitable comparator at hand I just quickly put together a simple signal repeater using 2 bjt's. It only outputs high when input is 20v or so above negative rail.I tested it and it worked perfectly and produced expected square wave with no load.So I cut the pin of the display, hooked my contraption in between the pin and it's pad and what do you knowNo difference, zip, nada. Now the input was a clean square but output was the same mess, which means driver was doing it's best to begin with, it's something in the display pulling the pin up. Maybe stronger pull down resistor or push-pull output would have rectified it but at what cost? Increased current, more segments burned? I didn't want to risk it. So I soldered the pin back to it's place and switched to plan B, which brings me to the good news.Protocol is definitely SPI:I captured 4 seconds of traffic and with some bash-fu extracted ascii data:Code:$ sigrok-cli -i capture.sr -P "spi:mosi=SI:clk=SCK:miso=SO" -A spi=mosi-data | xxd -r -p 000027 mVDC   ☺  000027 mVDC   ☺  000026 mVDC   ☺Now we are getting somewhereSigrok capture file is attached for those playing along.

author: floobydust
author_rank: Super Contributor
timestamp: May 07, 2018, 06:21:15 pm
content: The VFD drive for the older 34401a's is complicated to troubleshoot.In the interest of science and keeping these workhorses out of landfill, I did analyze the circuit. It's kind of a bear because of PMOS and six different supplies.It would be worthwhile to see if the VFD's grid-threshold voltage has just shifted due to aging, or the NEC uPD7527A 4-bit MCU HV output has gone leaky, keeping segments dimly on.I would confirm:VFD cathode (filament) -12V bias, from zener CR556/C559 at the Xfmer on the PSU.VFD MCU IC pre-driver bias -10V, from zener CR600/C607.Keep in mind you can get grid current flowing, it's not high impedance if the grid is +ve it acts like an anode.I would be tempted to first vary the -12V cathode bias, carefully (use floating psu with zener removed) and see if the -12V/-18V = -6V cutoff is enough.My present theory is the tube ages outside the circuit's cutoff voltages and segments stay dimly lit. Other threads said changing the VFD cured the problem, so this is the only explanation I could come up with.

author: bitseeker
author_rank: Super Contributor
timestamp: May 07, 2018, 11:46:59 pm
content: @qu1ck: Good to see that it's SPI. Substituting the VFD is still an interesting solution in the long run.@floobydust: Interesting. I hadn't seen before that replacing the VFD fixed the phantom dots.

author: floobydust
author_rank: Super Contributor
timestamp: May 08, 2018, 04:54:44 am
content: This thread, member says it's the display:https://www.eevblog.com/forum/testgear/hp34401a-display-with-dots-after-every-digit/msg1228322/#msg1228322This thread, member says it's the driver MCU:https://www.eevblog.com/forum/buysellwanted/ebay-many-faulty-hpagilent-34401a-multimers/msg811170/#msg811170I was looking at what's involved making an OLED conversion, as this big VFD and driver scheme was used (at one time) across the HP/Agilent product line and is going obsolete for parts.There are a few flavours of VFD's with special annunciators being the difference.Universal counters: HP-58503, 53131A, 53132A, 53181APower Supplies: E3631A, E3649A, E3642A, E3643A etc.It looks not bad to convert, but a big OLED display is as expensive as a replacement VFD ~$60 so I didn't think there would be interest.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 08, 2018, 05:13:38 am
content: @floobydustIn my case it's 100% the display. When I disconnected that segment in my experiment it was still lighting up, with the pin flapping in the breeze. And driver was sending perfect square wave +-18v as expected, very different from what I was seeing on the scope before (see my first post). Connecting my bjt output stage which is similar to your schematic with fets did absolutely nothing.You don't have to buy 5" oled, it won't even fit because it is higher. 3.2" oled is $30, add an mcu board and some mounting hardware, that's $35 tops. Half the price of a VFD, much more value in terms of longevity and repairability. I bet you can even make the digits the same size, just make the font more compact, VFD wastes a lot of space.

author: DC1MC
author_rank: Super Contributor
timestamp: May 08, 2018, 05:41:41 am
content: @qu1ck:IMHO I will still try first an "analogue repair", the segment has to have a cut-off voltage somewhere and if there is a little drive current more, it wont hurt. But if you try to go on the OLED display route, the message structure could be simpler maybe, but is hard to think how. The values are in nice ASCII and the non-printable chars have most likely the bit fields with the status of different aux indicators around. I can't think of a controller that will not be able to decode this message. What is the clock frequency, I'm too lazy to launch Sigrok now ?Cheers,DC1MC

author: qu1ck
author_rank: Regular Contributor
timestamp: May 08, 2018, 06:34:44 am
content: @DC1MCThe thing is to shut the segment off you just have to put it at low potential, there is no current. At least that is my understanding of how VFD works. Both grid and segment have to be at positive voltage relative to filament for segment to light up. If one or the other has low potential electrons won't flow to the segment.Since in my display driving one segment high also induces high potential on another pin it leads me to believe there is some short in the tube itself. I don't want to force that segment low, that might increase the current significantly and those thin threads connecting the dots won't take much.Maybe someone with old display that had similar issue will try it but I'm reluctant, at least until I have alternative solution in place.SPI clock is around 93khz. Any controller will be able to decode, but you need something with at least full 8 pin port to quickly push image to the 8080 oled display. Blue pill stm32f103 is super cheap and has plenty of pins, I will likely use that one. Arduino pro mini should work as well and won't require level shifters.

author: DC1MC
author_rank: Super Contributor
timestamp: May 08, 2018, 01:09:56 pm
content: No display has such a thin thread that will not take 1mA.

author: floobydust
author_rank: Super Contributor
timestamp: May 08, 2018, 04:54:04 pm
content: If a row of segments stays lit with the VFD pin lifted, then there has to be some leakage current.I don't know of any corrosion or ion migration mechanisms here, occurring inside a VFD. Only a gassy (some air ingress) tube shows leakage currents, theGettercan sometimes show that.Instead, it might be the VFD stray capacitance to adjacent segment (internal) traces, that you are seeing with the pin lifted, enough to light a segment.Normally the driver IC has weak current-sink ability to discharge the anode (capacitance and gas leakage current), and a small time delay with the mux driver between selecting digits, to prevent ghosting.

author: HighVoltage
author_rank: Super Contributor
timestamp: May 08, 2018, 05:14:15 pm
content: You can test a VFD manually by applying power to the VFD and then apply a voltage to each segment and look what is lighting up.

author: bitseeker
author_rank: Super Contributor
timestamp: May 09, 2018, 03:20:54 am
content: Quote from: floobydust on May 08, 2018, 04:54:44 amIn the long run, though, it may still be beneficial. As you said, with parts going obsolete, even if the price is the same for the VFD, it eventually may not be an option. On the other hand, with a custom front panel controller, one could use other available VFD, such as dot matrix, as well as other display technologies. Anyway, interesting stuff to explore.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 29, 2018, 06:52:14 am
content: Update:With a strong pull down (2.7k) I got the ghost segments to finally disappear. But I did it on the disconnected pin, I don't want to try it with pin connected to driver as well, I'm not sure the driver will take it and I don't want to kill the front panel driver because it does input processing too.On the other front:It's just a proof of concept at this stage. It doesn't decode lower symbols, it skips bytes sometimes and shows gibberish, but it kinda works.

author: floobydust
author_rank: Super Contributor
timestamp: May 29, 2018, 09:45:22 pm
content: Did you measure the filament bias voltage, or try changing it? VFD cathode (filament) -12V bias, from zener CR556/C559 at the Xfmer on the PSU.I keep thinking this problem is due to the VFD aging and cutoff voltage shifted, making the driver look like the culprit- but it's not.For substituting the VFD with an LCD or OLED display, I realize radiated EMI is a big concern. It would actually be the hardest part I think.You have to keep things as quiet as possible. There are no buck converters here, and the metal shield around the VFD is there for good reason.The display and main cpu do talk back and forth as a self-check, so that might be the occasional garbage you see.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 29, 2018, 11:28:58 pm
content: Filament bias looked fine on the scope, waveform was completely within -18 and 0v, which is all that is needed, I think. Did not do any more precise measurements.Problem is that for ghost segments there appears fuzzy 0v to +2v potential on the display pin from some internal short (as I deduced from that potential appearing even on unconnected pin). Can't fix that with bias unless you shift it much higher than it is intended to be which will reduce contrast.LCD I'm currently using does not have any converters, just a linear reg. Also it has a shield.For final version with OLED I will have to rip out the 12v boost converter and supply it directly with linear regulator as well. It should be even better EMI-wise because much smaller voltages are involved here instead of +/-18v swings of VFD.Regarding garbage I'm sure it's my code, I just don't have the interrupts and timings right (I'm doing software SPI to read both input and output at the same time).I already reverse engineered main portions of the protocol and have a good idea of packet format, there is no meta info exchanged between front panel and main cpu, only "display this text", "display these symbols" and "button/combination pressed".I will post everything in detail as I do the rest of the work. I don't have as much time as I would like to tinker with this, so updates may be slow

author: floobydust
author_rank: Super Contributor
timestamp: May 30, 2018, 06:01:10 pm
content: The 3.12" OLED displays I looked at are about 0.6W-0.7W; 100% pixels lit is max. 50mA at 12-15VDC, and 33mA with 50% pixels on. I don't know the 34401a power budget for how much current is drawn for the VFD and its MCU.Because the +18V rail goes right to the A/D and analog sections (after 3.3V zener to make +15V) I would not power a display from that rail, in order to keep it super quiet.It may be the multimeter's limiting factor- noise on the analog +ve rail from the display. Gen2 of the display board also added RFI filtering.Gen2 display board, if the main MCU does not get a response from the display MCU, the main MCU will reset the display MCU by asserting its reset, as I recall.I hope the project bears fruit, the multimeters are commanding very high prices now on eBay.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 30, 2018, 07:37:39 pm
content: We are only displaying some text on the OLED, it will never light up more than 30% of pixels. Power requirement is quite low, but I agree on the noise. I will look for a good place to tap power from.I fixed the garbage glitch (turns out micros() in stm32duino is just not reliable) and reversed 99% of the protocol. I am not certain about purpose of couple control frames and characters but for all practical purposes I can show exact same information on the display and decode button presses. Unless there are some more special cases in the modes that are not accessible to me at the moment (remote control mainly) I think I am done with this part.Now on to improving code to display all the annunciators properly.

author: coromonadalix
author_rank: Super Contributor
timestamp: May 31, 2018, 02:43:36 am
content: would be nice to have another type of display adapted ...

author: floobydust
author_rank: Super Contributor
timestamp: May 31, 2018, 05:51:21 pm
content: Quote from: coromonadalix on May 31, 2018, 02:43:36 amIt's the dozen annunciators that are a PITA, and sometimes multiple ones are lit.A new display board that supports the VFD (as these are still available), or supports a graphic LCD/OLED display is about all you can do.

author: free_electron
author_rank: Super Contributor
timestamp: May 31, 2018, 06:32:49 pm
content: its the driver.the adjacent pins in the chip leak signals. they ALL go bad sooner or later.simply replace the driver chip.

author: qu1ck
author_rank: Regular Contributor
timestamp: May 31, 2018, 07:39:38 pm
content: @free_electronIf you read my first post you would have seen that I linked to your earlier equivalent statement. And later in the thread I disproved it, at least in my particular case.

author: floobydust
author_rank: Super Contributor
timestamp: May 31, 2018, 09:49:21 pm
content: It's a difficult problem to troubleshoot. Everything is level-shifted, there's six different rails/bias voltages and VFD's are uncommon knowledge. A troubleshooting mistake is too costly for these gems.The NEC MCU VFD driver stage could age and go leaky from ion migration on the die.I thought this was the root cause of ghosting segments, butxemax replaced the VFD which fixed the problemMy understanding is OP disconnected a VFD segment from the driver IC and the segment remained lit, ghosting. He then added a very strong pull-down of 2k7 (to -18V? GND would not go to cutoff) before the segments went out. The driver MCU output stage has internal ~140k ohm pulldowns to -18V, there should be very little current in VFD cutoff. This implicated the VFD display as being leaky.I do not know of any current-leakage path inside a VDF other than a gassy tube (partial air ingress), or stray capacitance causing ghosting due to mux frequency.Measuring voltage (to GND) on a disconnected segment or digit control grid will give a -ve voltage reading, as electrons flow from the cathode to the anode or grid then multimeter (+). You can have grid current flow, it is not always high-impedance if near or above the anode potential.This is the problem troubleshooting- if the VFD+driver IC pin stays too +ve and the segment ghosts, it could be the IC or the VFD it seems.edit: fixed URL

author: qu1ck
author_rank: Regular Contributor
timestamp: May 31, 2018, 10:06:57 pm
content: Quote from: floobydust on May 31, 2018, 09:49:21 pmExactly. To reiterate my experiments more clearly:Segment connected to driver: ghosting.Segment disconnected completely: ghosting.Segment pulled to -18v with 100k: ghosting.Segment pulled to -18v with 2k7: no ghosting.Waveform observed on the driver output when it's connected to ghosting segment: fuzzy +2v when nearby segment is high instead of expected -18v.Waveform observed on the driver output when it's not connected to the ghosting segment: proper square +-18v.Waveforms on signal repeater using 2 bjts between driver and vfd segment: clean square wave on repeater input, output is same fuzzy +2v when it should be low (repeater uses 100k pull down to -18v).By fuzzy +2v I mean it varies from 0 to 2v on sort of randomly, but it does not look like capacitive charge/discharge exponent so I don't think it's some stray capacitance, but it's hard to tell.

author: free_electron
author_rank: Super Contributor
timestamp: June 01, 2018, 04:06:59 pm
content: Quote from: qu1ck on May 31, 2018, 07:39:38 pmI still say it is the driver chip.Leaving segment pins floating capacitively couples them to adjacent ones and they 'ghost'. Thats why the pulldown was able to switch em off.The high voltage driver is a push pull type. The display lines are supposed to be driven hard high or hard low. if one of the transistors in the totem pole output dies the display line is left floating during one phase and it capacitively picks up the adjacent lines. These things are mulitplexed so the signals couple if they ar enot hard tied high or low by the driver.i have repaired at least 6 or 7 by replcing the drivers. i have never seen a bad display , apart from an aged one where the heaters have gone bad. pumping up the heater voltage briefly to burn off the cruft solves that ( temporarily )

author: floobydust
author_rank: Super Contributor
timestamp: June 01, 2018, 08:48:51 pm
content: Wait- I think we're confusing the 34401atwo different VFD display boards.Front Panel board 34401-66502 (for S/N 3146A59641 and below) used NEC 4-bit MCU uPD7527a which has HV VFD driver built in.Second Gen board 34401-66512 uses 80C51 MCU with TI SN75518 VFD driver IC, replaced byMicrochip (Supertex) HV518PJThe TI driver has push-pull output stage, while the NEC FIP output stage is PMOS with weak pull-down.

author: bitseeker
author_rank: Super Contributor
timestamp: June 02, 2018, 02:11:38 am
content: @qu1ck: For not having much time to work on it, this is really awesome progress!@floobydust: Yeah, there's been quite an upswing in prices over the past year or two. Pretty interesting. Although they're discontinued, it's not like there aren't many available. I wonder what's been driving the steady rise.

author: coromonadalix
author_rank: Super Contributor
timestamp: June 02, 2018, 02:33:52 am
content: ther popularity maybe ? they seem's to be easily repairable with all the threads and common knowledge about them, once they work, they are reliable ...

author: qu1ck
author_rank: Regular Contributor
timestamp: June 12, 2018, 08:46:05 am
content: The SSD1322 based OLED display came in the mail today.Started reading up on the docs to figure out connections and protocol. Should be fairly simple to adapt my ili9481 code to it, except for the 4 pixels per column addressing. To write individual pixel you have to either read gram, modify and write or keep a frame buffer in sram.Ugh.On the bright side documentation is really good (kudos to buydisplay.com). Even though driver chip datasheet that they have on their page is preproduction version with huge watermarks and some TBDs in important characteristics (wanna know timing generator frequency? TBD, supply current? TBD, segment output current? tough cookies! TBD!) full final version is easily googleable. Other docs like their panel characteristics and code example are useful. Sadly no electric diagram of the panel. I'll email them just in case, maybe they will share it.I'll try to code support for this screen in the upcoming days.Also I have a great idea to enhance the usefulness of this mod, won't spoil it just yet(I don't know if it will work out).

author: bitseeker
author_rank: Super Contributor
timestamp: June 12, 2018, 09:11:39 pm
content: Oh, the suspense!

author: coromonadalix
author_rank: Super Contributor
timestamp: June 13, 2018, 12:12:16 am
content: maybe this datasheet may help :https://www.newhavendisplay.com/app_notes/SSD1322.pdf

author: qu1ck
author_rank: Regular Contributor
timestamp: June 13, 2018, 06:58:37 am
content: coromonadalix thanks, found that link as well.Seller replied, no schematic for usBut it's easy to identify the switching IC (sot23-5, top marking looks like 1b3gc, could not find anything in online smt code databases). It has a big tantalum and an inductor next to it. I think just ripping that one out and supplying 12v directly will do fine. But that's a later step, for debug and prototyping simply powering everything from external usb works fine.

author: coromonadalix
author_rank: Super Contributor
timestamp: June 13, 2018, 10:24:35 pm
content: an future competitor to the 6 1/2 digit meter thread here lolll

author: floobydust
author_rank: Super Contributor
timestamp: June 16, 2018, 07:26:34 pm
content: Are you making a product out of this VFD->OLED conversion, is that your goal?I have lots of ideas but maybe another thread is a better place to discuss and get the community to collaborate.But I understand if you want to do this on your own. While open source is a wonderful notion, I don't think it's at all realistic.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 17, 2018, 10:32:55 pm
content: I'm not an EE, i'm just a software engineer tinkering with hardware on his own time. I don't plan to make a commercial product out of it, I don't think it would viable for production anyway because of too limited target audience. And the money I would make off it would be peanuts compared to what I'm paid to write software for the big leagues (wink, wink).I will just open source everything when it's ready.Progress pic of the day, made new display work:Starting on secret feature now

author: bitseeker
author_rank: Super Contributor
timestamp: June 18, 2018, 11:59:29 pm
content: So cool. I see you've got annunciators (at least one in the pic) and the sampling indicator, too.Oh, the suspense...

author: coromonadalix
author_rank: Super Contributor
timestamp: June 21, 2018, 12:48:42 am
content: Homer Simpson drooling loll

author: wictor
author_rank: Regular Contributor
timestamp: June 21, 2018, 04:46:37 am
content: Hi, nice to see that someone else has done this with same parts that I planned. I have E3634A with broken VFD. I reversed the protocol with sigrok earlier during the winter and ordered 3,2" OLED and stm32f103. But then I got some other things to do and this project is not proceeding...If I recall correctly, some settings and dimming some digits is done inside the cpu in front panel and those are not visible in SPI communication. So it seems that I would need to spy signals between front panel cpu and display driver to get full functionality of the original display.Wictor

author: qu1ck
author_rank: Regular Contributor
timestamp: June 21, 2018, 05:09:07 am
content: wictorYep, dimming and flashing is done in front panel but cpu does send a special control character in the message to instruct FP to do it. At least that's the case in 34401a.

author: Cyberdragon
author_rank: Super Contributor
timestamp: June 21, 2018, 06:45:56 am
content: Quote from: free_electron on June 01, 2018, 04:06:59 pmIt's most likely bad blanking timing or something from the driver. As can be seen here, the timing is relatively tight so it wouldn't have to be off by much to cause a problem.https://www.noritake-elec.com/technology/general-technical-information/vfd-operationEDIT: I would think a VFD that's ionized badly and leaking would be somewhat blackened.

author: bitseeker
author_rank: Super Contributor
timestamp: June 21, 2018, 11:40:05 pm
content: @wictor, that's interesting. Is the protocol for the E3631A/E364xA power supply front panels the same as either generation of 34401A? It'd be great to have a configurable front panel replacement for many/all the HP VFD modules.

author: wictor
author_rank: Regular Contributor
timestamp: June 22, 2018, 04:16:43 am
content: Quote from: bitseeker on June 21, 2018, 11:40:05 pmHi,I'm confident that it would be possible to have configurable replacement for at least E3631A and E3634A. I have swapped the panels between these models and they work, but of course annunciators are different. Annunciators are sent as bitmask, so you just would need to know used model, and then you could display correct annunciators. I think that front panel in E363xA and 34401 are using same FW, so I'm pretty sure that you could have general replacement for most of that era Hp/agilent models. Some day I'll check the 34401 model for the used protocol, but now I don't have the need or time for that job.Wictor

author: qu1ck
author_rank: Regular Contributor
timestamp: June 22, 2018, 04:53:15 am
content: I will publish 34401 protocol.It is substantially different from 34970a though, that one uses uart for bidirectional data transfers instead of spi like protocol in 34401. Even control frame markers are different, let alone annunciator bitmasks or button press events.Sent from my moto g(6) using Tapatalk

author: HighVoltage
author_rank: Super Contributor
timestamp: June 22, 2018, 12:00:42 pm
content: Really nice job!Looking forward to your final design.

author: bitseeker
author_rank: Super Contributor
timestamp: June 22, 2018, 09:03:21 pm
content: I second what HV said.Somewhere, I have some Noritake dot matrix VFDs. I think they're 40x2 or maybe 40x4; don't quite remember. If I find them, I'll have to see if they might fit on some of the HP devices I have (DMMs and power supplies). Although replacement isn't necessary now, eventually they might need them.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 25, 2018, 12:18:17 am
content: All right, here it is. Behold: the secret feature unveiledhttps://youtu.be/LWxOfaXVN3IThat's right. It's a 240 positions resolution, 20fps bar graph. Supports signed and unsigned measurements.For high fps you have to switch to 4 digit mode. In 5 and 6 digit modes you get 2-3 fps. You can see fps counter in top right on the display.Pic of an unsigned measurement:

author: wictor
author_rank: Regular Contributor
timestamp: June 25, 2018, 06:54:31 pm
content: Nice work!

author: bitseeker
author_rank: Super Contributor
timestamp: June 25, 2018, 10:45:56 pm
content: I love it!Makes me want to buy another 34401A, but with a bad display, toupgradeit.Next secret features: graph and histogram?

author: HighVoltage
author_rank: Super Contributor
timestamp: June 26, 2018, 07:00:03 pm
content: I have a broken 34401A with a bad VFD laying around, would be nice to test !

author: qu1ck
author_rank: Regular Contributor
timestamp: June 26, 2018, 09:38:57 pm
content: bitseekerI considered a graph but decided against it (at least for now) because 1) 64 pixels vertical resolution makes a graph not that useful and 2) display does not support horizontal scrolling so I would have to refresh big poligon every time. I'm not sure if I have time budget between text refreshes for that.HighVoltageAre you asking for firmware? If you want to reproduce this experiment I can provide wiring diagram and a binary. Source is not ready for public yet.

author: bitseeker
author_rank: Super Contributor
timestamp: June 27, 2018, 01:49:08 am
content: Quote from: qu1ck on June 26, 2018, 09:38:57 pmI was partly joking, but for future exploration, a higher resolution screen might make it feasible. The need for hardware scrolling is a good point. It's fun thinking about the possibilities.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 27, 2018, 02:58:35 am
content: High resolution has drawbacks too, either big pixel density (single pixel line not visible from typical distance) or big size and definitely price. Also you will have to go back to lcd most likely so add low contrast to the list.I even thought of doing the whole thing on esp8266 and stream data to any mobile device/pc. Then you can have any graphs you want. But that is also a lot of software to write and I'm in this business for the rosin smoke lol. When I publish the protocol maybe someone else will do it. Esp8266 has probably enough speed for it.Although another reason I didnt start with esp is I didnt want a rf antenna inside the metal can that is 34401a generating lots of reflections and affecting measurements god knows how.Sent from my moto g(6) using Tapatalk

author: TiN
author_rank: Super Contributor
timestamp: June 27, 2018, 04:39:52 am
content: qu1ckAwesome works, keep it up.Extra thumbs-up for making (or planning) to make it open to community.I'd love to have similar one for my Keithley 6485 and 2182A here, which use UART datalink to FP too.Hate ugly single-line Keithley VFD.

author: bitseeker
author_rank: Super Contributor
timestamp: June 27, 2018, 05:32:50 am
content: Quote from: qu1ck on June 27, 2018, 02:58:35 amYep, was just brainstorming, rather than intending for anyone in particular to implement. Thanks for making the project open.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 06, 2018, 11:05:50 am
content: Had a productive couple of days on holidays.Git log:* b4a62e0 (HEAD -> master) Fix blink interrupt bug* f16535b Hide bar in menus* dbaedcc Implement blinking chars* 016474b Overhaul decoder, separate event handler logic* 9033e10 Improve init sequence* 2e2d7ea Clean up display lib* c055959 Wrap things in namespaces* 531cf67 More main.cpp cleanupI implemented one of the last main lacking features, blinking characters. The display is quite usable now. There are some niceties left like better fonts and correctly aligned glyphs but I'm really close now.Time to start thinking of hardware. I think I'll just remove the filament voltage bias and use that winding of the transformer as power supply for my thingamabob. Haven't tried how the display and blue pill fits inside yet. Hopefully I won't have to do a custom board too, as much fun as that is.

author: bitseeker
author_rank: Super Contributor
timestamp: July 06, 2018, 06:01:09 pm
content: Thanks for the update. Yeah, hopefully it all fits nicely inside. Keeping my fingers crossed.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 07, 2018, 08:04:20 am
content: Wrote bmp file to binary convertor and now we have proper icon support. See debug image below with all annunciators lit (diode and continuity are icons).Funny thing, MS paint is the only (free) program that still supports monochrome bmp that I could find. And it has a bug where you can't paint in white with pencil tool

author: HighVoltage
author_rank: Super Contributor
timestamp: July 07, 2018, 08:21:06 am
content: Very nice and impressive work!How does it show up, if you put the Agilent window in front of your display.Is it still readable?Or do you rather have to use a clear custom window?

author: qu1ck
author_rank: Regular Contributor
timestamp: July 07, 2018, 09:14:03 am
content: HighVoltageI'm going to find that out tomorrow when I take the multimeter apart again to do the fitting of the display and mcu board. From what I remember when I disassembled front panel earlier that window is just light blue acrylic (or some kind of plastic) and it should just tint my display in light blue but that's it.

author: bitseeker
author_rank: Super Contributor
timestamp: July 07, 2018, 06:54:55 pm
content: Quote from: qu1ck on July 07, 2018, 08:04:20 amExcellent work. I really like how this turned out. Yours is the first successful matrix screen (LCD or OLED) implementation I've seen.QuoteYou can make them with GIMP as well. In the current version, go to the Image menu, select Mode, then Indexed. In the Indexed Color Conversion dialog, select "Use black and white (1-bit) palette." When you're done, export the image in Windows BMP format (saving, on the other hand, uses GIMP's native format).

author: qu1ck
author_rank: Regular Contributor
timestamp: July 08, 2018, 05:40:00 am
content: bitseekerThanks for the tip, I found a plugin for paint.net can do it too so I'm using it now. GIMP's ux makes my skin crawl.I took the multimeter apart and did a whole lot of measurements.TLDR is I'll have to do a custom board.All measurements in mmViewport dimensions (cutout in front panel plastic): 143.5x27Useable width of the viewport (metal chassis takes away few mm on the left) ~137mmOLED display board dimensions: 100.5x33.5Blue Pill mcu board dimensions (without jtag header, board only): 53x23In terms of height everything fits fine, the original display has a metal shroud that is 35mm, new display board will fit there easily.Depth is tight but should be ok too. Old display has distance board to top of glass of 13.3mm but it sits in a little recess in the viewport. New display doesn't fit in that recess so I have to fit into 11.5mm of depth. And there is that fat DIP42 UPD7527 that takes 4-4.2mm of space under display. So there is ~7.3 left. New display is 6.5mm deep, including components on back side.Problem is width. As you can see 53 + 100.5 > 137 by quite a bit. You can win 6-8mm by moving display to the right so that the board edge and part of display bezel edge is not in the viewport but it is still not enough.If you overlap left part of display board with mcu board and chop off the jtag header part completely (may have to sacrifice LEDs too) then maaaybe it will fit. But that is too barbaric for my taste.So next thing i'll focus on is designing custom board. It's a shame, many people are afraid of soldering 0.5mm pitch qfps so it will limit this mod's accessibility for a hobbyist. I just hope that the kind of people that have this type of instrument are advanced enough in the soldering department that it won't be much of a deterrent. With custom board I will be able to stick the USB out through a small cutout in the front window panel. That will make firmware updates so much easier.And no, arduino pro mini while being smaller doesn't have the speed. 8bit AVRs suck these days, their only upside is availability in easily soldered packages.On the bright side, the display is quite, well, brighteven behind the original tinted window. It doesnt even tint it blue, just decreases the contrast a bit.Without the window both displays have approximately the same contrast and brightness.

author: HighVoltage
author_rank: Super Contributor
timestamp: July 08, 2018, 07:39:52 am
content: It looks very nice readable behind the original window.Very nice job!

author: bitseeker
author_rank: Super Contributor
timestamp: July 09, 2018, 05:13:29 am
content: Quote from: qu1ck on July 08, 2018, 05:40:00 amYep, always good to have options.QuoteI kind of figured that might happen. However, you can then get things just the way you want them.QuoteHopefully, they didn't blow their budget getting the 34401A and can get a hot air station, if they don't already have one.QuoteThat's good news. I was afraid that the filter would be too dark. It looks fine.

author: Zucca
author_rank: Unknown
timestamp: July 09, 2018, 07:12:00 am
content: qu1ck, impressive. Somebody should give you a Keithley 2xxx when you are done with the 34401a.Congrats.Quote from: qu1ck on July 08, 2018, 05:40:00 amProbably you will sell a truck of them. Please consider a group order.Is it possible to squeeze in it a RS232-USB or Serial Bluetooth/WIFI Ethernet (for remote logging) adapter in it? I am thinking how to use the extra space in the front wisely. Also a bigger diplay with the opportunity to placing some fixed label on the side could be neat, with multiple 34401a on the bench knowing what is measuing what with display labels is nice to have. Don't know how to upgrade the labels, probably all my ideas are too complicated to realize.Maybe creating a dedicated thread in the test&equipment is also a nice call, so other people could tip in.

author: bitseeker
author_rank: Super Contributor
timestamp: July 09, 2018, 05:42:15 pm
content: Quote from: qu1ck on July 08, 2018, 05:40:00 amQuote from: zucca on July 09, 2018, 07:12:00 amIt seems that these two USB ideas go well together conceptually. Having the port in the front only for updating firmware seemed unnecessary (could just have it inside), but if the port is available for logging, too, then that'd be great.Quote from: zucca on July 09, 2018, 07:12:00 amqu1ck said that he's making this project open, so there may be lots of interesting things to come.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 09, 2018, 07:41:54 pm
content: Quote from: zucca on July 09, 2018, 07:12:00 amDoing logistics of group order and delivery is not worth it to me. Board designs as well as everything else will be open so anyone can do it.Quote from: zucca on July 09, 2018, 07:12:00 amYes, stm32f103 usb port works as a serial port. For now it is only used to upload firmware and monitor debug messages but it's entirely possible to send a properly formatted data out of it and/or send commands back. You won't be able to emulate button presses though, my board only listens on the data lines.Quote from: zucca on July 09, 2018, 07:12:00 amBigger display will likely not fit, they are a lot more expensive too. Labels are easy to do, I can display them instead of the bar graph below. I think I'll add that feature. You'll be able to set/update/unset label via usb serial command.Quote from: bitseeker on July 09, 2018, 05:42:15 pmHaving port easily accessible is super useful for development. I upload firmware 10-20 times during each coding session. Having multimeter taken apart all the time would be PITA.But yes, the port also streams display data.

author: floobydust
author_rank: Super Contributor
timestamp: July 09, 2018, 07:42:29 pm
content: I reverse engineered the 34401-66502 front panel PCB mechanical a while ago, it was no fun. Many hours with calipers, lots of slots...HP's mechanical engineering here has many innovations, actually very good engineering when you dig in.The PCB sliding in and snapping into place (no fasteners) with a conductive rubber keypad, a complex difficult plastic mold to reduce costs- impressive work.At the time I thought I had a failed uPD7527 and was designing a replacement front panel PCB that would still use the VFD but with a new MCU and VFD driver. This is for a simple Gen1 34401-66502 replacement. Not to be confused with Gen2 34401-66512 front panel PCB that uses 87C51 and SN75518's and requires different DMM firmware.I have another 34401a to repair with the polka-dot problem, waiting for parts to arrive. If it is the NEC MCU then I will just finish the replica PCB.

author: bitseeker
author_rank: Super Contributor
timestamp: July 09, 2018, 11:38:56 pm
content: It'd be nice to combine qu1ck's display with flooby's replica front panel PCB. However, handling of the buttons would still need to be added, right? I assume that's what's meant by "finish the replica PCB."

author: bitseeker
author_rank: Super Contributor
timestamp: July 09, 2018, 11:46:20 pm
content: Quote from: qu1ck on July 09, 2018, 07:41:54 pmYep. I might look into organizing a group buy for this. It may be OK in the form of kits (i.e., DIY soldering). Getting it completely manufactured might be too much of a project. We can revisit after qu1ck is done.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 10, 2018, 01:05:54 am
content: Heh. I thought of completely replacing the front panel PCB too. It is doable but will need even more firmware development (I have button codes but I don't currently emit anything onto data lines). Also manufacturing that pcb will be quite costly.As floobydust mentioned it has lots of cutouts and would need precision machining, as well as tight tolerance on thickness to fit snugly and gold plating for button pads and it's pretty big and... yeah it's gonna cost ya. Nowhere near the $2 for 10 bargain that I can get for tiny 2 layer mcu board.

author: bitseeker
author_rank: Super Contributor
timestamp: July 10, 2018, 01:23:34 am
content: Yeah, it's another level for sure.

author: floobydust
author_rank: Super Contributor
timestamp: July 10, 2018, 06:29:14 am
content: Quote from: bitseeker on July 09, 2018, 11:38:56 pmAt first I thought of making a small daughter board to replace only the NEC uPD7527 but not enough space.Then I figured just replace the entire front panel PCB, keeping the VFD. New tubes are plentiful from China.I started with the mechanical, including the keypad etc. Then the H/W and F/W design is how I usually go. Getting a PCB made to verify how it fits, it's on the list.I don't want to compromise the instrument by having a noisy, high current MCU running off the +/-18VDC rails which run to the A/D converter. Designing for conducted EMI and keeping it quiet to keep life rosy at 6-1/2 digits is important.I think an underclocked Bluepill would be OK, or Mega328PB- something with two SPI ports and under 12mA. The original uPD7527 is 3mA, and 12mA for 87C51.To bring the multimeter up to date, adding wireless is tempting. WiFi needs a lot of TX current, so power would have to come off the 5VAC filament winding. ESP8266 is max.170mA chirpsbut the second SPI port would have to be bit-banged I think. ESP32 seems like overkill? But only $5.I haven't really nailed down what I'm doing.This is the keypad drawing, one key needs vias moved but the slots and VFD and bracket crap I have also figured out.I can try add qu1ck's OLED and see how that fits. The huge 5.5" OLED was too big.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 10, 2018, 07:17:29 am
content: You have to bit bang SPI either way. In 34401a protocol FP notifies the master of readiness to receive next char or button press event by pulling MISO line low and waiting for the clock. I don't think that kind of shenanigans are normally supported in hardware SPI on most MCUs, but I may be wrong.Thanks for the drawing, it will come handy.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 13, 2018, 09:56:43 am
content: Did first pass on the board. I would appreciate feedback. I've done much more complex boards before but still, this is not my expertise.Some notes: height, mounting holes and 16 pin header match the display board so that you solder it directly on top (maybe with a pin header as a strut, which you can cut off later). I noticed now that it should be 33.5mm high, not 35, that's an easy fix.Data lines are short and nice, 5v data inputs are fed through 10k resistors to protect stm32 just in case. Those pins are supposed to be 5v tolerant.UART header and boot state solder bridge are only there to make flashing bootloader easier. After that you will always use usb bootloader.Power is supposed to be fed from unregulated U553 input on the dmm, that's the line that is feeding earth referenced 5v. I don't think that line is sensitive at all, correct me if I'm wrong. That power input will also go to display Vcc.Voltage reg is placed on a big polygon, but I kinda eyeballed the power dissipation. Need to check the math on that.Also ignore the pin headers on the render, they won't be there in end product.

author: HighVoltage
author_rank: Super Contributor
timestamp: July 13, 2018, 04:56:17 pm
content: What PCB software are you using?

author: qu1ck
author_rank: Regular Contributor
timestamp: July 13, 2018, 08:13:03 pm
content: Kicad 5 rc3.Sent from my moto g(6) using Tapatalk

author: qu1ck
author_rank: Regular Contributor
timestamp: July 14, 2018, 08:36:06 am
content: Added eeprom, cleaned up and annotated pcb, fixed height.It's going to the fab! Even if I screwed something up, I'll be only out $10.

author: floobydust
author_rank: Super Contributor
timestamp: July 14, 2018, 10:21:20 pm
content: I wasn't sure about the physical location, 12V power source etc.The OLED modules I've looked at have a different pinout. Not sure what OLED part you are using, I'm thinking of the 3.12" offerings. The modules with on-board boost converter are 5V powered with 3.3V I/O to match the SSD1322, using around 150mA at 5V. I think 12V input will heat up the vreg too much.10k series resistor on MISO is too high, consider R517 215R and R506 5k62 5V pullup on the main ASIC and CPU, I don't think you'll get a logic 0 there.I use a series resistor between 5V outputs and 3.3V inputs, "5V tolerant" sometimes means the IC has diodes to +3.3V

author: qu1ck
author_rank: Regular Contributor
timestamp: July 15, 2018, 12:53:14 am
content: floobydust, thanks for reply. Display I'm using is this one, it has different pinout from one on your pic:https://www.buydisplay.com/download/manual/ER-OLEDM032-1_Series_Datasheet.pdfIt is powered the same way but I plan to rip out the boost converter from the display and feed 12v directly where boost output is to minimize switching noise. 3v3 from voltage reg will also go in on the standard pin to power ssd1322.Re MISO resistor, what does it matter what the pullup is? All the pins on that 10k RN are configured as inputs. My board does not output any signals, only listens on what is going on the CPU->FP data lines. It's the front panel micro that will be fighting against the MISO pullup. (Or rather the comparator they use to shift voltage levels, but the point stands).I calculated heat dissipation on voltage reg and assuming there is 0.5inch^2 of copper attached to it I can dissipate about 0.5 watt before it goes past ~60C. For 8-9 volt drop that's about 55-60mA. I am hoping that stm32 + ssd1322 - high voltage consumption of ssd1322 will fit into that. Some quick searching did not give any specific numbers for either of these chips, I guess it varies a lot depending on used peripherals and display update frequency.As a backup I can always tap from regulated 5v of the DMM instead.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 17, 2018, 01:41:12 pm
content: Poor chinese bastards have no weekendsI already got a tracking number yesterday.While I'm still waiting for the boards I though I'll show Kicad bom generating script I wrote a year ago. Adapted it to Kicad 5 as a plugin now, here is result (it will be deleted after a day):http://ibom-showcase.bitballoon.com/It doesn't support arbitrary polygon shapes, rounded rectangle pads, other things, but it is still useful. I used it before on a much more complex board, highlighting similar components was very handy for hand soldering hundreds of smd components. Let me know what you think, if others like it too I might make an effort to support pcb format more fully and I'll open source it.

author: Zucca
author_rank: Unknown
timestamp: July 17, 2018, 02:54:21 pm
content: Quote from: qu1ck on July 14, 2018, 08:36:06 amSorry for asking, which one?

author: Kosmic
author_rank: Super Contributor
timestamp: July 17, 2018, 03:28:44 pm
content: Quote from: qu1ck on July 17, 2018, 01:41:12 pmReally cool, good job!

author: qu1ck
author_rank: Regular Contributor
timestamp: July 17, 2018, 08:56:05 pm
content: Quote from: zucca on July 17, 2018, 02:54:21 pmAllpcbTheir quality is good from my experience, although silkscreen is not highest resolution print. But nothing beats $10 prototype boards with express fabrication and free dhl shipping.Sent from my moto g(6) using Tapatalk

author: bitseeker
author_rank: Super Contributor
timestamp: July 17, 2018, 09:01:20 pm
content: Quote from: Kosmic on July 17, 2018, 03:28:44 pmThat is a very cool tool!

author: Zucca
author_rank: Unknown
timestamp: July 18, 2018, 07:15:43 am
content: Quote from: bitseeker on July 17, 2018, 09:01:20 pmNice one,qu1ckis now in my buddies list.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 20, 2018, 07:08:04 am
content: Well this is a hilarious fuckup (images clickable):Do you see it?How about now?And yes, I double checked my gerber files, they are obviously correctI'll try to scrape the solder mask off, maybe this batch is salvageable still.How did they even manage to do this? Well, back to the fab with ya.

author: bitseeker
author_rank: Super Contributor
timestamp: July 20, 2018, 07:30:33 am
content: Wow, not just one pad, but two of them. Maybe a bug in their software? Both cases were similar in that the trace to the pad continued straight through. However, there's a trace on the lower left that went through the pad to a via and that didn't get solder masked. Odd.

author: Zucca
author_rank: Unknown
timestamp: July 20, 2018, 07:39:42 am
content: Quote from: qu1ck on July 20, 2018, 07:08:04 amYes, it will be not pretty but it should work.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 20, 2018, 09:20:12 am
content: Yeah, only ground plane pads got affected and only 2 of the 4.Fret not, some elbow grease and good microscope to the rescue:Also had some fun with recording video. I just might record the whole assembly process too.https://youtu.be/ZoB_NMqq5YA

author: bitseeker
author_rank: Super Contributor
timestamp: July 21, 2018, 12:49:14 am
content: Looks good, qu1ck. If you record the assembly, I'll watch.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 25, 2018, 12:03:40 pm
content: I'm waiting on couple parts to arrive before I start the build. But in the meantime I published the Kicad BOM plugin I showed earlier.GithubBetter than earlier demoStarted a thread for it in KiCad sectionhttps://www.eevblog.com/forum/kicad/interactive-html-bom-plugin/

author: hillflyer
author_rank: Contributor
timestamp: July 27, 2018, 02:10:45 pm
content: How about displaying the 1 or 2 extra digits that are available via GPIB or RS232?

author: Samogon
author_rank: Frequent Contributor
timestamp: July 27, 2018, 04:13:32 pm
content: Quote from: hillflyer on July 27, 2018, 02:10:45 pmSince he is getting data given to front panel i think it is not possible.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 27, 2018, 07:44:43 pm
content: Quote from: Samogon on July 27, 2018, 04:13:32 pmCorrect. Also what's the point? I didn't know more digits are available on GPIB but they can't be meaningful digits, can they? At given sampling rate front panel already displays every digit of resolution the instrument has.

author: coromonadalix
author_rank: Super Contributor
timestamp: July 27, 2018, 08:29:16 pm
content: Don't get too over complicated lolll

author: hillflyer
author_rank: Contributor
timestamp: July 28, 2018, 09:36:51 pm
content: I agree with not getting too complicated.I do think the extra digits provide some meaningful information though.The graph shows my quiet 2.5V reference on the 10V range of the 34401a.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 28, 2018, 11:02:03 pm
content: That's interesting, that looks like 8 digits on 10v range. How can you be sure that isn't just ADC noise?Either way, I can't do anything about adding those digits, that information is not sent to front panel.

author: hillflyer
author_rank: Contributor
timestamp: July 29, 2018, 04:49:07 pm
content: Yeah, no problem.Re. ADC noise: In 6 1/2 digit slow mode, it looks like there is about 2uV p-p noise incl. the reference noise.I use 5 paralled MAX6325 for lower noise.I am sure you cannot rely on the long term accuracy of these extra digits, but sometimes it is helpfulto be able to squeeze a bit of extra info out of that measurement if needed...

author: qu1ck
author_rank: Regular Contributor
timestamp: August 06, 2018, 11:36:46 am
content: Long overdue update. Good news, I didn't screw upBoard works perfectly fine. Don't mind the botched wire on the last pic, it's an impatient man's diode.

author: HighVoltage
author_rank: Super Contributor
timestamp: August 06, 2018, 11:53:26 am
content: Looking really good!

author: Zucca
author_rank: Unknown
timestamp: August 06, 2018, 12:10:13 pm
content: Drool!

author: coromonadalix
author_rank: Super Contributor
timestamp: August 06, 2018, 09:14:44 pm
content: drool +1

author: bitseeker
author_rank: Super Contributor
timestamp: August 07, 2018, 03:13:32 am
content: Wow! As Dave would say, "It's like a bought one."

author: qu1ck
author_rank: Regular Contributor
timestamp: August 07, 2018, 09:03:37 am
content: Testing and implementing display rotation (almost) done:By the way I have 11 spare boards. 5 from original batch (need a bit of precision scraping of solder mask) and 6 from re-fab. Allpcb fixed their shit, no questions asked. Also both times they sent 6 instead of ordered 5.I'm going to keep 1 but I will probably send out the rest to interested parties for a symbolic payment that I have yet to think of. Frequent posters of this thread get first dibs.

author: Zucca
author_rank: Unknown
timestamp: August 07, 2018, 10:03:52 am
content: votequ1ckfor president.Looks awesome.

author: HighVoltage
author_rank: Super Contributor
timestamp: August 07, 2018, 10:15:08 am
content: You did an amazing job with this.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 07, 2018, 10:51:21 am
content: is it me it seem very brightwould it be possible to dim it a littlenice job

author: Zucca
author_rank: Unknown
timestamp: August 07, 2018, 10:56:14 am
content: With the acrylic glass on top it should be just perfect... I would not dim it.

author: qu1ck
author_rank: Regular Contributor
timestamp: August 07, 2018, 04:43:00 pm
content: At some point contrast will be configurable to reduce burn in. But it looks just right on max imo.

author: Detzi
author_rank: Regular Contributor
timestamp: August 07, 2018, 07:06:42 pm
content: thats a really nice mod. I like it, great work!But will the OLED not have the tendency to burn in ?

author: free_electron
author_rank: Super Contributor
timestamp: August 07, 2018, 07:43:48 pm
content: the display is much smaller than the real characters.i would change the font to be more 7 segment like and scale down the mVDC text.in essence : get rid of the bargraph : larger numericals , smaller alpha.otherwise i like it.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 07, 2018, 08:13:57 pm
content: just sad not to find a perfect fit in size snif, but job well done, next a fluke 8846a lolll

author: bitseeker
author_rank: Super Contributor
timestamp: August 08, 2018, 02:36:09 am
content: Looks awesome, qu1ck! And you went from concept to production quite quickly, too (very much in line with your username). I'm definitely interested in a board.Regarding user-specific preferences for display/font size, etc., qu1ck said he was making the project open source, so you'll be able to modify how it looks and could adapt it to other displays.

author: qu1ck
author_rank: Regular Contributor
timestamp: August 14, 2018, 10:39:03 am
content: Firmwareandhardwareis released.I only have mechanical considerations left to resolve I think. I.e. how to mount the display.

author: qu1ck
author_rank: Regular Contributor
timestamp: August 27, 2018, 01:39:12 am
content: As luck would have it the metal shroud of the old screen fits new screen pretty much perfectly.Even existing small flaps that used to hold the glass panel can now hold the display pcb eliminating need for any screws!On the left the pcb slightly leans on the big fat MCU, in the middle shroud flaps are over it and at the far right end shroud flaps are under it. That creates small tension in pcb which is enough to hold it in place pretty well.This is how it looks like in the panel:And the satisfying conclusion to this endeavor:One thing that is not ideal is the front glass being quite thick requires a usb cable with long connector end, your standard phone cables will not click in.But while this is a conclusion for the project it's not the end for firmware. I still have not utilized the onboard eeprom, which I plan to store settings in.Changing contrast on the fly, displaying a label in place of the bar graph, custom fonts and ability to display bigger digits at the expense of bar graph are on my radar.You can follow the firmware github repo for future updates.

author: bitseeker
author_rank: Super Contributor
timestamp: August 27, 2018, 01:59:58 am
content: Amazing how well all the new bits fit in place. Congrats on a very cool and successful display upgrade.

author: mlefe
author_rank: Regular Contributor
timestamp: August 27, 2018, 02:10:42 am
content: Excellent work!!

author: qu1ck
author_rank: Regular Contributor
timestamp: August 27, 2018, 02:15:00 am
content: ThanksNow I have 10 boards I can send out and 1 mostly working VFD screenAnyone who wants a board can pm me, we will exchange addresses and I will send you a board in exchange for a fridge magnet. I like fridge magnetsDoesn't have to be a big one, something that can be send with ordinary mail is fine. if it's connected to your local landmark that would be great, but anything will do.I don't expect to receive a lot of requests, but in case I do priority will go to users who posted in this thread.

author: bitseeker
author_rank: Super Contributor
timestamp: August 27, 2018, 02:29:24 am
content: That's a unique idea. Let me see what I have or could locate that would be neat to send to you.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 27, 2018, 10:35:59 am
content: Maybe send some email of your project at Xdevs for your / substitution replacement displayit could be an good resource

author: qu1ck
author_rank: Regular Contributor
timestamp: August 28, 2018, 01:48:23 am
content: xdevs submission process looks way too cumbersome. Uploading docs to ftp is so last century.I did submit my project to hackaday tho. Maybe they will feature it.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 30, 2018, 12:10:23 am
content: Now on HackaDay

author: bitseeker
author_rank: Super Contributor
timestamp: August 30, 2018, 12:16:10 am
content: Congrats, qu1ck!https://hackaday.com/2018/08/29/faded-beauty-dmm-gets-an-oled-makeover/

author: Zucca
author_rank: Unknown
timestamp: August 30, 2018, 07:02:11 am
content: Congrats, well done!

author: HighVoltage
author_rank: Super Contributor
timestamp: August 30, 2018, 08:16:45 am
content: How nice to see it on hackaday.Congratulations.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 31, 2018, 06:11:32 pm
content: Have you seen this display ? RS232 interface would it be possible to adapt / interface itwould the physical size fithttp://noritake-vfd.com/gu256x64d-7000bx.aspxpdfhttps://www.eevblog.com/forum/repair/fluke-8846a-repair-shenanigans/?action=dlattach;attach=511772

author: qu1ck
author_rank: Regular Contributor
timestamp: August 31, 2018, 07:09:57 pm
content: You can interface it (using parallel, rs232 is too slow) but it's too big. I think you can fit at most 135x35mm display without taking dremel to your dmm.Also it costs half the dmm

author: justanothername
author_rank: Regular Contributor
timestamp: December 30, 2018, 04:01:00 pm
content: So.I spent the day trying to get the display working, but I must give up for now, I'm completely stuck.Installing the platformio IDE and the tools in windows was not easy, i must say this seems to be a linux-only project. I really would apreciate just a .hex file to upload with JFLASH but there is nothing on github.So I don't really know if I did everything right, since there is a tool needed in Windows to get the driver working (Zadig) and there are many driver options to choose from. I was able to flash the bootloader onto the MCU by soldering SWO wires onto it. And I was able to find the correct settings in Zadig to upload it at least once. The status now is that it displays the bargraph, but nothing else (see attached picture).I was not sure how to connect to the PCB to the display board of the 34401a, but at least clock and int seemed clear. I tried crossing out MISO and MOSI (DI and DO) but no reaction. The problem now is that i don't know if it just can't decode the display data or if it the MCU somehow crashes after the bargraph is drawn.So:What is the correct connection? Is there a hex or bin that works when i just flash it by SWO? how should I set the boot jumper (I can see by looking the picture that position F is soldered)? How can i assure that the program is working at least?That was quite a frustrating journey until now

author: coromonadalix
author_rank: Super Contributor
timestamp: December 30, 2018, 04:58:30 pm
content: Qu1ck told me the pinouts used are in parallel of the falt ribbon cablehere's the answers he gave me :I took power from floating 5v, output of U553.Your other option is to take it from input of that regulator, in that case you are less likely to feed any switching noise from oled screen (it has a built in boost converter) into multimeter, but I highly doubt that matters in any way. My measurements did not show any noticeable impact.But if you take it from input you will be on the limits of lm1117 power dissipation with the polygon I have for it on the board. You can stick small piece of metal as heatsink on it or better yet rip out the boost converter from the screen and feed higher voltage into the panel directly. That will limit current consumption of the front panel converter (my board) and eliminate any switching noise. But I didn't bother, total current consumption of my board + oled screen is 60-70 mA. If you feed 5v into lm1117 it will be just fine. Just don't take it from +18v becase a) it's used in sensitive analog stuff and b) voltage drop for the regulator will be too high.FPINT is not currently usedSend him an email if you need some help, in a month i'll order the lcd to try this project for myself too, i have a nice 34401 to play with.But he told me his project is not tested with the newest pcb version having the 75518 vfd driver ... i have 2x 34401a with this pcb

author: justanothername
author_rank: Regular Contributor
timestamp: December 30, 2018, 06:05:05 pm
content: Quote from: coromonadalix on December 30, 2018, 04:58:30 pmFor testing purposes i was powering the PCB with a laboratory power supply. Powering was ok, I could even see the resonator working at 8MHz.I checked all the solder joints end even probed with the scope on the MCU pins, the signals were present. I managed to use the jlink with SWD in platformio and flashed the program without bootloader. Aside from the bargraph beeing drawn, no data was displayed, just as before. The last thing before I reassembled the unit was that I triedevery possiblepermutation of the cable connection.I used these contacts at the flat ribbon connector:GND (1)IGFPDI (4) - tried at MISO and MOSI and INTIGFPSCK (6) - connected always to SCKIGFPDO (2) - tried at MISO and MOSI and INTIGFPINT(10) - tried at MISO and MOSI and INTAs I can see in the service manual, there is also a version of the display board with an 80C51 microcontroller. Idk if I can determine the used components without desoldering the VFD, but maybe there are different protocols used in later versions. For now I will leave the VFD soldered in, as it is fully functional, but a little dim.For the powering situation, another way is to use -13V as VCC and -18V as VDD (gnd). Then use the outputs of the comparator U607 as inputs to the OLED-board. Both (-18V and -13V) should then be fed through some ferrites.Since the OLED panel got boost converters on it, it may be necessary to add some additional shielding. Maybe i will try to improve the EMI radiations of the converter. The usual methods would be to increase output capacitances, to add shunt capacitors from in to out, or to change in/out capacitors to lower-ESR types.But first things first, the next goal for me is to actually see something on the display.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 30, 2018, 06:46:32 pm
content: For the front panel, if you look on the back pcb and see two dip rows of soldered pins + the ribbons and vfd pins ... youll know that you have the nec unobtanium display .....The newest version has only the vfd rows pins and the ribbon pins and pn: 66512 sticker on it, my other pcb vfd doesn't have the sticker ??sn : us3610xxxxsn: 3146-A75xxxxBoth have the firmware : 10-05-02 ??Version: 06-04-01 and lower = old pcbVersion: 06-04-02 and higher = new pcbOnce again, qu1ck wrote not tested with the newest pcb versionVCC (2) floating 5 volts output of U553, i would not dare to poke on the +/- 18v lines they are for the measurements sections ... it could affect the meter ?GND (1)IGFPDI (4) - should be MOSIIGFPSCK (6) - should be SCKIGFPDO (2) - should be MISOIGFPINT(10) - should be INT but not usedWe see clairly (picture attached) he used 5 pins on his pcb, not the 6th (int)

author: coromonadalix
author_rank: Super Contributor
timestamp: December 30, 2018, 07:11:12 pm
content: Oh i think we need the adafruit gfx librairies to compile it ?? The only thing i have on hand is the stm32 blue pills boards, they are arduino IDE compatibles ...I have received from Qu1ck one of his pcb, but don't have time to assemble it right now, too many projects on hand, and i go on vacation january 10There is an firmware.bin (attached) who is already compiled .. try this oneThe other firmware_debug.bin (attached) spit out on serial some data ??He wrote : the eeprom is not needed for now ??

author: justanothername
author_rank: Regular Contributor
timestamp: December 30, 2018, 07:29:59 pm
content: Quote from: coromonadalix on December 30, 2018, 06:46:32 pmThis seems like my version (attached pic).I can confirm that I tried the configuration you described and it does not work. Do you know if the panels are interchangeable across versions? If not, then it is obvious that there are protocol differences.For the firmware: I use the STM32F103CBwith double flash size, so I recompiled the project for this controller. However, it should be no problem to flash a firmware compiled for C8 straight onto the CB.As for the adafruit gfx libraries, you can load them with Platformio within VSIDE, but you need to manually delete SPITFT as stated in his howto.md.here is the modification to platformio.ini for my board:Code:[env:release]platform = ststm32framework = arduinoboard = genericSTM32F103CBboard_build.variant = customdebug_tool = jlinkupload_protocol = jlinkfirmware attached.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 30, 2018, 07:47:19 pm
content: the pcb are not interchangeable if you dont downgrade the firmware version prior to thoses i've wrote, come from a Keysight service note ...

author: qu1ck
author_rank: Regular Contributor
timestamp: December 30, 2018, 09:37:45 pm
content: justanothernameCongrats, you appear to be the first person aside me who built this even though I already sent out a few boards over the last months.coromonadalix already gave you most of the information and everything they said is accurate. You have already found a way to compile and flash the firmware but just for posterity, prebuilt binaries are available on github, the link is just not intuitive to find for people unfamiliar with github interface:https://github.com/openscopeproject/HP34401a-OLED-FW/releasesYour display initializes with bargraph, which means firmware works fine. STM32F103CB and STM32F103C8 are exactly the same, even though c8 is supposed to have half the flash, in practice they work fine and can be flashed with more than 64k binaries. There are no guarantees, of course, but neither I nor many other blue pill owners ever saw a c8 chip with less than 128k actual flash.You definitely have new front panel, which I never tested because I don't have it. Lets try to make this work together and if needed I can make adjustments to firmware to make it compatible with new meters.First flash the debug firmware (to compile it just add #define DEBUG in config.h or compile with debug target with 'platformio run -t debug'). That firmware prints out lots of information into usb serial so just post here the info that it prints out when meter is just turned on and idling on voltage range. There should be steady stream of updates to front panel.Second thing you can do is grab a 5-10 second capture of clock and data lines with logic analyzer if you have one (again with meter idling on voltage range).

author: justanothername
author_rank: Regular Contributor
timestamp: December 30, 2018, 09:51:51 pm
content: Quote from: qu1ck on December 30, 2018, 09:37:45 pmWonderful! I'll get back to you later next week since I'm off for new years eve and propably have to get sober first.PS: I have 9 PCBs left that I don't need. If anyone needs one, this is the deal: you send me a PM, I send you my adress, you send me a postcard, I'll send you a PCB back in a letter.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 30, 2018, 10:32:43 pm
content: @Qu1ck could the code be ported to the arduino ide's ??I do know the blue pill must have the right boot loader ?? could it be viable or doable

author: qu1ck
author_rank: Regular Contributor
timestamp: December 30, 2018, 10:43:51 pm
content: Quote from: coromonadalix on December 30, 2018, 10:32:43 pmYes, it should be doable since arduino IDE for bluepill uses same framework as I do. But frankly I have no interest to spend time on this, you'll have to figure it out.My advice: ditch the arduino IDE like the glorified trash notepad with a compile button that it is. Any of theplatformio IDEsare miles ahead and completely superseed arduino IDE. I use Atom based one because it came out first but VSCode is even better.

author: justanothername
author_rank: Regular Contributor
timestamp: July 13, 2019, 03:26:56 pm
content: After a long time a quick update.I now got myself one of these cheap replacement VFDs from aliexpress. If someone needs the oled display i built, please send me a private message, maybe we can figure something out.

author: qu1ck
author_rank: Regular Contributor
timestamp: July 14, 2019, 11:25:26 am
content: Just wanted to note, I'm still open to help you or anyone else with newer meter and some free time to resolve incompatibility with current firmware. Since I only have an older meter I can't do it myself. I would like to see logic analyzer dumps of SPI bus to start.

author: justanothername
author_rank: Regular Contributor
timestamp: July 15, 2019, 03:14:18 pm
content: Quote from: qu1ck on July 14, 2019, 11:25:26 amThank you for the offer! The thing is: I got paranoid. I've been watching how the voltage reading of the meter was changing when the case was unscrewed. Then I thought about the extra two clocked devices (cpu @ 8mhz and oled @ i dont know) I was about to put into the housing.I know it is bullshit and will not affect the precision, but I did shit my pants and went with the replacement vfd.I'm very sorry.

author: coromonadalix
author_rank: Super Contributor
timestamp: July 15, 2019, 08:23:13 pm
content: I do have recent hardware front pcb's in my two 34401a meters, but i dont have the logic analyser thing ....never used such tools

author: qu1ck
author_rank: Regular Contributor
timestamp: July 16, 2019, 02:08:21 am
content: Get yourself cheapo analyzer, any hobbyist should have one in their tool kit.https://www.ebay.com/itm/USB-SALEAE-24M-8CH-Logic-Analyzer-24M-8-Channel-FPGA-debugging-tool-With-buffer/173828458153?hash=item2878fbc6a9:g:E6kAAOSw56Fc0-ytIt's supported by open source software sigrok/pulseview:https://sigrok.org/wiki/Downloads

author: iMo
author_rank: Super Contributor
timestamp: August 13, 2019, 09:56:21 pm
content: Any idea what is the filament current of the original display?Thanks.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 13, 2019, 10:06:07 pm
content: 10 ohms of impedance / resistance

author: iMo
author_rank: Super Contributor
timestamp: August 13, 2019, 10:25:59 pm
content: Ok, 10ohm, and the voltage is 6V (when looking into the SM p.9-7) therefore 600mA AC, imho.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 13, 2019, 10:29:12 pm
content: 6v in 10 ohms is 600ma not 60 ma

author: iMo
author_rank: Super Contributor
timestamp: August 13, 2019, 10:36:19 pm
content: That is a long back I saw something like 600mAA pretty large current, my display is normally off (I use BT), so I think I will switch the filament off as well.. Another project..

author: coromonadalix
author_rank: Super Contributor
timestamp: August 13, 2019, 10:57:17 pm
content: you can turn the display off thru some commands, you can find the user manual easilypage 132http://ecee.colorado.edu/~mathys/ecen1400/pdf/references/HP34401A_BenchtopMultimeter.pdfDISPlay {OFF|ON}Turn the front-panel display off or on.[Stored in volatile memory]http://cna.mamk.fi/Public/Slabra/Agilent/Multimetro_Digital_34401A_Quick_Reference_Guide.pdf

author: qu1ck
author_rank: Regular Contributor
timestamp: August 13, 2019, 11:02:10 pm
content: That will not cut filament power, it is not digitally controlled.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 13, 2019, 11:15:41 pm
content: yep you're right quick@imo do you want to save the remaining life of the vfd ??

author: iMo
author_rank: Super Contributor
timestamp: August 13, 2019, 11:21:19 pm
content: Sure, the filament is permanently on. The command (via remote or from the keypad) switches off all the segments (such it deloads the 2x18V anode voltage) only.As a first step I want to decrease the power consumption by 4Watts

author: qu1ck
author_rank: Regular Contributor
timestamp: August 13, 2019, 11:36:10 pm
content: If I recall correctly you can just pull 2 brown wires from the transformer that provide filament voltage from the power connector block that goes into main board. Isolate the pulled contacts and that's it.Are you using some sort of GPIB to bluetooth converter?

author: iMo
author_rank: Super Contributor
timestamp: August 13, 2019, 11:43:45 pm
content: I've been using rs232 to HC-05. Powered from the meter.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 14, 2019, 12:00:23 am
content: You could use an i/o line to switch of your vfdYou have pio2 thru 11 to play with ...https://www.rhydolabz.com/documents/HC-05_datasheet.pdfthe command at page 11 section 17 should give you what you needhttps://www.rhydolabz.com/documents/HC-05%20AT%20Commamd.pdfjust add you on / off circuit on pio line Ie : an small npn transistor with an small 5v relay ??

author: iMo
author_rank: Super Contributor
timestamp: August 14, 2019, 12:12:38 am
content: I plan to use an MCU put inside the meter for such tasks..The HC-05 will stay outside the box.PS: the toggling with PIO pins works in AT mode only, afaik.I've been using it as a dumb serial device passing bytes at 9k6 8N2 to/from the meter.

author: coromonadalix
author_rank: Super Contributor
timestamp: August 14, 2019, 12:58:56 am
content: The 34401 can constantly output " talk only " if you set it to adress 31 and select gpib or rs232 output ??From KeysightIn the "talk only" mode, the Agilent 34401A automatically sends readings directly to the GP-IB or RS-232 port. To enable the "talk only" mode, first set the HP-IB address to "31" using the front-panel I/O Menu. Then, select either the GP-IB or RS-232 interface (also in the I/O Menu)

author: iMo
author_rank: Super Contributor
timestamp: August 14, 2019, 07:27:53 am
content: Yes it can do via rs232 with the 31 address. It sends out strings (scientific floating point, like "+9.99995790E+00") with results.For example you may read the rs232 strings with an external MCU and display them on any display you wish then..PS: the filament changes its resistance when ON, imho. So the current will be smaller after the filament heats up..

author: hakko
author_rank: Contributor
timestamp: September 08, 2019, 02:07:55 pm
content: HI! I scored on 34401A (agilent dated december 2006) it have a dead front panel vfd. It does not show any digit. The front panel have a EE80C51BH 34401-88813 REV 2.0 and HV518PJ vfd driver. The meter respond for key press.Investigating the problem I had decoded the the data from the main board cpu to front panel with a logic analizer the data will be attached here. I also decoded the serial bus from 80C51 ---> HV518 and it have clock and data activity also latch pulse signal and strobe are always at 0 state. I think the mcu is fine but it have a dead vfd driver. The board have no shorts or huge heat elements (checked with thermal camera).I removed the vfd driver and applied +18V (with current limit resistor) on plate and anode segments for a short time and the vfd segments light up so the vfd display it's not faultyAnyone with this board rev 66522 had this problem before? I ordered HV518 from utsource but I don't know if it's good quality

author: coromonadalix
author_rank: Super Contributor
timestamp: September 08, 2019, 02:45:22 pm
content: the hv518 can be ordered herehttps://www.digikey.com/number/en/microchip-technology/150/HV518/114088

author: hakko
author_rank: Contributor
timestamp: September 08, 2019, 02:56:37 pm
content: But the shipment is 40$ for a 5$ part

author: coromonadalix
author_rank: Super Contributor
timestamp: September 08, 2019, 03:13:11 pm
content: Damn in my location, its nothingBut for Brazil its expensive, just checkedAn complete 34401a pn 34401-66522 board+vfd included is around 200$ usd from Keysight, and they dont have tons of them left ...And you cant swap them with an older version of the pcb, the meter FW wont allow it.service note : 34401A-06My curiosity would be : retrograde the firmware and try the older display pcb with the unobtanium drivers ??

author: hakko
author_rank: Contributor
timestamp: September 08, 2019, 03:35:12 pm
content: Quote from: coromonadalix on September 08, 2019, 03:13:11 pmIt might work with old firmware but i don't know if the meter will work fine since newer main boards have also hw changes from the old ones specially in analog section I don't know if asics are also changed too.HV518 is also used by arduino guys I think china ones will work since it's quite usual ic.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 08, 2019, 10:15:10 pm
content: hakkoThanks for interesting data. I looked at SPI data dump you posted and the control frame headers on new panels differ from the old, no wonder my firmware doesn't work. But I kinda expected that.For example first thing immediately obvious is that text control frames start with 0xff 0x2d instead of 0x00 0x7f and annunciator update starts with 0xff 0x00 instead of 0x7f 0x00.Also there seem to be random 0x00 frames from cpu to panel sometimes (button state query?).If you have time could you compile a table of control frames like found here?https://github.com/openscopeproject/HP34401a-OLED-FW/blob/master/protocol.mdThat would help update firmware for these new panels.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 13, 2019, 02:38:23 am
content: Thanks tocoromonadalixwho stepped up to help with capturing SPI data on a newer model 34401a meter I was able to figure out the differences in the protocol, which turned out to be minimal.Here is new firmware that should be compatible with both old and new meters. firmware_debug.bin will spit out received decoded data onto usb serial line. If anyone can validate it I will publish new firmware and the fix to github.

author: coromonadalix
author_rank: Super Contributor
timestamp: September 14, 2019, 05:32:45 pm
content: had tons or problems to make a blue pill work, boot loader problems i did not understood i'm a total nooob for thisHe sent me an firmware.bin file who replace the boot loader, and have the debug option, thus always needing an st-link to work.Heres the results on a serial monitor (attached photo) , i dont have an oled display, never received it.my comments-----------------------------------------------------------------------------------------------------------------------Inverted the miso mosi line going to the blue pill (if im not mistaken)pb13 is the clkpb14 is the 34401a mosi line / blue pill misopb15 is the 34401a miso line / blue pill mosiground wireArduino IDE board enumeration is :BN: Maple MiniVID: 0x1EAFPID: 0x0004SN: Upload any sketch to obtain itSelect com9 ; it says Maple MiniI start the Arduino serial monitor and voila is see the data coming out ... woh hooooooooQ: What are the 2 lines of Annunciators meanings ?they have 0000 0001 etc ...----------------------------------------------------------------------------------------Going right to left in the menusDcv - Acv - 2w / 4w ohms - freq - period - DCI - ACI all went fine, annunciators follow fine, played with the range arrow more digits less digits all ok-----------------------------------------------------------------------------------------------------------------------problemsContinuity spits data very fast and crashesDiode test spits data very fast and crashes the pill red light flashes ?The rs232 monitoring seems to crash the communications ... not enough buffers ?? or slow down theses tests ??Have to unplug power or a long reset and restart rs323 monitoringIf i do a long reset the red led flashing is gone, restart monitoring, all is fine, if i'm outside continuity or diode tests.Goood job you have done thks for your patience and many emails exchanged.

author: coromonadalix
author_rank: Super Contributor
timestamp: September 14, 2019, 05:44:00 pm
content: Edit with continuity open data is going very fastrs232 monitor Termite hold longer before it crashes too ??Termite wont reopen the connection even if the pill is resettedArduino monitor doesafter the pill was resetted

author: wictor
author_rank: Regular Contributor
timestamp: September 14, 2019, 07:44:58 pm
content: It would help, if serial printing had lower priority, since it is disturbing spi decoding during debug.

author: qu1ck
author_rank: Regular Contributor
timestamp: September 14, 2019, 08:51:36 pm
content: I’m glad you got it working. I will publish the fix on github shortly, including the "no bootloader needed" firmware and better instructions.To answer some of your questions:Annunciator line with 4 digits is hexadecimal representation of 2 bytes where each bit corresponds to one of the glyphs on the display. For example 4th bit is for "Man" and 1st bit is for "*". So you see it changing between 0008 and 0009 meaning that "Man" is lit and "*" is flashing.More is explained herehttps://github.com/openscopeproject/HP34401a-OLED-FW/blob/master/protocol.mdContinuity/diode mode spitting data out so fast that it crashes the firmware: as wictor guessed it's because of serial printing interfering with spi decoding. When serial buffers fill up because data is coming too fast the main firmware loop is blocked. You see the led on the bluepill flash for the same reason: this means main loop can not catch up to incoming data. This doesn't happen on release firmware so this is not an issue. And you should never use the meter while it's connected to your pc since your frontend will not be floating potential anymore.

author: coromonadalix
author_rank: Super Contributor
timestamp: September 15, 2019, 01:00:41 am
content: Yeah i was lucky, nothing bad happened, i made sur not to connect the probes on anything, even my cheap saleae logic analyser clone "cypress fx2" was loading the data lines if the board was not suplied at the same time the 34401a dmm was powered onTime to reorder another oled ?? i hope this time i get it loll if you have your old board with the mask pcb problem to scrape, i would take itYou wrote to me your oled display project would be compatible with the old and newests front panels, right ?thks @Quick1 for your project and help

author: qu1ck
author_rank: Regular Contributor
timestamp: September 15, 2019, 02:17:53 am
content: New binaries are up on githubhttps://github.com/openscopeproject/HP34401a-OLED-FW/releasesI will update howto.md soon.coromonadalixyeah I still have some boards left from first batch, I'll send you one.New firmware is compatible with both old and new meters, correct.

author: hakko
author_rank: Contributor
timestamp: September 15, 2019, 06:56:40 pm
content: Thanks @qu1ck for the job in protocol decoding... I also was able to do a dirty display for my meter (new panel version) using my implementation. I was tired of stm32 so i used a psoc 4 board that i have around. I used 2 spi ports as slave to get the data from the meter and a 16x2 crap lcd

author: qu1ck
author_rank: Regular Contributor
timestamp: September 16, 2019, 12:19:05 am
content: Yeah, that doesn't look half bad. You will have a hard time with annunciators though

author: coromonadalix
author_rank: Super Contributor
timestamp: September 16, 2019, 12:19:19 am
content: better than nothing eh loll hush hush go find an oled display lollFor the unused second line he could write the function directly : cont, diode in place of the icons ?

author: hakko
author_rank: Contributor
timestamp: September 16, 2019, 06:34:13 pm
content: This setup was just to test the meter main board functions before full restore since i don't have gpib cable. It pass on self tests and on real test it's also fine

author: bitseeker
author_rank: Super Contributor
timestamp: September 17, 2019, 01:54:22 am
content: Nice test. If the display controller supports custom characters, that could make for some nice annunciators (if it was for longer-term use).

author: 6151kokodef
author_rank: Newbie
timestamp: October 22, 2021, 02:22:54 pm
content: I just bought one from eBay with serial number 3146A57XXX and it has the unobtainium NEC driver chip. It has dots after the characters. I replaced the VFD with one from ebay (Samsung SSVD branded) and it was like new - so glad it's not the chip.It's an absolute pain to desolder the VFD with a solder sucker, so I put in turned pin sockets to make future troubleshooting and replacement easier.

author: HighVoltage
author_rank: Super Contributor
timestamp: October 22, 2021, 02:37:54 pm
content: Quote from: 6151kokodef on October 22, 2021, 02:22:54 pmYou also got lucky that the ebay VFD is working correctly. Not all of them do that.Congratulations on a successful repair.

author: floobydust
author_rank: Super Contributor
timestamp: October 22, 2021, 07:13:40 pm
content: I have one 34401a, new VFD fixed the polka dots problem - only for a while, when the DMM is hot they faintly appear. It is intermittent now.The dots are a combination problem of aged VFD having low transconductance, needing high drive voltage for blanking, as well as the NEC VFD driver PMOS aging getting old and lazy.

author: dreamcat4
author_rank: Frequent Contributor
timestamp: January 18, 2022, 08:16:50 pm
content: got here the same problem, dots between the characters. and am going to leave it like this for the time being while considering options. you see maybe the oled would be lasting for a longer time than a new vfd, given the way the driver is already leaking and degraded as explained above here ^^. if it really cannot be replaced?just am still a bit unsure. for example wanted to know if by installing the oled it might affects negatively the precision of measurements. but maybe there was already some testing with that in mind? and can see existing results for that? look up somewhere?

author: floobydust
author_rank: Super Contributor
timestamp: January 18, 2022, 09:26:43 pm
content: The polka dot problem is caused mainly by both- an aging NEC MCU and VFD.If you replace or rejuvenate the VFD display, it can work for a while longer. But I have one 34401a that polka dots sometimes show up as it runs warmed up.So I started working on a replacement front panel board, to keep the stock VFD and just use a VFD driver+MCU compatible with the old main board firmware.I forgot Qu1ck's schematic but plenty of power available from the unused filament winding on the tranny. Adding noise or load to +/-17.4V rails would affect the analog sections of the multimeter, I would not run the OLED power from that.

author: dreamcat4
author_rank: Frequent Contributor
timestamp: January 18, 2022, 09:50:53 pm
content: thanks for these insights. so then i shall see what comes of this...BTW checking the schematic on github here....https://raw.githubusercontent.com/openscopeproject/HP34401a-OLED-HW/master/schematic.pngit seems qu1ck gets the power in from a +12v J5 marked there as DISPLAYPWR ?not sure where that is supposed to hook up to. but yes that was my main concern with the oled mod.in the meantime will also be patiently waiting to see if you can eventually replace the vfd driver in yours flooby. not in any particular hurry

author: floobydust
author_rank: Super Contributor
timestamp: January 18, 2022, 10:01:06 pm
content: 3.12" OLED need 12-15VDC at 25-50mA typ, depending on how much is lit up. About 2/3W.If this is generated by an on-board boost-converter, it will draw a lot from a 3.3V rail, up to 250mA.So how this is powered is important not to pollute or overload the 34401a power supply.

author: qu1ck
author_rank: Regular Contributor
timestamp: January 19, 2022, 11:10:45 pm
content: @dreamcat4QuoteI don't have any precision standards to verify this, my 34401a is literally the most precise thing on my bench. But I did measure a AD587 based reference before and after the mod and the difference was well within temp drift of the source. Take that for what it's worth.QuoteOn the display that I used there is a boost converter to 12v. I provisioned DISPLAYPWR hookup to use it as power source there and desolder/cut off the onboard converter on the display. I ended up not doing that because I couldn't measure any noise coupling into meters power lines. But the option is there.@floobydustQuoteCorrect, 250mA is a very high figure though. In this application the display is only showing some text and small icons, at most 10-20% is lit up. My measurements showed <100mA load on the 3v3 line. That's including the stm32 microcontroller.

author: dreamcat4
author_rank: Frequent Contributor
timestamp: January 19, 2022, 11:41:37 pm
content: those details are a great help and i appreciate the reply qu1ck. it would seem i am in a pretty similar situation over here. as it happens got some voltage refs from digikey recently. a few different ones but nothing ultra precision. and also a variety of common jellybean regulators. after watching dave's recent video on this topic, i stocked upyour solution looks pretty reasonable so please let me say thank you for your hard work there

author: floobydust
author_rank: Super Contributor
timestamp: January 19, 2022, 11:59:49 pm
content: I took the 250mA value from exampleBlue 3.2" 256x64 OLED datasheetit's 3.3V boosted to 12V and 100% lit for 250mA. You can't pull that much off the +17.4V rail so I wasn't' clear where power is coming from, on the in-guard side.

author: RikV
author_rank: Regular Contributor
timestamp: August 02, 2022, 06:02:10 pm
content: Thanks for this great job! This will certainly be useful one day when I find a 34401A for a reasonable price....

author: cellularmitosis
author_rank: Unknown
timestamp: August 07, 2022, 12:39:50 pm
content: Quote from: imo on August 14, 2019, 07:27:53 amLike thishttps://www.eevblog.com/forum/testgear/external-display-for-agilent-34401a-(or-any-dmm-with-rs232-output-stream)/msg4344103/#msg4344103

author: iMo
author_rank: Super Contributor
timestamp: October 14, 2023, 12:32:32 pm
content: I've been still thinking how to switch off the filament (my display is always off, but the filament is always on), I will do it with a simple switch placed somewhere on the rear, perhaps..Btw. - this is what I did in past to deload my PC and save energy - there is the rear db9 serial connector, it has got 2 "free" pins (see the service manual).I've been using one of the free pin as a 5V source (off the 5V outguard regulator placed nearby, via a 4R7 and 100nF to gnd) for the powering the external mcu.The second free pin has been used as the output of the internal LM35 temperature sensor (powered off the 5V outguard vreg).The meter's rs232 to cmos 3V3 level is simply done via a transistor (the bluepill reads the incoming data only).As I wrote in past here there is the BT HC-05 sending data (115k2) off the bluepill to any external device (a cheapo smartphone with serial terminal in my case) logging the data coming off the bluepill (and I make 2x 16bit temperature measurements, temperature/gain compensation, averaging/smoothing of any kind, stddev, all in float64, incl. time/date capture from DS3231 in that bluepill, sending all the results upon each new sample as a .csv record).Thus the total power consumption with long measurements is minimal (except the filament)

author: mmx01
author_rank: Contributor
timestamp: February 27, 2024, 02:46:02 pm
content: Hi,Maybe this is a bit necro-posting but I am trying to adapt this solution to another instrument and another MCU. I am working on a damaged E3632a which appears to share a lot of HW/design with 34401a, it did not survive shipping and complete front panel is in pieces. VFD did not survive and other parts suffered as well... so trying to see what I could save and cannot verify what is really operational control wise. There is some life but faar from ideal.Changes for me are using ESP32 instead of STM32 and after adapting the platform, I get a lot of errors with decoding. ESP32 runs at 240Mhz/40Mhz crystal so speed should not be an issue. Using external interrupt to capture following 8 bits per original routine. For now I don't output to LCD/Oled and modified the SW (interrupt routine) to ESP32. I read all bytes to a char buffer dumping them to serial only once every 500 EOF messages.So there shouldn't be loop/delay issues while collecting 500 samples since I am not triggering serial output more than once every 500 messages. Also I set baud to 1Mbit on both ESP32 and the terminal.Code:void IRAM_ATTR sckInterrupt() {// mid byte power on detectionnow_us = micros();if (byte_len != 0 && (now_us > (last_us + 1500))) { //MAX_SCK_DELAYbyte_len = 0;}last_us = now_us;output_acc = (output_acc << 1) + ((GPIO.in >> 23) & 1);input_acc = (input_acc << 1) + ((GPIO.in >> 18) & 1);byte_len++;if (byte_len == 8) {if (byte_ready) {byte_not_read = true;}input_byte = input_acc;output_byte = output_acc;byte_len = 0;byte_ready = true;}}void startSniffing() {attachInterrupt(digitalPinToInterrupt(19), &sckInterrupt, RISING);}inline void endFrame() {buf_len = 0;frame_state = UNKNOWN;mi++;if(mi == 500) {for(int z=0; z<mi; z++) {for(int x=0; x<15; x++)Serial.print(mb, HEX);Serial.println(".");}mi = 0;}}By default it says " OUTPUT OFF " for a message type decode but we can clearly see bits missing/errors in some of the messages. I am a bit lost as to why would this be other than perhaps HW fault.14:56:20.802 -> 204F5554505554204F464620000.14:56:20.802 -> 204F5554505554204F464620000.14:56:20.802 -> 204F5554505554204F464620000.14:56:20.802 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F555450555C204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 04F5554505554204F464620000.14:56:20.852 -> 204F7554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.14:56:20.852 -> 204F5554505574204F464620000.14:56:20.852 -> 204F555450555404F464620000.14:56:20.852 -> 204F5554505550204F464620000.14:56:20.852 -> 204F555C505554204F464620000.14:56:20.852 -> 204F5554501554204F464620000.14:56:20.852 -> 204F5554505554204F464620000.

author: qu1ck
author_rank: Regular Contributor
timestamp: February 27, 2024, 03:14:56 pm
content: Judging by the fact that you have half of a hex digit missing in the output in some cases the fault is much more likely in your uart and not decoding. Try lower baud rate or different uart chip.

author: mmx01
author_rank: Contributor
timestamp: February 27, 2024, 03:38:39 pm
content: I thought about this as well but UART is already another attempt due similar issues I have faced with i2c connected oled. Similar defects are happening also via i2c with UART completly removed from the loop. You use parallel interface and I thought initially it may be due i2c being slower and standard SSD1306 libraries requiring display.display() to push the entire buffer out, taking extra cycles with capture/decoding still running (explaining missing bits/sometimes bytes) but the same happens via serial.Now I started thinking about reducing number of variables and getting STM32 dev board instead of ESP32 (although I did not immediately see why it wouldn't work). Tested it also with 10k resistors on the SCK/MISO/MOSI lines but ESP32 is 5V tolerant and same defects appeared with or without the resistors towards the FP (exluding issue of overdriving pins).

author: qu1ck
author_rank: Regular Contributor
timestamp: February 27, 2024, 04:46:09 pm
content: > Similar defects are happening also via i2c with UART completly removed from the loopSimilar is not the same. When you print a hex digit to uart and only see one char instead of 2 that means your uart is borked, no other explanations.Missing bits can be explained by timing or by slow IO (io clock is not the same as core clock) or by ringing (check connections).If you have timing issues you can check 2 things1. Every byte is read as soon as it comes in, my code has a check provisioned for it. On the original board it lights up an error led if SPI bits are coming in faster than the board can process them.2. Every frame is processed before next frame comes in. Time between frames is a lot bigger than between bits so you can accurately measure it in code itself and check if your display output routines are fast enough.

author: mmx01
author_rank: Contributor
timestamp: February 28, 2024, 05:53:35 pm
content: I have wired red led with flag byte_not_read. With oled configured it does turn on from time to time but this is not aligning with oled defects.With led off defects still appear. However without oled, red led does not come on.Agreed serial issues appear independent from oled issues in a sense for oled there's more a bit flip issue than half byte lost with serial.I put some time captures in SW, for message to message the period measured from first interrupt until EOF is avg. 116800us = 8.5Hz. Since I push the buffer out to display on EOF (all bytes in the buffer), I would expect it to be okay. i2c could handle up to 40fps, so there's room there. i2c is set to 400kHz.https://youtu.be/vYpie1gxGXQFor ringing mitigation I put short cables and series resistors but little to no change. Will try with STM32 tomorrow and if not getting anywhere will get a cheapo logic analyzer.18:00:57.821 -> 204F5554505554204F 64620000.18:00:57.821 -> 7474757972737674757476757500.116407.18:00:57.821 -> 204F5554505554204F464620000.18:00:57.821 -> 7574767579747574747474747600.116918.18:00:57.821 -> 204F5554505554204F464620000.18:00:57.821 -> 7474747574787576747675737700.116913.18:00:57.821 -> 204F5554505554204F464620000.18:00:57.821 -> 7677737673757574737676747700.116896.18:00:57.821 -> 204F5554505554204F464620000.

author: mmx01
author_rank: Contributor
timestamp: February 29, 2024, 04:03:38 pm
content: So with STM32F4 board everything works fine with the same i2c oled... no defects. Processing time for each byte has not changed between ESP32 and STM32 however, frame processing time is 26% faster with STM32.Indeed ESP32 GPIOs are not running at 240MHz like the cores do, but still the APB bus runs on 80MHz. I had not expected issues with the ESP32 performance for this not very complex decoding task yet empirically it proves to be the case.Now I can move on to mapping other codes for different display features.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7474747475747474747574747400.86855.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7474757474757575757474747400.86555.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7474747475747474757574747400.85627.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7574747475747474747474747400.85136.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7475757474747475747474747500.86854.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7574757474747475747475747400.86554.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7574757574747474747475747400.86043.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7574747474757574747475757400.86556.15:57:13.908 -> 204F5554505554204F464620000.15:57:13.908 -> 7574747474747474747574747500.86556.

author: floobydust
author_rank: Super Contributor
timestamp: February 29, 2024, 06:41:01 pm
content: How are you doing the level-translation, do you have a schematic? Just to see if that is the problem.I would also ensure the radio is turned off to prevent TX packets from making interference and power system spikes, in active mode it can spike to 250mA.I have the rotary encoder bits reverse-engineered somewhere and will look for that when I get a chance.

author: mmx01
author_rank: Contributor
timestamp: February 29, 2024, 07:28:37 pm
content: With ESP32? Level shifting is not needed, IO is 5V tolerant.

author: floobydust
author_rank: Super Contributor
timestamp: March 01, 2024, 01:24:28 am
content: Quote from: mmx01 on February 29, 2024, 07:28:37 pmNo mention of 5V tolerance in Espressif datasheets "3.6V max" so I treat it as that. The hiccup looked periodic in the video, happens at a regular interval so something else must be at play.Changing to the STM32, one way to solve it.

author: mmx01
author_rank: Contributor
timestamp: March 01, 2024, 05:51:53 pm
content: You are right about the datasheet, for official use I would not push it. For hobby I did many times and "the internet" is full of statements it does. While it is not in the datasheet, it does support 5V when VCC is 3.3V.As to how I would approach level shifting, resistor dividers may not be fast enough and when I play with FPGAs and 5V->1.8V (older 5VCMOS or TTL logic) I resort to gtl2000dgg. Quite fast for such projects at 33MHz, bi-directional without direction pin, with minimal passive components to get going. Issue is the package is not breadboard friendly so it was cheaper to get STM32 dev kit than ordering level shifting PCB. Once I get the PSU running for business I may come back to ESP32 as project and implement level shifting because it is still unclear to me why ESP32 would struggle with this task, bit banging with timing logic.Nonetheless it is impressive how much thought qu1ck put into his project. Also trimmed display library with parallel interface where he writes via registers makes it very efficient. I managed to hit the limit with the i2c oled todaywhen pressing buttons fast my oled is freezing and the red light is on. It seems not possible to write directly to memory of SSD1306 via i2c so I am getting also parallel interface oled to move on.M.

author: floobydust
author_rank: Super Contributor
timestamp: March 02, 2024, 01:18:13 am
content: An Espressif guy mentioned it works with 5V input but was a bit leery about lifetime of the silicon as it's not tested up there.There was no need to bit bang with the STM32 but yes with the ESP32? I also thought it could keep up but it does have a kernel andFreeRTOSin the background that might be the problem.Do you have a running front panel board connected, while snooping the data stream? It sounded smashed up.I ask because there is a watchdog between the front panel MCU and main CPU. No response from the FP causes the main CPU to issue a RESET (IGFPRES) and beep as well. I thought that could cause the glitch you kept seeing but no.

author: mmx01
author_rank: Contributor
timestamp: March 02, 2024, 10:59:19 am
content: I have the FP connected and sniff in parallel to the actual communication. Some buttons do work but overall its condition is as seen...Since entire front is destroyed buying the shell with buttons, PCB and VFD would cost more than what I paid for the device. So my plan is to get this to a working state with oled and 3d print the front with likely new pcb with push buttons.Encoder was also destroyed (in fact it split into two parts) but mechanically it turned out okay so I put it back together.

author: trobbins
author_rank: Frequent Contributor
timestamp: March 05, 2024, 05:52:46 am
content: iMo, did you progress with a simple and practical way to de-energise the display filament?I want to operate my meter for logging, and the display is showing some intensity variation, so I have some incentive to turn the display off as well as de-energise the filament - for the purpose of lowering internal temp rise, and prolonging useful service life of the display. The assumption would be that de-energising the display filament has some correlation with display related failure/degradation.A concern could be if mains power is toggled, and the meter turns back on with display enabled (which I assume happens due to volatile memory), and that may add risk if the filament is otherwise switched off. I guess a mains power latched contact could remove that risk.

author: coromonadalix
author_rank: Super Contributor
timestamp: March 05, 2024, 11:16:01 am
content: you could use the internal front rear switch lever / rod to actuate a switch ?if you dont use the rear inputs, a front rear movement could activate a filament switch ? some push lock and push unlock ??just tie wrap something on the lever, but be careful not to damage it ? they get slightly fragile on both end

author: Cyclotron
author_rank: Unknown
timestamp: October 27, 2024, 03:52:34 am
content: Any chance this modification can be used on a HP 34410a. I've tried finding a replacement VFD but no luck.If it hasn't been done already, maybe I can get some time to do the work for 33410a. I can start by modifying one of my 33401a units with what has been done I guess and learn from that.

author: coromonadalix
author_rank: Super Contributor
timestamp: October 27, 2024, 08:15:40 am
content: cut the vfd filament power is possible, or a display off command if there isthe 34410a vfd clone(s) are available and work good, they became more expensive since covid, but a good investmenti had a 34410a and changed the lcd, worked very well, it is not the same as the 34401a34410 34411a share the same designs for the lcd, just acquisition speed are differentjust need to be very very careful, they come with long pins, once put in place, they may kick on the front panel when you slide the pcb in placean original 34401a lcd came with the front pcb and was sold at almost 200USD from Keysight when they had it ...

author: robert.rozee
author_rank: Frequent Contributor
timestamp: October 27, 2024, 02:49:35 pm
content: Quote from: trobbins on March 05, 2024, 05:52:46 amthis is something i've been thinking about for a while too. is there concern thatjustremoving filament power is not sufficient to prevent wear?i see that the 34970A has software control over the filament power, see the below abridged schematic from the manual. this suggests that a simple 2-pole relay (possibly with a pair of diodes added to match the substrate diodes in the MOSFETs that the 34970A uses)maysuffice. does anyone have a 34970A on which they can check if drive is (or is not) also removed from the anodes and grids?the question then just remains as to where would be an appropriate place to fit a switch? on the front, or hidden on the rear panel perhaps?cheers,rob :-)

author: coromonadalix
author_rank: Super Contributor
timestamp: October 27, 2024, 04:01:13 pm
content: well for a 34401a if you never use the back plugs, make yourself a new switch rod and a filament pcb interface ??that way you are original, and use the hidden front back as a filament switch loll

author: iMo
author_rank: Super Contributor
timestamp: October 27, 2024, 04:16:37 pm
content: Quote from: trobbins on March 05, 2024, 05:52:46 amNope, I did not, also thinking where to put the switch. I run my 34401 always with the display off (as I get the DMM data and 2 temperatures from serial off a stm32 via a Bluetooth into my logging app in my old smartphone), but the filaments are still powered on. I've been planning to put the stm32 (or whatever MCU) inside the meter and switch on/off the filaments via a relay upon a command, but no progress so far..

author: Cyclotron
author_rank: Unknown
timestamp: October 29, 2024, 01:59:03 am
content: Quote from: coromonadalix on October 27, 2024, 08:15:40 amDo you have a source for the 34410a VFD clones? I have tried several places and a couple ebay sellers that show they have them say they don't when I contact them for pictures since they almost never picture the proper 34410a VFD.

author: coromonadalix
author_rank: Super Contributor
timestamp: October 31, 2024, 08:01:12 am
content: hi for the 34410 vfd they camed from aliexpress, i bought them when they came out on the market at a 35$ usd each ... now ....for a 34401a, it was from Ebay .. china ...

author: gamerpaddy
author_rank: Regular Contributor
timestamp: October 31, 2024, 08:16:23 pm
content: i replaced the vfd on 3x 34401's now with these: 34$ aliexpress ones,https://de.aliexpress.com/item/1005006244217620.htmltwo HP, one Agilent. both front panel versions. also swapped the flex cable with a proper jst plug.they all worked flawlessly(one also got a new front panel sla printedhttps://www.thingiverse.com/thing:6716036Before:after:

author: mawyatt
author_rank: Super Contributor
timestamp: October 31, 2024, 09:29:28 pm
content: Quote from: gamerpaddy on October 31, 2024, 08:16:23 pmNice workThese displays work with the older HP34401A with the All Red Terminals?Best

author: gamerpaddy
author_rank: Regular Contributor
timestamp: October 31, 2024, 10:12:43 pm
content: For me it did, yes.the front panel pcb were differentone contained a big dip NEC jobthe other one two four sided ic's

author: coromonadalix
author_rank: Super Contributor
timestamp: October 31, 2024, 11:55:30 pm
content: normally they are compatible for bothits the same glass ... but different drivers ...lucky for us the design leaked and was copied ....

author: amp
author_rank: Newbie
timestamp: November 12, 2024, 08:02:18 pm
content: I just finished this modification to my HP34401A as my DMM also had an issue with leaking segments.For the connections to the OLED DISPLAY MOD PCB by QU1CK:- GND (W601-P1 = GND)- VCC (W601-P3 = +18V) I read in this thread that sourcing the voltage from VCC (generated by U553) could be better so this could be checked. If you do this, you need to make a connection to the main PCB.- SI (W601-P2 = FPDO)- SO (W601-P6 = IGFPDI)- SCK (W601-P4 = IGFPSCK)- INT (W601-P10 = IGFPINT)All connections soldered in parallel to the 12pin ribbon cable on the front panel PCB. (Reference names added above are from the HP34401A service manualI used the firmware_nobootloader.bin (v1.1). This was directly flashed to the STM32 by temporarily connecting my programmer to the SWD interface and programming the binary at address 0x08000000.I thought of just sharing the information regarding the pin connections as it could help someone else who wants to implement the mod.Thanks QU1CK for this mod.

author: mawyatt
author_rank: Super Contributor
timestamp: November 15, 2024, 05:30:44 pm
content: Quote from: gamerpaddy on October 31, 2024, 10:12:43 pmJust replaced the display in our old HP34401A with Red Terminals (has NEC DIP). Not having the proper desoldering tool (just wick and the cheap hand plunger) we opted for a Yihua 929D-V.The replacement display was from AliX and slightly different than the OEM, but we had little trouble replacing the fading OEM one.https://www.aliexpress.us/item/3256806057902868.html?spm=a2g0o.order_list.order_list_main.23.7380194dxSFr2T&gatewayAdapt=glo2usaThe Yihua made quick and easy work of removing the old display and left the PCB is good shape!!Anyway, thanks for the info and as you can see these replacement displays work with the older Red Terminal HP34401A.Best

author: gmac34
author_rank: Regular Contributor
timestamp: May 09, 2025, 02:00:28 pm
content: I also have replaced my VFD with one from AliExpress, with good resultsI have a quite old (1994) unit that had a slightly dim display with some ghost segments; the new VFD cured them.I wonder if the ghosting is related to the black epoxy that supports the pins on the original Itron VFD becoming conductive

author: coromonadalix
author_rank: Super Contributor
timestamp: May 09, 2025, 04:55:21 pm
content: with the Ali one as i wrote in the past seen on the previous thread picture, the one on the bottomyou have to be very careful red circles on the image, i had one who had leads on the glass substrate further away from the main vfd sectionIE wider foot print, it could be damaged while sliding the front pcb in the front panel case, check carefully before sliding the pcb

author: gmac34
author_rank: Regular Contributor
timestamp: May 09, 2025, 11:25:00 pm
content: Well, I just checked that there was clearance between the pins and the shield, and it didn’t seem to stick further outward than the original.

author: Miti
author_rank: Super Contributor
timestamp: June 05, 2025, 01:14:06 am
content: I like this project and at one point, after I bought my first 34401A with a tired VFD, I contemplated making it. However, I didn't want to change too much the look, and fortunately I found relatively cheap VFDs on Aliexpress.I'm aware that the VFDs will disappear at one point and a solution like this one is needed and welcomed.I also have a couple of 3478A and I made this OLED display by Xyphro:https://www.eevblog.com/forum/testgear/hp3548-hp3457-oled-display/250/Now I was thinking, how nice would be to combine these two ideas in one for 34401A and it would fit and look like the original one.@qu1ckIf I make the hardware, can you help with the software change? I understand it is not your priority anymore and doesn't make money... but it would be fun.It would need a 13 channel parallel I2C instead of the current OLED driver. Xyphro's code is public, I don't think he would mind porting it, but we can ask him if we go ahead.Cheers,Miti

author: coromonadalix
author_rank: Super Contributor
timestamp: June 05, 2025, 04:13:04 pm
content: Qu1ck if i recall put everything in a github repo ...but you need to know, there is 2 front pcb variants, and qu1ck with my help managed to get the more recent vfd pcb communicationsnot sure if both guys took that into account ...not sure it is this one, been a whilehttps://github.com/openscopeproject/HP34401a-OLED-FWhttps://hackaday.com/2018/08/29/faded-beauty-dmm-gets-an-oled-makeover/https://openscopeproject.org/projects/hp34401a_mod/Qu1ck last access was in august 2024 ?

author: qu1ck
author_rank: Regular Contributor
timestamp: June 05, 2025, 11:18:00 pm
content: Quote from: Miti on June 05, 2025, 01:14:06 amDepends on what you mean by help. If it's "write it for me" then no, I don't have the hardware to test it on. If you provide the meter for me (and maybe displays?, not sure how much they cost) then we can collab on hardware/software. If you mean help as in answer questions and give advice on the forum - sure.coromonadalix, yep, those are correct links.Edit: looks like I misunderstood the initial post by Miti, I was confused on which meter you wanted to modify. You want to make a display mod for 34401a with 13 individual displays instead of one oled panel, correct? In that case I do have a meter and I will only need displays/pcb to test. I probably have a chip and other parts to assemble myself if needed.

author: Miti
author_rank: Super Contributor
timestamp: June 06, 2025, 03:15:59 pm
content: Quote from: qu1ck on June 05, 2025, 11:18:00 pmYes, I meant for 34401A with individual panels. I would make the HW to the (approximate) state that you see in the attachments, of course with the layout for 34401. I would make two assemblies, one for me and one for you, and ship one to you.I would like to have the same SW capabilities that you have, in terms of IDE, libraries, so I can modify, recompile, program, etc.At this point I can pretty much take on code for AVR, with limitations, but I don't have experience with STM32.I would have to find the easiest way to install it mechanically and as little invasive as possible in terms of power supply. I'm thinking using the filament coil since it is not needed anymore, but without switching regulators (doubling rectifier).Cheers,Miti

author: robert.rozee
author_rank: Frequent Contributor
timestamp: June 06, 2025, 03:58:13 pm
content: has anyone ever done an analysis of what segments areactuallyused, in particular are there any places where the ";" (dot/comma/semicolon) areneverlit except during the screen test? if there were one (or more) such places, then there may be the possibility of covering the whole display area with justtwoOLED displays along with an opportunity to substantially increase the size of the decimal points.cheers,rob :-)

author: qu1ck
author_rank: Regular Contributor
timestamp: June 06, 2025, 04:44:18 pm
content: MitiThat looks pretty neat, I'm interested.QuoteQuoteThat's a given, if I do this the software will be open source with all code and instructions available on github. I highly encourage you to make hardware open source too (gerbers and preferably kicad files) but I understand if you plan to sell it.About choice of chip, AVRs are just slow. And the ones that aren't painfully slow are a lot more expensive than they should be. Stm32, ch32 something like that should work fine, even rp2040/2350 is a great choice if qfn is not a deterrent. I use vscode with platformio to develop firmware so all chips dev environment is the same for me.About hardware some questions off the top of my head are: how are 13 i2c devices supposed to be connected? Do the displays have configurable address and they all sit on a single bus? Or is there some multiplexing going on? Will there be a need to bit bang the bus or using chips hardware i2c should suffice? Maybe these questions are answered in the other project you linked but I didn't see any schematics on cursory look. Also how is oled power connected? If I remember correctly these displays support both charge pump boosted power and external power.robert.rozeePhysical space for the display inside the meter is a lot smaller than the black panel outside, display can't be made much larger without very invasive dremel use.

author: coromonadalix
author_rank: Super Contributor
timestamp: June 06, 2025, 06:09:32 pm
content: my question would be why this many oleds and qu1ck or others have used only one oled or single displayyou seems to forget that you borrow power from inside the 34401a, it may be to much at some point, and you can subst the vfd with cloned ones ...and you add many layers of complexity for almost nothing gained ?the 34401a has annunciators in it, a single small oled will not be enough to display it ??

author: Miti
author_rank: Super Contributor
timestamp: June 06, 2025, 08:02:38 pm
content: Quote from: qu1ck on June 06, 2025, 04:44:18 pmI would have to install Microsoft Visual Sudio Code first, then Platform IO, then delete something that you mentioned in one of the posts, etc. I will ask you when I get there.Quote from: qu1ck on June 06, 2025, 04:44:18 pmYes, AVR is good enough for 3478 but 34401 update rate is much faster so STM32 should be ideal. That's why I liked your choice.Quote from: qu1ck on June 06, 2025, 04:44:18 pmYes, 13 bit bang I2C SDA channels with common SCL. Take a look at Xyphro's code herehttps://github.com/xyphro/HP3457-OLED-displayand I've attached the schematic.External 8V or 9V Vcc to the OLEDs, less switching.If you look at that trail, I'm working on a new version with bigger OLED (128x64 pixels) overlapping in an angle. I get bigger active surface, bigger digit... in theory. I'm waiting for some capacitors to finalize it.

author: Miti
author_rank: Super Contributor
timestamp: June 06, 2025, 08:21:45 pm
content: Quote from: coromonadalix on June 06, 2025, 06:09:32 pmWith all due respect, this is an amazing project that restores the functionality, but not the gloryof a 34401. With 13 OLED modules it would look almost like (if not better than) the original one, including the annunciators.The price for 13 x 128x64 modules is 30 CAD shipped, so I don't know if it is much more expensive than the one that qu1ck used.In terms of power, the entire assembly of 12 OLEDs plus the controller takes less than 20mA from 12V. Beat that.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 07, 2025, 01:29:39 am
content: I wouldn't be too hasty on higher resolution displays.34401a displays 22 updates per second in fast mode, that's ~45ms per update, substract from it the bus sniffing time and calcs, you have to be within 30ms to be safe. At 400khz i2c clock or 0.0025ms period, 128x64 pixels will take 0.0025*128*64 ~ 20ms, that's just data, add ack phases and address bytes, commands, you are looking at ~50ms.This is assuming writing to all 13 displays in parallel in monochrome mode which I'm not sure is supported (I did 4 bit per pixel color mode but I used 8 bit parallel interface). Your bit manipulation logic to transform characters into pixels for each display better be pretty fast too.You can probably cut this down by only updating relevant display regions but I would still call this too close for comfort. Maybe the displays support faster clock?

author: Miti
author_rank: Super Contributor
timestamp: June 07, 2025, 03:12:25 am
content: I don't think is that bad but I see some clarifications are needed.1. The OLEDs are monochrome so 1 bit per pixel, I found white color but I know that blue exist, how nice would be to find green!2. The resolution of the ones in the attached picture is 128x32 but I didn't like the dead space between them so I'm testing some modules with 128x64 pixels. However, since the distance between modules is the same, 10 mm, they have to be installed in an angle and overlap a bit (see the other picture with only two modules shown overlapping). Because of that I can only use 128x48 pixels.3. The two graphic elements are the digit and the annunciators. The digit on the version with 128x64 OLED is 48x75 pixels, and the annunciators are 48x17 pixels.4. The OLED module does not need address for every pixel, you can set a region then dump all the bits in pages of 8 bits + ACK per page. Page increment is automatic.So to redo your calculation, we need to send 4968 bits, this includes ACK, in the worst case (annunciators are not sent every time so the worst case is when one is sent or cleared). That means 4968x0.0025 ms = 12.42 ms of useful info. I think with any overhead you cannot go more than 20 ms.The SSD1312 OLED driver specification is 400KHz in I2C mode so anything faster would be a hit and miss. Can the STM32 even bit bang at 400KHz?

author: qu1ck
author_rank: Regular Contributor
timestamp: June 07, 2025, 04:17:58 am
content: Stm32 are a huge family of chips, there are 400-700Mhz multi core monsters among them. So they definitely can do faster than 400khz clocksBut realistically you can push a cortex m3 part (stm32f103) to a megahertz or two, newer m4 like stm32f401 is a bit better. Of course, it also depends on how much bit crunching you have to do to setup your data lines for each 13 pixels between each clock pulse.Looking at the datasheet of ssd1312 it can do multiple data bytes per transmission so address and command overhead is not as high as I thought. Yeah it will be sub 20ms for character sizes you mentioned. Should be just fast enough.

author: Miti
author_rank: Super Contributor
timestamp: June 07, 2025, 01:25:57 pm
content: Quote from: qu1ck on June 07, 2025, 04:17:58 amYes I know, I was talking STM32F103.The way I would approach this project, from a SW perspective (but of course this is the noob approach), would be to translate Xyphro's code to STM32F103, test it with a blue pill wired to my existing OLED assembly (with AVR removed of course) on a 3478, then switch the decoder from 3478 protocol to 34401 SPI.After that, make the board and the 3D print to fit into the 34401. This would hopefully avoid board respin.Huuh, if only I knew how to do that!

author: qu1ck
author_rank: Regular Contributor
timestamp: June 07, 2025, 04:45:02 pm
content: Yeah none of the steps in that plan are trivial, and you are missing a few: update the code to ssd1312, upscale graphics.I'm reading xyphro's code and lets just say following the logic of how the segments are encoded and pushed out to the display is wrecking my brain right now.Swapping decoding protocol will not be straightforward either, 3457 front panel does not operate on characters, it just gets segment info directly it seems. At least thats what I surmised from the code.34401a gets a string to display, it transforms it into segments (on original display) or pixels (in my mod) itself.Looks like there are enough differences that maybe trying to port the logic between projects is actually more work than just adapting my code to new display directly. It will still require total rewrite of display output lib.Where I would start is identifying pins I would use to communicate with the displays and then trying to get a trivial i2c bitbang firmware to output something meaningful on a single display. With basics of display init and comms out of the way you can wire it up to 34401a to capture messages (my firmware has debug output to serial for verification) and output that to a single display or at least part of it. Don't focus on trying to make it look like 17 segment charset right away, use small built in fonts from the graphics libs I used. This part will not require a lot of code changes and I could guide you through it.At that point you will have verified inputs and outputs, the board should not need a respin, in theory. Just take care of pin assignments for the rest of display data lines. Preferably you will use consecutive port lines, it may save some cycles in output routines.Then we can work on making the output look pretty, simulating 17 segment displays with large digits, add annunciator icons, etc. If you ship a board to me I will be able to get involved directly.

author: Miti
author_rank: Super Contributor
timestamp: June 08, 2025, 12:57:13 am
content: Quote from: qu1ck on June 07, 2025, 04:45:02 pmWhat do you mean? The code is there, also there are Python scripts to convert a digit and annunciators graphics, drawn with GIMP, into code.Quote from: qu1ck on June 07, 2025, 04:45:02 pmYeah, I know what you mean. I like the way the code for the digit and icons is generated, very clever, but I didn't catch the logic. With his help I understand how to change the digit or icon size now.Quote from: qu1ck on June 07, 2025, 04:45:02 pmI don't have a board now but I may prepare a reduced one for the proof of concept that you described above. Then I can design the final board with the layout that we know that works and the proper power section. How many OLEDs do you want, 2 - 3? I'll have to order them and assemble them onto a board. I understand that you have a blue pill to connect it to?I see you live in California?Miti

author: qu1ck
author_rank: Regular Contributor
timestamp: June 08, 2025, 01:52:39 am
content: His code is for 1306, you are using 1312 and different resolution. These displays frequently have minute differences in init code that you have to spy somewhere. This is what I meant by updating the code but maybe you have experience with this specific display already and I'm explaining trivial things to youSince you asked my help with firmware I kind of assumed you are more of a hardware person.I saw the scripts, they are not doing any rescaling. Just converting the bitmap data to source code blobs. Of course they can be adapted to resize, but that's again more coding. If scaling is not integer then it's better to draw new bitmaps.Yes, I'm in California. I have a blue pill and I'd like to get a few displays for myself too since I can use them for other projects, also I want a couple in module format on a pcb for easier breadboarding, not just with a flex connector. Arethesethe right ones? Of course with current tariff madness who knows when I'll get them...

author: Miti
author_rank: Super Contributor
timestamp: June 08, 2025, 02:37:30 am
content: Quote from: qu1ck on June 08, 2025, 01:52:39 am1306, 1312 - potato, potaito...I have all the init for the bigger one, don't get stuck with that, it's nothing to be worried about. If you look atthistrail, you'll understand where I am with the big OLED project. I'm using actually CH1115 and SSD1312. but that doesn't matter.I am mostly hardware but I do have some software projects myself.Quote from: qu1ck on June 08, 2025, 01:52:39 amThose are good. The modules are more expensive than the bare panel but are easier to connect and they have the caps. I would have sent you my board with 2 - 3 modules assembled and wired, you just need to connect it to the blue pill.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 08, 2025, 04:54:56 pm
content: Ah so you already have some progress on working with the display. Are your experiments in that thread with a bluepill or avr?I ordered the displays, it will take a few weeks for them to arrive probably. Until then I suggest you try to setup your stm32 dev environment and compile my firmware, if you can display something on ssd1312 display even better. For that I think you only have to change this filehttps://github.com/openscopeproject/HP34401a-OLED-FW/blob/master/lib/SSD1322_Display/display.cpp

author: Miti
author_rank: Super Contributor
timestamp: June 09, 2025, 01:35:48 am
content: Quote from: qu1ck on June 08, 2025, 04:54:56 pmIt's all AVR so far.Quote from: qu1ck on June 08, 2025, 04:54:56 pmWill do.Quote from: qu1ck on June 08, 2025, 04:54:56 pmI have the will, it is there. What I lack is the knowledge. I wanted to learn STM32 slang for awhile, maybe now is the right time.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 09, 2025, 03:08:22 am
content: There is no single STM32 slang, there are 2 official HAL frameworks and at least 2 unofficial ones. My current firmware usesstm32duinoframework to make some stuff easier but performance critical stuff is done by writing to registers directly.It would be a good idea to read through the gpio section of the reference manual for the chip. I also use timers but the framework makes them easy, you can read that section just for information on chip capabilities. That's all you really need for this project.

author: Miti
author_rank: Super Contributor
timestamp: June 09, 2025, 11:25:55 pm
content: Ok, first step is successful.Edit: Also upload and debug messages. How do you enable debug instead of release? Code after "#ifdef DEBUG" is disabled.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 10, 2025, 01:24:54 am
content: Look at platformio.ini, it defines several build environments, one of them is DEBUG which adds necessary define to build flags to enable more serial output.If you are using jtag uploader then you should uncomment that define in nobootloader environment instead because default environment is configured to use usb bootloader which you need to flash into the bluepill before flashing the firmware.There is a button to switch build environments on the bottom status bar in vscode, you can also do it from command palette (ctrl-shift-p) with "platformio: pick project environment". You are currently in default env which builds both usb dfu and nobootloader variants of firmware.

author: Miti
author_rank: Super Contributor
timestamp: June 14, 2025, 06:38:23 pm
content: And this is what I am talking about, the 3478A version. Technically, for 34401A, the right most digit can be a 128x32 OLED since it only shows the 4W, buzzer, and diode symbols, but then it needs its own initialization and potentially update function.

author: Miti
author_rank: Super Contributor
timestamp: June 16, 2025, 02:50:32 am
content: @ qu1ckIt just hit me looking at this picture. The display on 34401 is part of the floating section of the meter, see the attached block diagram. If you measure 120V AC, or other dangerous voltages while connected through USB... kaboom !!! Fourth of July right there in your lab. Please be careful.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 16, 2025, 05:13:11 am
content: Yup, that usb is for flashing firmware only.

author: Miti
author_rank: Super Contributor
timestamp: June 16, 2025, 02:01:21 pm
content: Quote from: qu1ck on June 16, 2025, 05:13:11 amDoes everybody know? I wouldn't drill that front panel. Just my two cents.Simulation below.Looking good, eh?

author: qu1ck
author_rank: Regular Contributor
timestamp: June 16, 2025, 11:12:21 pm
content: This was mentioned in the thread somewhere but fair enough, I added a warning to the repo.

author: Miti
author_rank: Super Contributor
timestamp: June 17, 2025, 04:03:22 pm
content: Hi qu1ck,I have some questions:1. How do you connect your blue pill? My understanding is that:IGFPSCK -> SPI_SCKIGFPDI -> SPI_MOSIIGFPINT-> SPI_INTFPDO -> SPI_MISOAre you connecting this?2. Where do you take the +12V from?I apologize if this is explained somewhere.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 17, 2025, 05:41:33 pm
content: Swap DI and DO, my labels are from front panel's perspective. Yes, data out is connected too and you can take power from +18v on front panel, from filament or from main board (floating section).See this posthttps://www.eevblog.com/forum/repair/hp-34401a-dmm-with-leaking-segments/msg5711571/#msg5711571

author: Miti
author_rank: Super Contributor
timestamp: June 17, 2025, 05:58:37 pm
content: Do you need to connect DO and do you need to generate all the acknowledgment? Since you don’t remove the FP processor, they are still generated. You’re connected in parallel and may have collision.Have you measured the current in +18V with the VFD?

author: qu1ck
author_rank: Regular Contributor
timestamp: June 17, 2025, 06:11:56 pm
content: You don't generate anything, you only listen to data lines. You need to listen to DO to decode button presses, some things like SHIFT annunciator are handled on front panel only and without DO connection you will not be able to determine when to show it.Protocol is described in detail herehttps://github.com/openscopeproject/HP34401a-OLED-FW/blob/master/protocol.mdI have not measured current with VFD, only made sure that the additional load from my board + oled is well below the regulator capability of that power line.

author: Miti
author_rank: Super Contributor
timestamp: June 18, 2025, 02:31:21 am
content: Ok, I measured the current in the +18V line and the filament.+18V DC 20mAFilament 140mA AC <- This is the one I want to explore using a Delon voltage doubler.Am I annoying if I ask few more questions?1. What's the EEPROM for? Is it used?2. What's the UART for. Is it used?3. Looks like LM1117 can only take 15V max (recommended). 18V is close to the max 20V. No issues there?Cheers,MitiEdit: I found the EEPROM, not used yet.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 18, 2025, 02:51:13 am
content: I'm happy to answer all questions. If I'm busy or something I'll just answer later.1. EEPROM is not used currently. I intended for it to store settings like font size, bar graph toggle, anything else. But a control scheme through front panel buttons that wouldn't interfere with meters functions was so convoluted that I didn't end up implementing it. Drilling more holes for more custom buttons also didn't appeal to me.2. UART is for flashing. Either initial bootloader (stm32f103 does not have built in usb dfu, it needs a custom bootloader flashed once before you can flash through usb) or firmware.3. I think I used a 1117 analog part with higher limits but it should be fine either way since currents are small.

author: Miti
author_rank: Super Contributor
timestamp: June 18, 2025, 10:28:58 am
content: Is this the bootloader that you use?https://github.com/Serasidis/STM32_HID_BootloaderEdit: Changed the link.Edit1: Well, I programmed it and it it only worked once with the Blink sketch from Arduino IDE. Subsequent uploads fail. It doesn't work at all with PlatformIO.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 19, 2025, 01:55:21 am
content: No, you need stm32duino bootloader, grab prebuilt one herehttps://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/bootloader_only_binariesThere are many variants for different boards and led pin configs, for standard bluepill use generic_boot20_pc13.binOnce you flash the bootloader don't forget to switch to release environment in vscode so that platformio uses correct linking and upload method that takes bootloader into account.

author: Miti
author_rank: Super Contributor
timestamp: June 19, 2025, 02:36:34 am
content: I did that but I think I haver a driver issue.I could not make it work with PlatformIO. What drivers do you use?This is what I see in the device manager.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 19, 2025, 02:53:01 am
content: Yes, you do need drivers.Follow the steps herehttps://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/stm32duino-bootloader#installing-the-stm32duino-bootloaderAfter flashing the bootloader PC should recognize the usb device as libUSB Maple DFU device.

author: Miti
author_rank: Super Contributor
timestamp: June 19, 2025, 02:56:59 pm
content: Naaah, STLink it is. No matter what I do it is seen as Atmel USB Devices - Maple DFU. I tried uninstalling with erasing the driver, reinstalling the drivers that you recommended, the Atmel keeps coming back.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 19, 2025, 07:56:43 pm
content: Well, whatever works for you. But if you ask me, ability to flash through usb without pressing any buttons on the board is worth the effort of setting this up.Maybe you needs libusb driver too, install it using this toolhttps://zadig.akeo.ie/

author: Miti
author_rank: Super Contributor
timestamp: June 20, 2025, 03:35:08 am
content: Quote from: qu1ck on June 19, 2025, 07:56:43 pmI agree but I can't make it work. I'll dig more.I tried Zadig and still no luck.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 20, 2025, 04:30:41 am
content: Does your board blink when you flash the bootloader?What is the platformio output when you attempt to flash?

author: Miti
author_rank: Super Contributor
timestamp: June 21, 2025, 02:36:24 am
content: Quote from: qu1ck on June 20, 2025, 04:30:41 amYes it does, few times fast and then slower. I’ll take a screenshot tomorrow.

author: qu1ck
author_rank: Regular Contributor
timestamp: June 21, 2025, 03:25:56 am
content: QuoteThat means bootloader is working.QuoteCopy pasting text is better, the output may be long.There are 3 steps that platformio performs when flashing:1. Find the maple dfu device to send a reset2. Flash the firmware using dfu-util3. Reset againI think there are 3 possible problems here:1. One of the steps can not find the correct device. This should be solved by installing drivers from stm32duino project. Make sure to run that bat file from admin command prompt while the device is NOT connected and check that both steps report success.2. The first reset step fails because you have modern java that crashes with old serial port lib. That is cured by replacing jssc.jar in the stm32duino package that platformio uses with newer one. If you see a java crash in platformio output it must be it. Look for .platformio\packages\tool-stm32duino\lib\jssc.jar in your user directory and replace that file with fresh one fromhttps://github.com/java-native/jssc/releases3. The reset does not work. Original maple leaf boards that this bootloader is based on had special reset circuitry. Bluepills don't have that but majority have a 1.5k pullup on usb d+ line which allows some trickery to force the pc to reinitialize the usb device, effectively doing a reset. That is technically out of usb spec but in practice works every time. Problem is some cheapo bluepill clones don't have that resistor. You can check for presence of that resistor and add it if necessary.Either way the output should give us a clue what the issue is.

author: Miti
author_rank: Super Contributor
timestamp: June 21, 2025, 02:42:38 pm
content: Quote from: qu1ck on June 08, 2025, 04:54:56 pmHere's something on the display...With Arduino IDE, not with PlatformIO yet, but with blue pill.I wanted to prepare one set for you but I ran out of 8V Vcc regulators because two parts crapped up, brand new, and the board is not configured for internal charge pump. HG Semi... Asian brands. Well, next time I will buy Diodes. Let's see if you can use the ones that you ordered, if not I will send you mine.And I promise I will send you one full assembly of the final design.Miti

author: qu1ck
author_rank: Regular Contributor
timestamp: June 21, 2025, 07:08:41 pm
content: Sweet, is that with bit banged i2c?Aliexpress courier messaged me and asked to reconfirm my address, my parcel passed US customs already, should arrive in a few days.

author: Miti
author_rank: Super Contributor
timestamp: June 22, 2025, 02:01:09 am
content: Quote from: qu1ck on June 21, 2025, 07:08:41 pmNope, I2C interface. I just wanted to validate the hardware.

author: Miti
author_rank: Super Contributor
timestamp: June 30, 2025, 12:22:02 am
content: Yesterday I've tried the filament winding with Delon doubler schematic and it works perfect. I connected the voltage doubler to the 3478A display with big digits. The down side is that for a reasonable ripple I need at least 2 x 470uF capacitance and the space is very tight. For 60Hz even 2 x 390uF would work but for 50Hz it may be a problem so 470uF is the minimum I'm comfortable with. I want to avoid using the +18V line.Cheers,Miti

author: Miti
author_rank: Super Contributor
timestamp: July 02, 2025, 09:36:28 pm
content: Here's a preliminary schematic and PCB.@qu1ck Can you please check see if you agree with the schematic?

author: Miti
author_rank: Super Contributor
timestamp: July 05, 2025, 10:18:49 pm
content: 3D back is also ready.qu1ck where are you? Did you lose interest?

author: Korchahin
author_rank: Regular Contributor
timestamp: July 07, 2025, 02:27:10 pm
content: Maybe use two ssd1312(22)?As for the microcontroller, I would transfer the project to ESP321. WiFi + BluetoothThis enables wireless data transfer.2. Easier development and more communityYou can go further and completely move away from the classic look, make a new front panel (many have a 3D printer) and implement a 4.3" touch screen there. Expand the functionality.While waiting for my 34401, I meditate on various topics.

author: robert.rozee
author_rank: Frequent Contributor
timestamp: July 07, 2025, 02:59:49 pm
content: Quote from: Korchahin on July 07, 2025, 02:27:10 pmprobably don't want to put a wireless transmitter INSIDE your 6.5 digit precision multimetercheers,rob :-)

author: coromonadalix
author_rank: Super Contributor
timestamp: July 07, 2025, 04:20:05 pm
content: Quote from: Korchahin on July 07, 2025, 02:27:10 pmnice to have ideas but keep in mind it was designed in a certain way, you will need to add an separate x-former, taking power from the internal one is pushing it a bit, even if you stay under some current limit ..the hardware, the display etc .... have their own firmwares and like the previous comment, you may add problems, if your wi-fi or bluetooth signals ring in the instrument ... you will need to shield frequency (ies) emanations

author: Korchahin
author_rank: Regular Contributor
timestamp: July 07, 2025, 04:23:27 pm
content: Quote from: robert.rozee on July 07, 2025, 02:59:49 pmDo you think my DMM won't have children because of Wi-Fi because of prostate cancer and a microcontroller?But seriously, I've never thought about how Wi-Fi can affect the work of the DMM?I've put so much hope in the ESP32 and I'm already dreaming of controlling my DMM from my phone.

author: Miti
author_rank: Super Contributor
timestamp: July 07, 2025, 04:56:52 pm
content: Quote from: Korchahin on July 07, 2025, 04:23:27 pmChildren, the meter is too old for that. However , it may start identifying as 34461.Naaah, that would be way out of scope. The project is to replace the existing display with a modern one looking as much as possible like the VFD.

author: Miti
author_rank: Super Contributor
timestamp: August 12, 2025, 04:38:33 pm
content: Quote from: amp on November 12, 2024, 08:02:18 pmHi @ampHow is Continuity or Diode range working for you? For me it displays OPEN all over the place for awhile and then hangs. Looks like on those ranges the meter shoots characters at high speed.Thanks,MitiEdit: Yes, it's confirmed. 72MHz and even 112MHz is too slow for the data rate on those ranges. It only work reliably at 128MHz... but for how long?