Running Ardour on a Raspberry Pi 4

Q: Is a Raspberry Pi 4 (4Gb) powerful enough to run Ardour?

A: Yes

I set out to discover how it would cope with the modest requirements of this excellent digital audio workstation.

A word of caution: running the Raspberry PI 4 with the official case is not recommended. Even with trivial non-audio operations the whole thing gets so hot that it quickly throttles down to a grind.

For that reason, I ordered an acrylic case with heatsinks and fan which turned out to be the perfect environment for the PI. Not only it keeps everything cool but looks so too!

I installed Raspbian Buster and downloaded the latest ardour sources. If you use are going to use this software please make sure you make a contribution – there’s a lot of work in there that should be supported!

The list of dependencies to install includes:

libaubio-dev libboost-dev libcppunit-dev libcurl4-openssl-dev libfftw3-dev libglib2.0-dev libglibmm-2.4-dev libgtkmm-2.4-dev python-isodate libjpeg-9 libarchive-dev libart-2.0-2 liblo-dev libsamplerate0-dev libsndfile1-dev libusb-1.0-0-dev libxml++2.6-dev liblilv-dev liblrdf0-dev lv2-dev libpangomm-1.4-dev libreadline-dev librubberband-dev libserd-dev libsord-dev libsratom-dev libsuil-dev libtag1-dev vamp-plugin-sdk libasound2-dev libudev-dev libjack-dev

The Raspberry is currently installed on my Rehearsal/Live rack and is connected to a Behringer u-phoria umc 1820 audio/midi interface (8/10 In/Outs, 18/20 In/Outs with ADAT).

Jack is configured to run at 96KHz. The 21.3 millisecond measured latency is sub-optimal but as I normally monitor directly, it does not matter to me.

In my tests I was able to consistently record 8 tracks without a single xrun, although I was not using any plugins. Ardour was running remotely using X11 display forwarding:

In retrospective, I doubt I have a valid use case for running ardour in this setup. In the studio, I will continue to use my desktop computer to run ardour, whether trough my old dependable M-Audio Delta 1010LT PCI card, or with a new setup based on a Soundcraft Ui24R mixer.

For live recording, having to carry a laptop (or alternatively a monitor + keyboard + mouse combination), defeats the purpose of having it all inside a tiny device, specially if you need to record multiple inputs simultaneously, which anyway requires a sizeable audio interface. In this case a simpler recording solution using ecasound would be more manageable, not least because you could control it from a tablet running Termux. Again, in my case I would probably use the Soundcraft Ui24R to multitrack-record every channel and later transfer everything to the studio computer for processing.

Disclaimer: I am not in way associated with the products linked or referred to in this article.

My 2000 BMW E46 is gone

On March 15th 2018 my old faithful BMW E46 was hit by another vehicle whose driver ran a red light on a busy intersection near Lisbon airport. Fortunately no one suffered any injuries as both vehicles accomplished their ultimate role: to protect their occupants.

The other vehicle was clearly a total write-off. Mine suffered heavy damage to the front too, and the estimated repair cost largely exceeded its market value, which technically made it a write-off too.

As it apparently did not suffer any structural damage other than a couple of bent supports, I considered to repair it myself in my spare time (and budget), but then my limited garage space would be completely blocked for a quite some time and it would make it impossible for me to service my other vehicles.

So I decided it was time to let it go. Afterwards I called the company who bought the vehicle and they told me it would be repaired and resold, so I might see it on the road again in the near future.

So when you decide to run a red light for the sake of saving a couple minutes from your trip, please think about the consequences it might have on yours and others’ lives. Better still, use the short time you will have to wait to appreciate any old and well maintained BMW that passes by!

Building a custom Pancake Slip Ring

The end effector for the voind robot consists of a “hand” with selectable “fingers” rotating over a “wrist” capable of rotations in excess of 360 degrees. To bridge this rotational gap and transport the 4 signals needed to command the “fingers” motor, I had two options: a) use a flexible cable; b) use a Slip Ring to transmit the four signals.

The first option although simpler had a major drawback: on startup the wrist would have to be manually set in a known position otherwise there would be no way to make sure the wrist would not be commanded to rotate past the point where the flexible cable would start to entangle around the axle.

I then started to look for suitable Pancake Slip Rings but prices were significantly higher than I was prepared to pay for a prototype. So I decided to design and build a slip ring from scratch.

The design

The first step was to create a design that would fit the existing parts. The next figure shows the assembly components. The PCB plate is attached to the “hand” while everything else is part of the “wrist”. The signals are transmitted trough the metal contacts that are touching each of the four concentric tracks on the PCB plate:

The fabrication

The base frame was fabricated by milling an acrylic plate.

The part before finishing:

The contacts were cut from a sheet of metal salvaged from an old computer:

