Speaker Restoration

A while ago, my coworker buddy stood at my doorstep, hauling two -for lack of a better word- obscenely large speakers along with him. Turns out he bought two pairs of 30 year old Bang&Olufsen Pentas, one pair of them powered (Beolab), the other not (Beovox). For some reason, the passive ones ended up staying at my place. Yay!

Thank you one more time, André!

Most unfortunately, all of those speakers were in absolutely desolate shape, simply terrible: Smashed woofers, rotten foam on all of the midrange drivers, while two of them were completely shot. The front grilles all filthy and ugly, candle wax stuck on top of one of them and, boy, were they dirty in general. Needless to mention, they also sounded horribly screeching and flat; Outright dreadful.


Time had inexorably rendered them into worthless pieces of junk. Such a shame! Much Unjust! So Sad! I simply had to do something about this.

You see, the beauty of these speakers lies within the fact that the midranges are configured for line array operation, within certain frequencies. Phase correction of the outward driver pair is done by physically shifting them backwards by a few millimeters, so the sound from those drivers is delayed by a few nanoseconds. This produces a sound beam, emanating from the front, minimizing floor and ceiling reflections. It also gives the stereo image they produce an airy, wide open, yet deeply detailed and defined quality not usually found in your average $1000 run-off-the-mill speakers.

So naturally, the first thing was to check for replacement midranges. Refoaming was out of question, since two of them were totally dead and measured open on the voice coil. B&O still supplies them, but quoted a price of EUR 235 per unit. Bloody ouch!

Also considering that the original ITT/NOKIA drivers were always a tiny little bit on the crappy side perhaps, another solution had to be found.


After following up on countless posts in diverse message boards, I read about some drivers from Visaton (a quality manufacturer from Germany), for which others reported success with. However, the reported drivers were 8 Ohm types, while the original had 4 Ohms (3.4 Ohm DC). After browsing around some more, I found that there’s a 4 Ohm version and decided to give it a try. The drivers had to be mechanically modified to fit into the mounting holes on the B&O enclosure, but that -thanks to my coworker’s ingenuity- turned out to be not much of a problem after all.


I decided to replace the cheapo spade connectors on the speaker terminals by soldering the wires to the terminals and using a 6 pin automotive high current connector for the entire assembly. Those mechanically interlock when connected and are coded, so cannot be connected up the wrong way.


While at it, I also completely redid the wiring for all the bass drivers. Instead of the daisy chain style 0.75mm2 wiring put it place by B&O, Im using 2.5mm2 wiring arranged in a star topology. The wires are soldered to the terminals, at the driver side.

Due to age, the crossovers were completely recapped with Audyn MKT caps. It was my choice to replace all electrolytics, not just those directly in the signal path. Different electrical parameters of the replacement drivers also necessitated  tuning a few resistor values. I used both simulation and lots of trial-and-error listening to do this (which is the reason for the yellow tape on the floor, marking the speaker positions).


Theoretically not entirely perfect, but I didn’t want to replace any of the inductors and have no facilities for taking any meaningful speaker measurements. Yet, outcome in terms of sound is extremely good: very clear and elucidated mids and heights, absolutely profound and dry bass response, always comfortable to listen to (even at stupidly high or idiotic low volumes) and quite well balanced overall. Also, many orders of magnitude  better than the pair of (quite good) Quart MB speakers I used before.

My thread on beoworld has more detailed information about the crossover modifications.

Next was redoing the front grilles with black fabric instead of the original grey one. All the originally grey plastic parts were also repainted  in maté black.

So here’s what they look like now:


Final step, I did a new paint job on the became-undefinable, once-must-have-been coppery-silvery-goldish deco stripes running around the grilles. My color of choice was a dark metallic red, matching the interior of my living room.



I think they sound (and look) absolutely stunning. The only thing I’ve ever heard that comes even close in terms of spatial resolution (stereo imaging and depth) are Martin Logan Sequel electrostatic speakers. My coworker was so impressed that he also had -after listening to my pair for a while- the same replacements and modifications (except paint job) done to his powered pair.


Old 80s Speakers in all new and shiny glory. Absolutely, totally gorgeous!


And in case you wonder: If you were to give me EUR 2000 and cover all expenses, then yes, I’d consider applying the very same procedures to your pair of Beovox Pentas. Yes, it was quite a bit of work that took me several moons of working on them in my spare time.

Natural Born Expert

Browsing Google News today, I spotted an article on http://www.inside-it.ch, written by one Mr. Inniger. Mr. Inniger is “responsible for Internet of Things” at Zühlke Engineering AG and concludes his article, claiming “more than seven years of experience with IoT-Solutions” in a multitude of fields and sectors.

Fo’ real, homie?

According to wikipedia, the very term “Internet of Things” was coined back in 1999 by Kevin Ashton; such was the title of a presentation Mr. Ashton held at Procter&Gamble. When Mr. Ashton said IoT back in 1999, he did so referring to a “global network of objects connected to RFID”. Of course, Mr. Ashton’s pre-millennial Internet of Things idea was nothing like what IoT is now. Heck, the Internet was nothing like what it is now, back in ’99. Remember 56k dial-up? Crappy low-res Realplayer porn? The Matrix?

Fast forward to 2009.

