Friday, June 5, 2020

Vacuum Fluorescent Displays - How they fail (focus on Squeezebox)

Here are some examples of a burnt-in display plus filament starvation. The photos may help you identify what problems your Squezeebox max have, and assess the situation, figure out if it's worthwhile to replace the display etc.

First let me say that the Noritake itron displays used in the Squeezebox 1, 2, 3 (aka Classic), Boom, and Transporter are pretty solid. They rarely fail by themselves. There is some smartness in the form of chip-on-glass circuitry in the glass housing which helps reduce the pin count and also simplifies the driving circuitry.
There are some cases where a display is invariably defect so there is no way around replacing it, for instance:
  • display body or seal broken: the vacuum is replaced by air rushing into the glass housing which inhibits the electron flow and causes filament wires to melt
  • line driver defect, for instance showing as one or multiple pixel lines staying dark: this means that one of the chip-on-glass components has an internal failure. As they are inaccessible from the outside, there is no fixing this
  • filament wire rupture: the filament wires are mounted on flexible spring contacts to ensure that they are always under a given amount of tension so they won't touch the grid that is directly beneath them. As the wires expand and contract depending on their temperature, the springs also serve to compensate for that. If a wire ruptures, it may cause short circuits against the grid as well as other heater wires. This is clearly visible by horizontal black bars across the entire width of the display as well, or if the grid circuitry is hit, by a complete failure of the display. Here is one where the red arrows shown the torn wire, and the burn mark the shortcut caused at the yellow arrow (+5V at a high current meet +55V grid voltage!):

But in my experience, >98% of the cases are just aesthetics. The displays are still readable to some degree but no longer beautiful to look at:

Noritake MN32032A (in a Squeezebox 3 Classic) with heavy aging signs
 
Another reason for bad visuals is well-discussed here and is mainly specific to the the Squeezebox Boom where the circuitry powering the filament heater wires is failing. This is what Noritake calls filament starvation, the outcome of which is shown below in photos.

My conclusion is that there is no immediate need for panic if a display is getting darker. It will always be readable at least in dark environments. If it gets completely dark from one day to another, the problem is elsewhere, in most cases the power supply mentioned in the previous paragraph.

These visual issues (but not total defects) are documented in the following pictures:
  1. horizontal striping (irreversible)
    caused by the heater wires in the places where they are closest to the pixels. Naturally, these pixels will receive more electrons than others around them vertically, so along the six heater wires the pixels will darken a bit faster than the others. This is similar to burn-in, but in this case not caused by the contents shown on the display. Even brand-new displays have this right from the start, but it gets more pronounced over time. Apparently, horizontal striping is somewhat immanent in the design.

  2. vertical striping (mostly repairable)
    caused by the grid boundaries. The grid is actually not a single one but split into groups, each 4 pixels wide and covering the entire height of the display area. Electrically no segment is connected to a neighbouring one, and I cannot say why, but under the gap that separates two grid segments, the pixels may look darker. It depends on these factors:
    1. brightness setting: lower brightness settings cause a more pronounced vertical striping
    2. filament starvation: the less power the heater wires are getting, the more apparent this kind of artifact is becoming

      One example here that illustrates how much more dramatic vertical striping becomes along with filament starvation (top photo) vs. the same display with the filament starvation fix applied (bottom photo). Needless to say, both were taken at the same brightness setting:


  3. shadows (irreversible)
    caused by burnt-in pixels. The illumination in a VFD is achieved by a phosphor coating on every pixel that emits light when subject to an electrical charge. This coating sputters away a tiny bit in the course of the reaction. The resulting degradation depends on the brightness of the pixel (the higher brightness, the faster it degrades) and the duration the pixel is lit. This means that even with a less bright setting, a constantly-illuminated pixel will sooner or later be darker than surrounding ones, causing shadows. This is comparable to pixels in a plasma TV where the problem is well-known from broadcast station logos permanently being shown in the same corner, appearing as dark shadows whenever something bright is shown in the spot that is not covered by the logo itself.
    Unfortunately, there is no way of refreshing the pixels. Once they have burnt in, they can only get even worse.

  4. overall darkening (irreversible)
    over the years, the displays lose brightness across their entire surface while they are powered on, no matter if they are showing anything or not. A contributor to this is the fact that a Squeezebox will always keep the VFD powered, even in standby / off modes, and even if no "screensaver" is employed to ruin the display but it shows absolutely nothing. I assume that either the heater wire coating sputters away over time, or the phosphor coating just ages with higher temperatures. The heater wires have that name for a reason, and a temperature of 45°C near them is quite usual.
    In many cases the entire display appears darker because of filament starvation (only applicable for the Boom model). It's easy to find out by the fix discussed here. You will observe a much brighter display after the fix was applied if the power circuitry of the Boom caused filament starvation before.

  5. left/right edge darkening (repairable)
    no photos on this one as I haven't had a unit with this issue in a while. Filament starvation in its final stage will cause the display to fade out near the left and right edges considerably more than in the center.

Taking Photos of VFDs