The metal contacts are held in place and separated from each other using small polystyrene profiles normally used for scale models.

Finally the plate was milled from a standard piece of copper plated PCB:

The assembly with the wires already connected and ready to be set against the rotating plate:

The end result

This video shows the first tests using the custom made slip ring:

BMW E46 320d M47 – Replacing vibration damper and pulleys

I have replaced the belt vibration damper, belts and tensioner/guide pulleys on my BMW E46 320d. While this is a nearly straightforward operation anyone can perform at home, there are some basic tools and tricks to get the job done properly and safely.

Let me first get this straight! I am no expert in mechanics and you should not take my words as professional advice. I am just curious and eager to share what I learned so far. Do this at your own risk and do not blame me for anything that happens to you or your equipment!

While inspecting my vehicle some weeks ago I noticed some cracks developing on the rubber part of my vibration damper and began linking that to an annoying vibration noise coming from the engine bay, specially at idle. After some investigation it became clear that the damper had to be replaced because I was risking a catastrophic failure not to mention the damage that the vibration might already be causing to the engine.

As I was replacing this part it made sense to replace all pulleys and tensioners since these were still the original components that came with the vehicle. Checking the BMW repair manuals I learned that the proper procedure to undo the single bolt that holds the vibration damper is to use a set of special tools to hold the damper in place while applying force to the bolt. Moreover, the torque to apply in order to install the bolt is 410Nm, which is roughly the same as 40Kg on the end of a one-meter long bar!

There are lots of videos on the net showing how to “cleverly” use the starter to undo this bolt, and also how to block the engine flywheel to prevent the crankshaft from turning when applying torque to tighten/unloose the bolt. However none of these tricks seem to be safe and they might ruin your engine! Using the starter with the damper blocked or blocking the flywheel while applying torque to the bolt will cause the torque applied to the crankshaft to largely exceed the maximum engine torque (280Nm). While the crankshaft is designed to support the maximum engine torque, I see no reason why engineers would have designed it to support much more than that, and you will also risk damaging the starter or the gear tooth on the flywheel.

Why you should not use the starter or a flywheel blocker to undo the vibration damper bolt on the M47 engine.

So don’t follow this nor this and do it as per the manual!

fragment from the Bentley Publishers manual

As this operation requires a special tool I visited my trusted mechanic to get a quote for labor and parts. While the labor cost seemed reasonable to me, he would not accept for me to bring the parts and would charge me much more for the same parts! To top it off, he would not even consider renting me the special tools I would need to do the operation myself. I totally understand his position as this would completely go against his business model, but this will probably push me further into doing things myself that otherwise I would use his service for.

As a final attempt to source the special tool I made a post on the local BMW user forum asking if someone had the tools for renting – without success.

So I ordered the special tool, a 39″ breaker bar and all the parts needed including the vibration damper bolt and washer and all the bolts and bushings I could need to replace.

replacement parts
special tool, 39″ breaker bar with 22mm 3/4″ socket attached

One thing I learned the hard way was how important it is to protect the radiator when you work in close proximity to this fragile component. For that purpose I put together a MDF board with some foam and an aluminum profile to completely protect the radiator from any mishap:

First thing you should do is disconnect the battery to eliminate any chance of accidentally cranking the engine!

To undo the bolt I set the special tool and a square steel bar against the front tire using a small mdf board to distribute the force:

no, the car is not supported by the jack stand visible in the image – it’s there only for added safety

Using the 39″ breaker bar I was able to easily undo the bolt and remove the old the vibration damper.

I was also replacing most of the bolts and bushings but as I tried to remove the two bushings on the the AC compressor supporting bracket, things started to complicate: the old bushings were too tight for easy removal and my attempts to force them out just made everything worse. There was no way I would remove these bushings in place without serious damage to the supporting bracket!

I was considering discharging the AC in order to remove the AC compressor and after that the supporting bracket, but my wise neighbor suggested I should try instead to support the AC compressor and move it slightly aside to be able to remove only the supporting bracket. The following image shows the AC compressor already supported using a plastic strip and hanging from a sturdy exhaust pipe. Note also the air pipe going to the turbo charger already removed and the intake port protected from FOM using a piece of cloth.

After some fiddling with the screws in the tight space I was able to remove the supporting bracket and then the old bushings. While installing the new bushes it became apparent these are meant to be pressed in and it is next to impossible to remove them while the supporting bracket is mounted on the vehicle .

In the next picture the supporting bracket with all the new shinny parts already mounted and ready to be put back in the vehicle:

To tighten the bolt I used the torque specifications on the manual and set the special tool this time against the vehicle framework using a short steel square tube and a mdf block to protect the surface:

After this operation the engine sounds much smoother and gone are most of the vibration and noise that I was already used to… and the car looks better with the new pulleys!