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