IoT use case image with Raspberry Pi

Brownfield Retrofitting: A Hands-on Example with a Vacuum Pump Prototype

At Record Evolution, we want to enable industrial companies to access and analyze data from any machine or device. We want manufacturers to continue to make use of their legacy equipment. But even more so, we want industrial enterprises to be able to make any device ready for the Internet of Things, including cross-generation machinery and IoT devices by different vendors.

This is why we have built an IoT development platform that works with any machine. Retrofitting becomes easy and accessible. Working with heterogeneous systems or in brownfield environments is no longer the quandary it used to be. Thanks to container technologies, we are able to offer an IoT development platform that is truly hardware-agnostic. 

To illustrate how it all hangs together, we have prepared this short article. In what follows, you will see how we connect a self-made vacuum pump prototype (our brownfield device) to the Record Evolution platform, install a data collection app from the IoT app store on the device, and set up an analytical environment (data pods) where you can load, analyze, and visualize your incoming data.

the final result: the vacuum pump connected to the platform
Image 1. The vacuum pump connected to the Record Evolution platform

Specifically, this involves the following milestones:

In this sense, the vacuum pump prototype is used to offer a concrete answer to concrete conditions in a concrete industrial environment. And it builds a bridge between the platform’s capabilities and concrete industry needs.  

Sketching Out the Prototype and Defining Its Basic Capabilities

In this section, we introduce you to the initial sketches used to build the prototype with a vacuum pump. The vacuum pump model sketch includes sensors, a Raspberry Pi, and the vacuum bell jar from which to extract the air. This prototype had to be small and portable, with various sensors whose readings are recorded and transferred to the Record Evolution platform.

The prototype was built from scratch using this basic design:

initial design sketch
Image 2. Initial design

The prototype includes a Raspberry Pi 4 that we use to connect the vacuum pump to the Record Evolution platform and read out data. Also, the prototype is powered by a 12V battery and is equipped with various sensors. The attached sensors measure vacuum, motor speed, current, voltage, ambient temperature, and motor temperature.

Getting Started: Building the Prototype

So let’s get a glimpse of how the prototype was built. Below are some snapshots of the process:

prototype wiring
Image 3. The prototype from below
connecting the pump to the Raspberry Pi
Image 4. Connecting the vacuum pump to the Raspberry Pi

Sensors, Circuit Board & Raspberry Pi

The sensors for the vacuum, the motor temperature, and the ambient temperature are mounted on the upper side of the prototype. 

The control for the solenoid valve, the error lamp as well as the sensor technology for measuring the current, the voltage, and the evaluation electronics for the speed are located on a circuit board on the bottom side of the prototype. 

the vacuum pump with sensors
Image 5. The vacuum pump with sensors communicating with the Raspberry Pi

The communication with the Raspberry Pi is done via the I2C bus using GPIO pins. Our Raspberry Pi sends the data to the Record Evolution platform where it is stored in a data pod’s raw table.

Determining the Voltage Source

A non-hazardous voltage source was needed: an AGM motorcycle battery, transportable, combined with a small constant voltage power supply. Again, everything had to be designed and built adequately to prevent operating errors.

the battery box
Image 6. The battery box alone was a separate project and required a lot of attention

The Overall Setup

Below the vacuum bell jar is a plastic block mounted on small pads. The block reduces the volume of air inside the bell jar. As a result, higher vacuums are generated more quickly. At the same time, the surface of the plastic block also serves as a presentation table. Small pads on the bottom of the plastic block provide the necessary distance to the base plate so that the air inside the bell can be extracted.

finished vacuum pump with bell jar
Image 7. The finished vacuum pump with a bell jar and inflatable rubber toys

A manual pressure gauge allows the operator to check the measured vacuum.

A drain valve on the underside of the base plate can be used to simulate a failure in the pump. Thanks to the installed IoT app, in the event of a malfunction, the app turns on the error light and stops the pump. However, the app remains on and the pump can be restarted after clearing the error.

The pump itself is controlled by a motor controller. The initial relay solution was discarded because a relay makes a noise every time it is switched. 