It was at this point in time that, Cisco says it believes, IoT as we know it today was “born”. Also at this point in time, Mr. Inniger already had gained -at least according to his claims- experience with IoT solutions in various fields. An absolute necessity, or he couldn’t possibly have had any chance of accumulating those 7+ years of experience in the field, as of today (2016).

In other words, this guy was already an experienced professional in IoT, when the actual field had just recently came to be a thing. Clearly, a natural born expert!

Interestingly, this appears to be the same kind of expert these companies are usually looking for, to fill their purported job vacancies: Academic degree, 20+ years of experience in technology that barely exists for 5 years, fluent in at least 64 programming languages of which two have not been invented yet, at the very least 15 years of experience in at least 12 different DBMS (Relational, Object Oriented and NOSQL), intimate knowledge of (at least) all IBM Mainframes and Mainframe-OSes since 1975, all Unix variants ever known to man, Windows 12, some obscure Middleware nobody but the project lead has ever heard of, plus 10 years of experience in designing flight control systems with the Ada programming language, for a realtime operating system called Deos. While, of course, the actual task at hand will be to install MS Word on a bunch of office computers. And all your qualifications don’t matter, as long as you just hold an academic title. Any academic title.

Talk about a fulfilling and gratifying position. Especially IF you are a top skilled expert in writing flight control software in Ada, for Deos environments.

Blame pseudo-elitist HR policies for such blunder. Religulous belief in academic titles and selection based on dogma does nothing to save you from having bullshit published in the name of your company. What it however does is, it foolheartedly deprives your enterprise from any and all talent not holding an academic degree.

It’s as simple as that.


My first commit to github, yay!

It’s a rudimentary GUI system, optimized for touchscreen use. Very lightweight and totally OOP (except for properties, zomg!). Plus, about every second line of the source is a comment, because it was written to support an educational project. The basic Idea is this: GUI System -> GUI Pages -> GUI Elements. No other documentation so far, although there’s a built-in numerical keypad –  which will also give you an idea of how to use the code.

Find it on https://github.com/niston/touchGUI

Here are some screenshots of an embedded project using touchGUI.py:



IoT Blinkenlights!

Niston Cloud’s WiFi IoT Signaleer is -you guessed it- an Internet-of-Things signal lamp. It can visualize a great many things: Internet connection availability, NAGIOS alarms, home automation indicators, (3D) printer job status – you name it. My use case is to monitor the order queue of a webshop we run at work. So, the current Signaleer Firmware uses HTTP polling. I plan to write an MQTT version for some other use cases.

Niston Cloud's IoT Signaleer

Niston Cloud’s WiFi IoT Signaleer – The Internet-of-Things Blinkenlights

The heart of the IoT Signaleer consists of a nodeMCU board. This integrates an ESP8266 Microcontroller (has built-in WiFi), 4MB FLASH memory, a 3v3 regulator and an USB-TTL Serial bridge onto a tiny, ridiculously cheap board. Thanks to the nodeMCU firmware, the ESP can be programmed in LUA. I had some previous experience in writing LUA code, dating back to my World-of-Warcraft days. So, getting going with nodeMCU wasn’t much involving. I found that it’s event-driven approach is very similar to writing event-driven programms in (ancient) Visual Basic 6 – Which is something I once used to be extremely comfortable with.

Stripeboard PCB, Revision 1

Stripeboard PCB, Revision 1

The light stack used in this project has incadescent lamps. As you can see, I took to some rather very, totally and extremely beefy MOSFETS (IRFP064N) to blink ’em lights. Because, you know, Overkill! The MOSFETS do not fully turn on @ 3v3, so I used pairs of BC547 transistors as non-inverting gate drivers (thx SpeedEvil). Due to the relatively high MOSFET slew rate, I had to take some measures to prevent ringing (which would emit unwanted RFI) and so used a 100KOhm gate resistor. Filament protection is provided by a bunch of 470Ohm bias resistors across the MOSFETs, which pre-heat the bulb filaments with roughly 30mA each (thx Kludge & _abc_).

Incandescent Lamp Driver w/ Softstart Option

Incandescent Lamp Driver (1 Channel shown) w/ Softstart Option

To further extend bulb life, I implemented softstart on all lamp channels, paralleling a 4.7uF capacitance with each MOSFETs Gate. Going overkill++ on the MOSFETs allows for this mode of operation (slowly ramping down RDS) without using any heatsinking or even considering thermal management.  Considering thermal management: I had to rewire the beeper inside the lamp stack, for common anode operation. Doing so, it came to light that the manufacturer had put unsuitable wiring in place, rated for 105°C only. But I measured the inside of the stack to reach 103°C @ 24°C ambient. Thus, some new 180°C rated SiF wiring finally fixed this potential fire hazard. There’s also a little piezo beeper inside the lamp stack; it is driven by a single BC547.

MOSFET sofstart curve (5V,20ms / div)

MOSFET sofstart curve (Gate Voltage – 5V, 20ms / Div)

MOSFET shutdown curve (5V, 10us / Div)

MOSFET shutdown curve (Gate Voltage – 5V, 10us / Div)

I mostly used ESPlorer to code the Firmware, which you can obtain from here. ESPlorer is a tad bit cumbersome to use, and some of the features don’t work at all while others do work, but just not quite right. Still: It got the job done, nonetheless! I need to look around for a suitable dev environment though. Something VS-ish would be nice indeed.

Using ESPlorer as a *rudimentary* IDE.

Using ESPlorer as a *rudimentary* IDE.