Using Raspberry Pi in Production Process Controllers

July 5, 2022
Sfera Labs' Iono Pi Max programmable logic controller is built around a Raspberry Pi Compute Module.

Check out more videos/articles in TechXchange: Raspberry Pi and TechXchange Talks

Platforms like Raspberry Pi are great for prototyping, but what do you do when you want to take the product to production? Coming up with a custom design is one approach. However, a more flexible approach is to use the platform on which the prototype is based upon. 

Sfera Labs' Iono Pi Max programmable logic controller is built around a Raspberry Pi Compute Module.

I talked with Sfera Labs' Ulderico Arcidiaco, Chief Executive Officer, about how they built a product around the Raspberry Pi that allows customers to add their software on a standard platform while using a rugged implementation suitable for industrial environments. That's something the stock Raspberry Pi doesn't do as well. 

Wong: Taking a product reduction can be a challenge, especially if you're designing everything from scratch. So working with a platform makes a lot of sense. The Raspberry Pi being one of those that's extremely popular. Uldi, could you tell us a little bit about how you're taking advantage of the Raspberry Pi and why you chose that as a platform?

Arcidiaco: Sure. The Raspberry Pi is indeed a very popular platform. Working with a product that embeds a popular platform is very helpful to basically everybody. Most of our products are actually built around a platform that is popular. It's actually a Raspberry Pi in one form or another.

We basically surrounded a Raspberry Pi with other stuff such as interfaces, serial boards using standard protocols, analog and digital IO, and other features. Most of these features are accessible by Raspberry Pi, so a developer is not confronted to like a new full stack of things.

You have to learn the new interfaces, but you don't have to learn everything. You don't have to learn a new development environment. You're working already in a developer environment that is familiar to you. So you're already up to speed there and you just need to learn the extra features that the product implements. That's really the difference between a fully custom product and something based, for example, on the Raspberry Pi.

This is similar to what you had when we started using Linux as an embedded operating system. That was a huge step compared to the past. The Raspberry Pi, in a sense, moves a little bit farther because it gives you all the standard features, the standard environment for a typical Linux development environment. It also puts a lot of other things into a standard shape.

So you find an environment that is familiar in general. That's really good for developers. There is a benefit for product developers in using a standard platform. We also benefit from that.

It's definitely easier for us to develop products based on a platform that already has the CPU and Linux operating system rather than starting from scratch. It's very familiar for everybody including ourselves. This makes our own product development easier.

Wong: What do you provide to your customers? Is this something where you're just giving them the interfaces and they're going to have to write drivers, you provide the drivers, or do you provide additional middleware as well?

Arcidiaco: Yes. We provide documentation. That is very important. For most of our products, we provide the full schematics. If you want to develop something, you know exactly how it works. Block diagrams may not be enough. In many cases, engineers really need the schematics.

On top of that, we have driver examples and sometimes a full application. Basically, when we sell a product, the product has some software that allows you to take advantage of all the product’s features.

Our firmware and software is always fully open. It's available on GitHub for everybody to use and develop something on top of that. Our goal is not to sell software on top of the artwork, but to provide the firmware and the software as a starting point to help developers so they can build higher-level applications on top of a lot of the hardware.

Wong: Well, way back when we used to have just one Raspberry Pi, which sort of turned into the model, but what you wind up using is completely different. Could you tell us a little bit about the different kinds of platforms that are out there and which ones you're trying to deliver?

Arcidiaco: Well, you know, the Raspberry Pi started very humbly 10 years ago in 2012 with the original Raspberry Pi Model B. It evolved at a pretty steady pace every couple of years. They introduced the Raspberry Pi Model 3 in 2016 and the Raspberry Pi Model 3B+ in 2018, and finally the Raspberry Pi 4 Model B in the second half of 2019.

The model B is the form factor that pretty much everybody uses. Basically, the Raspberry Pi has an Ethernet port, the four USB ports, and on the side, the HDMI power-supply audio connectors. This kind of stuff was originally intended for students and people could just connect a couple of things around a keyboard, a mouse, power supply, and a network connection and they then had a running computer. They could see the board and how it was it was designed. It originally evolved into products that were ready for industrial applications.

They started gradually supporting the development of industrial applications on their platforms, even on the Model B, which was originally intended for something different. This support came in terms of a better documentation, better testing of the side, and all these kind of things that really help when someone else is building something on top of a platform.

Then they came out with the Compute Module. That was about six years ago, with Compute Modules like the Compute Model 3+ and the Compute Module 4 coming out in 2019 and 2020, respectively, I think. The Compute Module is a different thing. Although it basically has everything in terms of what we had before like the core architecture, the core interface architecture is the Raspberry one.

