Embedded Projects

Here are some of the projects I have been involved with over several decades. In all cases the basic requirement was to control or monitor physical hardware; later projects usually included a graphical screen showing the system in operation. I regret to say that with the passage of time few photos can be found; none for the earlier projects.

Heathrow Terminal 4, 1983

This was the first embedded system I became involved with. My client was a manufacturer of studio audio equipment and wanted to bid for the announcement system at the new airport terminal. This required a substantial amount of software and computers of that time were not well equipped to handle real-time event-based systems, especially given the huge physical size of a major airport terminal. Our small team of 4 designed a networked system that could be implemented using a single cable passing through all the locations at which announcements had to be delivered. As well as the multiple channels of audio itself it also carried the control information that allowed small processing units at each location to select from the available channels. These units were all controlled from a central point where the majority of the software was installed.

Electrolux Luton, 1990

At this time I was working for a small computer company in Norfolk. We were commissioned by Electrolux to automate part of their vacuum cleaner motor production line, specifically the part that tested finished motors before being assembled into cleaners. Motors travelled on aluminium pallets on a continuously-running conveyor belt, stopping at one or more test stations. The decision had been made to use computer control rather than relay logic or programmable logic controllers. I wrote all the control software in C and it was during this project I first had the idea of creating a high-level scripting language that would allow control software to be written in something resembling English instead of arcane computer code.

You can see a simulation of part of the control system at https://easycoder.software/factory/. This is a recent programming exercise designed to demonstrate how a browser can be used to visualise and control a physical system.

Radio stations, 1995-2003

My client supplied studio control equipment to radio stations around the world. I was involved at various times with installations at BBC Scotland, Capital Radio (Birmingham), Slovakian Radio in Bratislava and Henan Radio in Zhengzhou, central China. In all these cases, a network of small microcontrollers ran autonomously without requiring a connection to a central computer, to ensure continuity in the event of network outages. To make it easier to develop and modify the software I build a custom programming language that was embedded in each microcontroller and only required an English-like script to describe its functions.

A typical studio setup

A mimic screen, used to display the system status

Demonstrating at IBC, Amsterdam, 2001

The present

With the passage of time and rapid changes in computer technology none of the above projects would now be approached in the way they were then. Rather than build special-purpose computer-based controllers it now make much more sense to select from many commercially available. For smaller projects (if not for large) the Arduino is an excellent choice as it is well supported and I/O modules of all kinds are available. There is usually no need to have the controller provide the user interface as well; a smartphone or a computer browser are both able to handle most needs comfortably while being connected to the controller itself using wireless ethernet. This delegates the bulk of the development work to software, not hardware, but an understanding of both is essential as many of the mistakes of the past are still too easily made today.