The brief here was for a control system for cold water storage tanks in commercial buildings. These tanks hold up to a million litres of water, and require careful management of water levels, plus temperature monitoring and dump features to avoid the build-up of harmful bacteria. The system can handle multiple tanks, and offers remote monitoring and alarms via BMS interfaces or the internet. The control panel has an intuitive menu-driven user interface, plus a USB port for automated setup, firmware upgrades etc.


We used an ARM Cortex M3 micro on the main board, a powerful 32 bit processor with all the resources we needed (72 MHz core, 128kB Flash, 20kB RAM, 7 timers, 12-bit 16-channel ADC, multiple USARTs, USB2.0, etc.). The ARM Cortex range is proving an excellent choice for embedded control applications – available from a wide range of manufacturers, with a huge choice of features, plenty of development tools, a healthy support community, and great value for money – what more could you ask for! And being so popular means they will have a long production lifetime, always important.

 As ever we took great care over the PCB layout. To minimise cost we went for a 2 layer board, yet careful layout allowed extensive power and ground planes on the bottom layer, thus providing the low noise and high current capabilities of a 4 layer board. Aesthetics also matter to us – a tidy board performs better, is easier to manufacturer and exudes quality.

 Software – because reliability is crucial in this application, we developed a bespoke single-threaded operating system from scratch. A conventional multi-tasking OS may be more flexible, but is more prone to bugs and timing problems. We also developed various PC-based tools for system programming and configuration, and a web interface for remote monitoring, control and configuration. Care was taken to ensure the various user interfaces are clear and intuitive, thus minimising user training and mistakes.

 The system is modular, from both a hardware and a software point-of-view, allowing the client to expand and develop the system easily, as new requirements arise. We used various free-topology data buses between modules, to maximise flexibility and minimise wiring costs. Optional internet connectivity is provided by a bespoke plug-in module running embedded linux, with an ethernet port plus a USB port for wireless adapters such as WiFi, GPRS, 3G, 4G etc.


We used immersed pressure and temperature sensors for water monitoring, with an embedded micro-controller providing local signal processing for optimal accuracy and noise immunity. This approach also allows automatic calibration, fault and error detection, and fail-safe behaviour, essential for a high-reliability application such as this.

 The diminutive (15mm wide) PCB sits inside a robust stainless-steel pod that is dropped into the tank from above, thus avoiding any drilling of the tank below the water line. The sensors connect to the main panel via a bespoke low-cost 2-wire power and data bus, thus minimising wiring complexity and cost. Multiple sensors can be daisy-chained using a simple 2-core cable.

 The system has been through extensive testing, approvals and field-trials, and has proven to be highly effective and reliable – another happy customer!

 Ben Mack, January 2013