...is not as easy as one should think. The problem is that they are actually flickering which the eye cannot perceive, similar to tube-based TVs, where it's actually just a single dot that makes up the entire picture, but persistence of vision, combined with screen material that holds its brightness for a small amount of time, helps us see it all as one image.
It's completely different when you use a camera. Smartphone cameras are a bit better because software may help them compensate the striping artifacts that come from shutter speeds and CMOS sensor sampling rates different than the rate at which the subject refreshes. DSLRs like I am using take a picture at a given exposure time. I am far from experienced on this matter. Basically it would be ideal to have the camera shutter open for just a single refresh cycle of the display. But that does not just depend on the mains input frequency but rather on the scan rate of the grid segments in the VFD and the way it is driven by the software. Actually I have not measured the exact frame rate of the VFD employed in a Boom and don't know exactly what needs to be done to take this kind of measurement. Anyway, it's high enough to trick the eyes into perceiving smooth animations and stable imagery.
The camera sensors are picking the image up so fast that they may just pick up one small segment of the display being illuminated. That is because it actually is illuminated only in slots, not entirely.
Let my try to explain this with some pictures.
Here is a photo taken at 1/500 second exposure time. It's the same mode as in all the other photos, the display shows a fully illuminated surface with all pixels on.


Somewhat expectedly, this area gets only half the size at 1/1000 seconds exposure:


The bright area would get smaller and smaller with shorter exposure. The best my DSLR can do is 1/8000th of a second, and that still gets at least the equivalent of about two columns illuminated 100%. For me there is no telling how fast the scanning actually goes.

Not let's try and calculate the refresh rate. We can see from the second picture that in one millisecond we find a total of eight blocks which are not completely black, with four in the center which are 100% bright, and adjacent columns which are partially illuminated (fading in on the right and fading out on the left side).
Let's assume that we have the equivalent of 5.5 fully-illuminated columns in total here. This approximately matches considering that we have the equivalent of between 10 and 11 columns in the 500 millisecond shot in the top photo.

The grid in the MN16032 display has 54 sections (or columns) as shown here:


The small contacts at the bottom of each grid section make this easy to see. I have counted them in groups of five and found a total of 54 contacts.
The grid segments are arranged to cover 1.5 pixels on the left, then 52 segments covering 0.5 + 2 + 0.5 pixels up to one on the very right edge which covers 2.5 pixels. Sum it up and we get 1.5 + 52 * 3 + 2.5 = 160 pixels. Just about right.
To simplify the grid math, let's make this a total of 53 columns across the width of the display area (each covering 3 pixel columns). We are only off by one pixel then, shouldn't matter too much.


A full sweep from left to right, illuminating all pixels, would take (53 / 5.5) / 1000 seconds which is about 9.6 milliseconds. The inversion to compute how many times that is per second results in ~104 Hz if I'm not mistaken.
It might be more like exactly 100 Hz instead, eventually there is heavy guessing involved ;o)
Please feel free to comment if this approach is complete BS. This is not my focus of experience.

The challenge is adjusting the camera sensor exposure time accordingly. To get a photo that reveals what the eye sees, no more no less, it needs to be closely adjusted to the display timing or multiples thereof. This is rather complicated to do which is why I decided to use gray filters and choose a longer exposure (in the range of 3.5 to 6 seconds). This flattens out the effects of areas which are illuminated more frequently than others in the swift period a normal photo would take.
But unfortunately, I did not care for this in the first run so the photos of the old display will show a brighter vertical stripe that appears in different positions. This is where the illumination of the previous cycle "overlaps" with the next cycle. The exposure was a tad bit too long. This makes the respective parts of the display appear brighter than the rest. As the scanning goes from left to right and, in each segment, from top to bottom, the stripe appears to be a bit askew.

How To Drive The Display

The Built-In Way - Possible With Every Squeezebox Classic and Boom (sorry, Transporter does not have it)

All the photos show a display that is fully illuminated. The Squeezebox offers no simple way or mode to get there. There is a built-in test pattern though that might help you estimate the status of your display. You will need a Squeezebox infrared remote control with a 10-digit keypad though. The small standard Boom remote control won't help you as it does not have the required buttons.

See here for a video: https://youtu.be/58rniC6mIMw

WARNING: You may need a firmware reset to get back out of this mode, so please be aware that this may affect your settings, including the Wi-Fi access key etc., all of which can get lost and may need to be re-entered. Therefore, it's best to use the test pattern only if you are sure you have all data to set the Boom up from scratch afterwards. 
This is how to start the test pattern mode:

  • disconnect your Squeezebox from power (this means unplug it)
  • using the infrared remote control, keep the digit "4" pushed down
  • power up the Squeezebox and be sure to direct the infrared remote control towards it
  • the boot logo will appear and immediately be replaced by the test pattern which will continuously scroll from right to left
  • this mode will be permanent and be re-entered even if you power-cycle the Squeezebox