And then several calculations had to be made. What is the starting current of the pump at different pressures? What amount of energy is taken from the battery per load case? And what cable cross-sections are required? How do we protect the Raspberry Pi from low voltage? 

Connecting the Device to the Platform and Building the IoT App

Next, we need to create the foundation for accessing and controlling the device via the Record Evolution platform using a simple internet connection. 

To trace the process, sign up or log into the platform. 

Forming a Device Swarm and Establishing a Connection

From your homepage on the platform, go to Devices to locate the device swarm containing the vacuum pump. Use the search option on the left to get to the device swarm called Prototyp:

device swarms
Image 8. User homepage with device swarms

Locate the vacuum pump device in the device swarm Prototyp at

To build your own swarm, go to Devices and click Add Device Swarm.

A swarm is your basic, compact, fully autonomous IoT device management environment on the Record Evolution platform. A swarm consists of a set of IoT devices, all device and device group settings, as well as the privilege structure specific to the assets of that swarm.

To add a new device, enter your newly created swarm and select New Device from the menu. The first step is to create a virtual device on the platform:

retrofitting: adding a virtual device to the platform
Image 9. Adding a virtual device to the swarm

To equip your physical device with the necessary system and configuration for the platform, you need to prepare and set up an individual SD card for that device.

To do that, download the Record Evolution Reflasher. This is our desktop app that enables you to create bootable configured flash drives and is available for Windows, Linux, and macOS. If adding a device for the first time, you will trigger an automatic download of the Reflasher.

This is all you need to get started:

  1. An internet connection;
  2. An SD card;
  3. A device such as Raspberry Pi (or any Docker-capable device);
  4. A Windows, Linux, or a Mac computer.

Now install the app on your computer and simply follow the instructions to go through the flashing process. Click on Flash / Flash All to continue. The app allows you to flash and configure multiple devices at once:

first steps towards retrofitting in brownfield scenarios: making devices ready for the internet of things
Image 10. Flashing multiple devices at once

Once done, remove the SD card from the card reader. Insert the SD card into your device (in this case, the Raspberry Pi 4) and power the device:

SD card with device
Image 11. Insert the SD card into the device

Once the device has booted successfully from the flashed SD card, it will try to connect to the platform. Connecting may take several minutes after the very first boot of your device. Go to your swarm and see if the device icon has turned green. If yes, that means your device is online.

On the platform, you can connect to any Docker-capable device running on Linux from any location using a simple secure internet connection. For details on how to connect an IoT device, see here

To learn more about the Record Evolution Reflasher, the flashing app that allows you to connect to any Docker-capable device, see here

Building the IoT App

Next, we need an IoT app to tell the pump what to do, observe the pump state, send out warning emails, read out and send the data from the sensors to the platform. To get there, you can actually build your own app in the cloud IDE. Go to App Studio and click on Create an IoT app to start coding.

Within the platform ecosystem, an app is an IoT application that is under development, together with its entire update history. You create apps in the integrated development environment using any programming language.

Also, you can get a publicly available IoT app and use it as an app template to build on, tailor to your needs, and improve. The platform’s App Studio already contains the app Prototyp-Vakuumpumpe:

app studio overview panel
Image 12. IoT app studio with editable apps

Click on Develop to access the cloud IDE and view the code:

cloud IDE
Image 13. The vacuum pump app accessed from the cloud IDE

Alternatively, you can simply go to the IoT app store and use the ready-made app Prototyp-Vakuumpumpe. The app to be installed on the device is already created in the open-access Record Evolution IoT app store here.

This app serves two purposes. It controls the pump setup and observes emergency limits, plus it reads and sends data from the sensors.

Depending on your access privileges, you will be able to either co-develop in the cloud IDE or simply use the ready-made app template without making any changes.

So here is the app that reads out the values of the different sensors attached to the vacuum pump and publishes them to the data pod.

info card of the IoT app
Image 14. Ready-made vacuum pump app ready to be installed on the device