If you compare the Compute Module with the Model B, you can think of a Model B where you strip off all of the connectors, all the interfaces, until you're left with a PCB with all the key components and nothing else. IT gives developers and designers much more flexibility in creating a product where the physical interfaces are arranged in a different way from the original Raspberry Pi.

Maybe you don't need all these interfaces. So you can get rid of those or if you have a different form factor that would not fit well with the Raspberry Pi Model B. We have a module we call Strata Pi CM where CM stands for compute module. It is a DIN rail device that is just two units wide.

The other product we have is six units wide so it's pretty large. The Raspberry Pi Model B board would never be able to fit into the Strata Pi CM. Never.

These are in an industrial standard format that is extremely popular. If you want to have a Raspberry Pi in this format you cannot do that with the Model B. You need to use the Compute Module. You are forced to do that because it's the only one that's small enough that you can cram into such a small volume. It's a standard mechanical form factor that is defined and recognized internationally.

So that's where the Compute Module is really useful. It opens up the options you have in terms of interfacing compared to the Model B, but everything else stays pretty much the same.

Of course, this creates a lot more options compared to the original Raspberry Pi. The Compute Module actually has two different form factors. The original Compute Module is an SODIMM 100. The Computer Module 4 has a completely different form factor that is more squared.

So you have flexibility. You can choose whether you need to use one platform or the other. That's very important to developers. Normally, developers have a fair range of options in terms of mechanical factors because there is not one single mechanical factor that fits for all applications.

Wong: You talked a little bit about your industrial products and I'm wondering how is the design of something for an industrial application going to be significantly different than, say, those people who are using the standard Raspberry Pi for development.

Arcidiaco: It's pretty different. Maybe not so much in terms of the electronics, like the single components that he used to do to come up with your design, but everything else, yes. Designing an industrial product requires a lot of things that normally when you are a hobbyist, you don't really care about. First and foremost is compliance requirements, regulatory compliance, which are mandatory basically everywhere. So if you design a product for industrial application, you have to be sure that it meets EMI requirements in terms of emissions and immunity.

This means the product needs to basically do no harm to other users of the spectrum. Every electronic device like a radio is defined as an intentional radiator. The microprocessors are non-intentional radiators but they need to meet some levels of emissions. They cannot go above certain limits, otherwise it would interfere with other services.

In order to meet these requirements, you need to design the circuit boards to minimize these issues. This is basically where most of the design work is. This means that the components you use to protect your interfaces could be huge. If you look at a board, the analog part of the board, like 50% of that, is components. Many are intended to suppress noise to protect the inputs from overvoltage situations and stuff like that.

This stuff needs to be designed from the beginning. When you design a new product, you do multiple iterations; not because the product doesn't work, but because it must meet the EMI requirements.

Wong: Well since you have to have one of these in hand, could you tell us a little bit of what is in there? Make a short walk around to give everyone an idea what kind of interfaces they would have available to them.

Arcidiaco: Sure. Basically we can take a look at the insides of the Iona Pi Max, I know it's a funny name that we use. We have basically three product lines we call Strata, Excel, and Iono. So for Iono, think of Ionosphere, Stratosphere, Exosphere. We have a few layers left in the atmosphere, so we can still come up with new product lines.

For the Iono, the IO stands for Input-Output. It's specifically tailored to do IO well so interfacing with the physical world makes it a pretty powerful module. This is why it's called the Max. It's based on the Compute Module like what we were discussing before.

There is a vertical board where you have basically have the supporting logic for the Compute Module. It has two SD cards. They are like the disk storage of a normal computer. We have a high-speed matrix that allows you to switch which card is used to boot and to run the operating system on the Raspberry Pi.

A watchdog feature can switch the boards to switch the cards, so if you have a running product in the field and one of the SD cards fails, the watchdog can detect and shuts down the Raspberry Pi. It then switches the card and restarts with the system. That's basically a failover feature which is pretty important since many of these products are intended to go out in the field where they will probably remain operational and unattended for many, many years.

This is important across the lifecycle of a product since you may want to upgrade your application remotely. You change the files and restart. Having two SD cards provides a more reliable system that can roll back if the new system does not work properly.

We have several industrial products based on the Raspberry Pi. They have several serial interfaces like RS-232, RS-485, CAN bus, including the high-speed version of CAN bus. The lower board of the Iono Pi Max has a number of digital lines, too.

On the top side, we have power relays and a high-quality industrial-grade analog section from Analog Devices. It's a very high resolution, incredibly high quality, and highly accurate device on par with a high-end lab instrumentation system.

Wong: Thank you for giving us some insight into using the Raspberry Pi in industrial applications and highlighting your platform.

Arcidiaco: Thank you very much.

Check out more videos/articles in TechXchange: Raspberry Pi and TechXchange Talks

Links

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!