To end the test pattern mode, you will need to perform a factory reset:

  • disconnect your Squeezebox from power
  • using the infrared remote control, keep the digit "1" pushed down
  • power up the Squeezebox and be sure to direct the infrared remote control towards it
  • the boot logo will appear and the Squeezebox may restart another time, displaying "firmware reset" or similar
  • you may have to reconfigure a lot of the settings at this point :-|

The LMS DisplayTest Plugin

The test mode served me well a few times to take very very long exposures to have the same effect as if the display was all-on for a longer period of time. But the plugin I created makes this a lot easier now. It can be navigated to in the Extras menu and will immediately turn all pixels on at the currently-set brightness. That's all it does, but this is also all that's needed to diagnose the state of a display. I may add more functionality as time passes but currently I would not know what other functionality might be useful.

The plugin can be downloaded from here:

https://github.com/JoeMod2017/squeezebox-DisplayTest-Plugin.git

Installation and usage instructions are contained in the README.md file next to the three plugin files. If you have any questions, use communication facilities right inside the GitHub page, or the comments section in this post, or e-mail me at johannesfranke74@gmail.com

I have tested the plugin against my Transporter (where both displays light up - yay!), a Squeezebox Boom, and in TripleFat 0.1.1, a Java-based SLIMP3 emulator, to verify that the 2x40 text character display is also fully illuminating. Also used SoftSqueeze 3.9 for an impression of an emulated Transporter.
This was NOT tested yet against a Squeezebox v1 because I have none available. Its 280x16 display might not have all the support it needs yet.

TripleFat 0.1.1 emulation of a SLIMP3 text display in DisplayTest mode

SoftSqueeze using the Transporter skin and running the DisplayTest plugin


Effects of Filament Starvation (In Old Displays)

Anyway, let's eventually get to the example pictures. I took them all from the same unit with the same photo settings (exposure, aperture, ISO etc). The PCB was already out of the device so the display is not covered by anything. It has all of the symptoms shown above (except #5). I'll explain how each is presenting here. Pictures are in pairs, showing the situation before the filament starvation fix, and after it was applied.

Squeezeboxes have seven brightness settings overall:
  • automatic - depends on ambient light (in the Boom), or some internal magic if no ambient light sensor exists (all other units), and adjusts brightness between levels 1 and 5
  • 5 = brightest
  • 4
  • 3
  • 2
  • 1 = lowest
  • off

Never mind the skewed brighter or darker areas, they are a result of camera shutter speed vs. display refresh rate as discussed in the "Taking photos" chapter above.

Brightness level 5 of 5 (brightest)

before fix:after fix:
The highest brightness levels expose shadowing and uneven lighting very well. Horizontal striping is also clearly recognizable. Filament starvation is mostly visible in the form of vertical striping.

Brightness level 4 of 5

before fix:after fix:
The difference to level 5 is not huge. What becomes clear here is that applying the filament starvation fix may bring the display back up to a brightness that it would otherwise only reach in the next-higher brightness setting. Compare the "after fix" picture here to the "before fix" picture of brightness 5/5 above, and you will know what I mean.
Horizontal striping is more pronounced in both situations, and will become clearer along with less brightness.

Brightness level 3 of 5

before fix:after fix:
Again, things get a little more dramatic, shadows are beginning to inhibit the readability to some degree, and behind the grey smoke screen of the Squeezebox display covers, it might be barely enough to be visible to the outside.

Brightness level 2 of 5

before fix:after fix:
A fresh display would still appear somewhat readable and clear in this setting. Striping (horizontal + vertical) is very pronounced now, as well as shadowing. Through the usual front panel screen it will hardly be readable at all, even at night.

Brightness level 1 of 5 (darkest)

The display was too dark already so the camera would not pick up a lot, not even with the fix applied. Therefore, there are no pictures for this mode.

Effects of Display Starvation (In New Displays)

Now let's compare all of this to the situation after the display was replaced by a brand-new one.
I remember the shock that I got after replacing a Boom's VFD. It looked very similar to this:


This is a medium brightness, and back then I was not able to have all pixels on, instead I observed the logos that scroll in from right to left as the Boom powers up, and especially the "squeezebox" logo that fills the entire width of the display looked heavily faded left and right. All that with a display that came straight from the factory.
Noritake helped me figure out why that is. Since then I know it's filament starvation.

So here is a new display in the same unit from which I took the comparison pictures above. Again, I switched back and forth between the 3-diode fix being engaged and disengaged.

Brightness level 5 of 5 (brightest)

before fix:after fix:

This illustrates that even a brand-new display won't be perfectly even in all respects. This is perfectly okay and needs to be accepted.

Brightness level 4 of 5

before fix:after fix:


Brightness level 3 of 5

before fix:after fix:

Brightness level 2 of 5

before fix:after fix:


Brightness level 1 of 5 (darkest)

Again, the camera didn't pick up a lot with the gray filters in front of the lens. So the darkest setting is still well visible for the eye but no way for me to get photos that convey this impression properly.
Anyway, where the old display appeared completely dark in the "one higher than off" setting, the new display has something to show, even though I cannot prove it in pictures here.

Conclusions

Dear readers, I hope you found this interesting and informational.
Feel free to ask if you have any questions or additions.