Running a EL640-400 TFEL display off the RPi native DPI/VGA interface

Following several somewhat successful tries to bit-bang VGA signals for TFEL displays I have moved to the integrated native display parallel interface (DPI) of Raspberry Pi models 2 and later [1][2].

By using this GPIO drive mode it is possible to offload framebuffer output to the hardware, which brings speed and saves a huge amount of CPU resources compared to bit-banging. This interface is frequently used for outputting VGA signals, since it is one of the original display signal output methods of the Broadcom CPU for driving parallel TFTs or LCDs. Obtaining analog VGA from it requires a resistor ladder DAC board [3], which combines the individual digital bit signals to analog multi-level RGB signals. In the case of a TFEL display this is not necessary, since the control circuit accepts digital level VGA. However, the clock mode is a bit unusual compared to the common configurations (as explained in previous posts: required is a 640×400 pixels, >70 Hz, monochrome signal).

Continue reading

Samsung SSD resurrection

Yesterday, a discarded Samsung SD863 datacenter SSD found its way to my hands. Although a bit older – this one’s from 2016 – these are supposed to be quite reliable (except for a few rumoured firmware bugs), and 480GB of capacity are not to be disregarded even at today’s remarkable flash prices. Since it did not suffer from the usual drillholes of unreadability, I hooked it up to a linux machine – hopefully immune to virus-infected, supposedly “lost” thumbdrives – to give it a try. Unsurprisingly though, the drive announced 1GB of capacity, which does not fit its type MZ7KM480HAHP and explains its disposal. I had a hunch that the reason might lie with the microcode:

ata6.00: ATA-9: SAMSUNG MZ7KM480HAHP-00005, ERRORMOD, max UDMA/133
sd 5:0:0:0: [sdd] 1965352 512-byte logical blocks: (1.01 GB/960 MiB)

ERRORMOD as a version index looks rather like something went horribly wrong, causing some kind of corruption to the firmware. At least it still communicates through SATA, which indicates some backup capabilities.

Continue reading

New layout

As of 16th of July, this site is delivered in a new layout, which *should* be mobile-compatible. The old theme’s backend has become too messy over time due to a lot of hacks I added. I still need to restore some parts of the old design though, so there will be some more change over the next few weeks.


VOLVO 850: Broken speedometer

Recently, the speedometer of my trusty old Volvo 850 station-wagon started acting up. Initially, it would just drop to zero intermittently at speed, then come back. Hard to notice if you only so much as glance at it every now and then. Over the last two weeks this got worse such that it would only very rarely do anything at all. My best guess for the cause would have been the speed sensor at the vehicle underside, but for mysterious reasons the odometer was still going at the normal pace. According to the instrument schematics, this should not be possible if the sensor were broken – same signal for both. Continue reading

3D-printed transformer bobbin

Getting a fitting transformer bobbin for ferrites is not easy under normal circumstances, but even more so for cores of unknown type. Usually, the dimensions follow a somewhat standardized pattern, but then your application might demand for separate winding chambers or mounting aids which are simply not available to the standard customer. So why not 3D print it?

The motivation is to use an old ferrite core for a high voltage lab supply. It will be driven far below its theoretical maximum spec as I only know it came from a ~50W power supply. My design (a flyback converter) requires a single winding in single-ended mode for the primary consisting of 23 turns, and a secondary of 235 turns capable of withstanding roughly 1kV. For winding I use standard enameled solid copper wire of unknown brand, which will probably not survive the full voltage. As a solution, I want to separate the secondary into 6 compartments of 40 turns each to reduce the maximum possible voltage between two neighboring wires to a maximum of 166V, which is well below the breakdown range. Without compartments, the left-to-right-to-left layer winding – which will occur somewhat naturally – may cause turns with extreme voltage difference to end up touching, leading to arcing sooner or later. To additionally strengthen the winding, a soaking resin could be applied.

Using the dimensions of the core as a base, some modeling in Tinkercad yielded this:

Tinkercad design ready for STL export.

Finished print in PLA, filed and mounted on ferrite.

Windings inserted, ferrite closed and fixed with PET tape.

Continue reading

JAMO 660 subwoofer amp

A few weeks ago a friend brought me an old subwoofer that was discarded as broken – a JAMO SUB-660, which is an 600W sub for home cinema with integrated amping. The sub receives pretty good reviews, so I set out to try and fix it. I have worked on quite a few power amps until now, but as fully switched designs like this rarely fail, it is always a challenge when they do.