Once published on the IoT app store, the app is ready for installation on any device connected to the platform. You get a small readme file, instructions on how to build the source code and to publish the app:

Click on Install and select the IoT device at the pump:

app installation panel
Image 15. Install IoT app on the device

You will be quickly redirected back to your device swarm from where you can manage the settings.

How it All Works Together

Let’s log in and go to the device swarm to check on the vacuum pump. The device icon is on the left-hand side of the screen. If it is glowing green, the device is online.

To install IoT apps on the device, let’s go to the Record Evolution App Store:

IoT app store
Image 16. App store on the Record Evolution platform

Locate the apps you need and click on Install. We install the vacuum pump app and the GPS reader app.

Use the Recently Visited button to quickly get back to the device and see that the apps have been installed on the device.

Now let’s try to turn the device on and off. If there is a GPS sensor on your device, you always know where your machine is. 

Also, the collected data can also be sent to the platform where it will be stored in a data pod’s raw table. To do this, go to the data pods. 

data pods on the platform
Image 17. Data pods

Locate the data pod that is already collecting the IoT data coming from the vacuum pump. Inside the platform, the incoming data is further processed to show you live characteristic curves in the browser.

Measuring e.g. vibration signals with 40000 Hertz accumulates very large amounts of raw data very quickly (i.e. 40000 rows per second).

You and your team can watch from anywhere at the same time. 

All data is stored in an accessible manner for further in-depth analysis using complex signal processing or even sophisticated machine learning. On the platform, different teams can process billions of rows. Also, the data pods come with convenient built-in tools that make it possible to make use of all classic data warehousing functions right in the platform’s data studio. At the same time, there are various services on top of the classic data warehouse, such as built-in data science workbooks with Python, SQL and Markdown cards.

We go into the data pod Vakuumpumpe and start it. Go to the Raw Data panel. Looking at the raw table, you see if measured data is coming in from the vacuum pump:

raw tables snapshot
Image 18. Loading incoming raw data in raw tables

If the device is too loud, for example, watch what the curves show and intervene if necessary. When the pump motor gets too hot, you can increase the pause times or reduce the target vacuum, and at the same time send an email to the workshop so that they can order spare parts, among other things.

In the Analysis panel of the data pod, you can create infographics using the data from the raw tables. These infographics are mini web applications that can be easily designed to show exactly what you want to observe and can be shared among your team as a convenient directly accessible dashboard:

pump analysis
Image 19. Analysis of the pump operation over a given period. Visualized data on ambient temperature and motor temperature, vacuum and voltage
pump analysis 2
Image 20. Analysis of the pump operation over a given period. Visualized data on current, vacuum, ambient temperature, and motor temperature
pump analysis 3
Image 21. Analysis of the pump operation over a given period. Visualized data on voltage

If a limit is exceeded, the pump stops and the IoT app sends you an email about the error. This way, you can see the reason for the failure, perform the right actions, and restart the pump if necessary.

Conclusion and Outlook

So this is how it all comes together. We built a prototype from scratch, equipped it with sensors measuring different values, and connected it to a Raspberry Pi. From here, it became easy to access the prototype via the Record Evolution platform to read out data and add it to a device swarm from where we could monitor its status. 

We installed a data collector app and a GPS reader app from the IoT app store to track the device’s location and to tell the device what data to send to the platform’s data science studio. Once the IoT data was being collected, we could cleanse and transform that data and store it in the form of long-term data histories that lend themselves to further analyses. And finally, we got to visualize some of the incoming measurement data in instant infographics which allowed us to detect some correlations.

And this is only the beginning. Taking it from here, we can go on to develop many different use cases. For example, now it is easy to expand your fleet and scale to multiple vacuum pumps that work simultaneously. All you have to do is flash more Raspberry Pis and add them to your swarm or device group. Stay tuned!

With the Record Evolution platform, you can easily connect just about any device, manage a large number of devices in device swarms, and flexibly scale to suit your needs. Get in touch for a demo.

Your contact person:

Bild von Marko Petzold

Marko Petzold
Record Evolution GmbH
✉️ Contact