Fig. 1: Jamo SUB-660 power amp module. High-power PSU (right top), standby PSU (right of centre), Class-D amp (above centre) with large output filter choke (centre). Preamp, sound filters and standby detector PCB on the left, line input on the bottom right.

Continue reading

Running a Planar TFEL display off the Raspberry Pi GPIO

Fig. 1: Archlinux logo running on a raspberry-driven Planar/Finlux EL640.400 display.

Thin film electro-luminescent (TFEL) displays represent an interesting, if somewhat anachronistic display technology, now that we have high-contrast LCDs, plasma displays and of course OLEDs. The latter are actually closest to the principle of TFELs, and their primary optical advantage is identical: light-emitting pixels instead of backlighting, for maximum contrast. Where OLEDs use an organic polymer, which can be excited to emit visible light by applying an electric field, a TFEL does the same with an anorganic dielectric material like e.g., gallium arsenide (GaAs). The emitter pixels are sandwiched between two layers of transparent dielectric to insulate them from the transparent electrode grids on the front and back glass cover of the display panel. When a high-frequency current is applied, a current flows through the selected pixel and the emitter material lights up in a beautiful, saturated orange – in my opinion the most interesting aspect about this technology. Remember the old terminals with the amber CRT screen? Close! In contrast to OLEDs, EL displays are also able to tolerate much harsher environmental and mechanical conditions, which makes them ideal for applications in heavy machinery – or living room gadgets, when they are retired. Continue reading

Monitoring and controlling a JUDO i-Soft plus via LAN

Some time ago, a water softening device was installed in my home main water supply line. Such a device contains one or multiple gel capsules that act as ion exchangers, replacing calcium and magnesium in the fresh water supply with sodium. In regions with a rather hard water, this can save you a lot of trouble with maintenance of valves and the lifetime of water-consuming devices like washing machines and dishwashers.

Fig. 1: JUDO i-Soft plus unit with LCD touchscreen user interface.

For regulation, a conductivity sensor determines the hardness of the incoming water. After running through the gel exchanger, the residual hardness is assumed to be around 0.5 °dH which allows the mixing ratio of raw and processed water to be calculated. I won’t go further into details here, the bottom line is: It works like a charm, water is as soft as it needs to be. The device at hand is built by JUDO and is available in several configurations. Basic models contain a two-capsule exchanger for seamless switchover/regeneration cycles and an integrated electronic control unit for automatic regeneration of the gel. A more advanced “i-Soft plus” model is extended by a touchscreen user interface complete with LAN/WLAN network access. This enables monitoring through a specialized iPad application where the interested user can view total water consumption per day, week, month or year as well as change different system parameters. As a nice bonus, the plus unit has an integrated main line valve which is closed automatically whenever user-set time, volume or flow rate limits are exceeded. This already saved my ass once when a pipe became leaky inside a wall. Unfortunately, the exact protocol for communication with the device is not disclosed, which is where this story begins. Continue reading

Schlumberger 4002: Overview

After quite some time, I am finally starting to check my 4002 signal generator in-depth. The first thing I want to do before really starting this project is to get a good idea of the system layout, hence the “part 0” thing above. I will link from here to the different components as I wriggle through the unit and check them. As there is no service documentation freely available, I will go deeper into critical parts of the circuit along the way.

This will also help me simplify things later when trying to figure out which line went where, if things go wrong.

Clock source (Decade stage)

OCXO top compartment. Oscillator on the bottom right, distribution on the top right. 10.7 MHz mixer (10.625 MHz + 65-85 kHz) and filter in top center. Quad VCO and PLL for widerange signal in bottom center and left.
Fig. 1a: OCXO top.

Contained in the bottom RF block, consists of a styrofoam-encapsulated 10.000(00…) MHz oven-controlled precision oscillator and some clock distribution buffering. This part sources the main TTL clock which is also available on the backside ports as an instrument reference. The picture shows the whole top side of the module block, but the actual OCXO and distributor PCB are on the right.


OCXO bottom compartment. Oscillator on top right, 10.625 MHz and 100 kHz ref generator in bottom right corner. 65-85 kHz generator in center and control logic circuits on left.
Fig. 1b: OCXO bottom.

There are three additional circuits in this module: The 10 MHz TTL buffering and switchover for external references, a 10.7 MHz IF generator (PLL+VCO+Mixer) and another phaselocked VCO for a derived widerange signal (49.3-70.7 MHz according to the marking) which is used to fine-tune the RF synthesis stage.


Continue reading