feature article
Subscribe Now

Bosch HW + Cartesiam SW = Rapid Prototyping of AI on the Edge

I just heard some mega-exciting news from the folks at Cartesiam.ai, whose claim to fame is that they enable embedded developers to bring artificial intelligence (AI) and machine learning (ML) to edge devices easily and quickly.

How easily? How quickly? The answer to both of these questions is “Very!” So, what’s the exciting news? Well, I’ll tell you in a minute, but first…

It’s probably not escaped your notice that there’s a tremendous amount of discussion about the Internet of Things (IoT) these days. When we talk about the IoT, a lot of people think of things close to home, like smart thermostats and smart speakers that are in the home. In reality, of course, this is just the tip of the IoT iceberg because connected devices are proliferating in automobiles, cities, factories… actually, it might be easier to write a list of places where the IoT doesn’t appear, but I can’t think of any such situations off the top of my head.

How many IoT devices are there? I no longer have a clue. If you perform a Google search for “How many IoT devices are there in the world?” the responses vary from 7 to 50 billion, so let’s just say “a lot” and move on with our lives. Perhaps a more relevant question would be, “How many IoT devices do you think there are going to be in the world?” I can comfortably answer this one by saying “a lot more,” but I’ll be happy to refine this response if you are in possession of more accurate data.

Let’s focus on the Industrial IoT (IIoT), which refers to interconnected sensors, instruments, and other devices networked together with computers and industrial applications, including manufacturing and energy management. This connectivity allows for data collection, exchange, and analysis, potentially facilitating improvements in productivity and efficiency as well as providing other economic benefits.

If you take all of the factories and other industrial facilities around the world, it’s estimated they contain about 160 billion machines that, if they were asked and if they were sentient, would say that they just want to do a better job (if you doubt this number, you may feel free to go out there and count them; if you doubt their desire, you may feel free to ask them).

But how can these machines do a better job? The answer is to equip them with both IoT connectivity and AI/ML capabilities. The combination of AI/ML and the IoT — commonly referred to as the AIoT — is mutually beneficial. According to the IoT Agenda, AI adds value to the IoT through ML capabilities, while the IoT adds value to AI through connectivity, signaling, and data exchange. The result is to achieve more efficient operations, improve human-machine interactions, and enhance data management and analytics.

Let us further focus our attention on machine maintenance. As I noted in an earlier column — I Just Created my First AI/ML App! — there are various maintenance strategies available to the people in charge of industrial concerns, including reactive (run it until it fails and then fix it), pre-emptive (fix it before it even thinks about failing), and predictive (use AI/ML to monitor the machine’s health, looking for anomalies or trends, and guiding the maintenance team to address potential problems before they become real problems).

I think we are all agreed that adding AI/ML to embedded systems can be jolly efficacious, the only problem being that so few designers of embedded systems have an AI/ML clue. According to the International Data Corporation (IDC), there are currently around 22 million software developers in the world. Only about 1.2 million of these little scamps focus on embedded systems, and only about 0.2% of those little rascals have even minimal AI/ML skills.

Embedded developers and data scientists live in different worlds (Image source: Cartesiam)

And so we return to the chaps and chapesses at Cartesiam, who are the proud creators of NanoEdge AI Studio. Just to refresh your memory, this is a program that runs on a PC. When you launch NanoEdge AI Studio, you can either open an existing project or create a new one. If you are creating a new project, you will be invited to answer a few simple questions, including the microcontroller you will be using (current options are ARM Cortex M0, M0+, M3, M4, and M7), the number and types of sensors you wish to use (not specific part numbers, just general types like “3-axis accelerometer”), and the maximum amount of RAM you wish to devote to your AI/ML solution.

Preparing to create a new project in NanoEdge AI Studio (Image source: Cartesiam)

Next, you capture some sample data from the device in question, where this data includes both regular (good) and abnormal (bad) signals. Now, this is one of the clever parts because — using the information you’ve provided — NanoEdge AI Studio will generate the best AI/ML solution out of ~500 million possible combinations. The resulting solution, which is provided as a C library that is easily embeddable into your main microcontroller program, is subsequently compiled and downloaded into your embedded system. 

Quite apart from anything else, the resulting libraries are almost unbelievably small. In the case of my own AL/ML app that I mentioned earlier, the library was only 2 KB, which boggled what little I have left of what I laughingly call my mind.

At this stage, what you have is a generic library. The next step is to train this library on a specific machine. One way to wrap your brain around this is as follows: suppose you purchase two essentially identical pumps for use in a factory. One pump might be mounted on a concrete floor in a warm, dry part of the factory, connected to whatever it’s pumping via short lengths of PVC pipe. The other might be mounted on a suspended floor in a cold, damp location, connected to whatever it’s pumping via long runs of metal tubing. In such a case, the two machines — although physically similar — may have very different operational characteristics in terms of noise and vibration, for example, which explains why each is best trained independently.

Of course, the really cool thing to note here is that you don’t have to create humongous training data sets yourself, because the library generated by NanoEdge AI Studio trains itself by monitoring the machine with which it is associated in action.

The folks at Cartesiam are obviously doing something right. They first launched NanoEdge AI Studio on 25 February 2020. At that time, they had just one beta customer. Now, just nine months later as I pen these words, they have an enviable and ever-expanding portfolio of customers, including some very well-known names indeed.

It’s good to see an expanding portfolio of customers (Image source: Cartesiam)

I was particularly interested to see Bosch up there, because I recently used a 9DOF (nine degrees of freedom) Fusion breakout board (BOB) from Adafruit to control my 12×12 ping pong ball array (see this video). This BOB features a Bosch BNO055 MEMS device containing a 3-axis accelerometer, a 3-axis gyroscope, and a 3-axis magnetometer. Even better for a bear of little brain like that of yours truly, the BNO055 also contains a 32-bit Arm Cortex-M0+ that performs sensor fusion and presents results to you in a form you can use without your brains leaking out of your ears. But we digress…

All of this brings us back to the point that, two days ago at the time of this writing, the folks at Cartesiam announced the latest release of NanoEdge AI Studio. In addition to being able to detect anomalies and spot trends, this new version allows you to create a classification library. In fact, you can now use multiple libraries in your solution.

NanoEdge AI Studio V2 allows your AI system to transition from “I’ve detected an anomaly” to “I’ve detected an anomaly and I know what is causing it” (Image source: Cartesiam)

What this means in the real world is that, instead of telling you things like “this dishwasher isn’t draining properly” or “this pump is about to stop working,” your AI system can now recognize and classify the problem and present you with actionable information like “this dishwasher isn’t draining properly because its main drive belt is showing signs of wear” or “this pump is about to stop working due to a failure of a ball bearing in the drive shaft assembly.

But wait, there’s more, because Cartesiam has also announced a new partnership with Bosch Connected Devices and Solutions, which plans to deploy Cartesiam’s platform in a wide range of internal and external projects. For example, the two companies are currently working closely on a NanoEdge AI Studio integration with the Bosch XDK, which might be described as “A programmable sensor device and prototyping platform for almost any IoT use case you can imagine.”

Meet the Bosch XDK (Image source: Cartesiam)

When I first saw the above image, I found it hard to determine a sense of scale. “Just how big is this little rascal?” I wondered. So, I asked one of the guys at Cartesiam to send me a picture of him holding one, and he responded with the image shown below.

Another view of a Bosch XDK (Image source: François de Rochebouët)

Wow! That’s a lot smaller than I first suspected. This is tiny enough to be useful in a tremendous variety of deployments, and it certainly has more than enough sensors to keep me busy for a while. I can see why Bosch and Cartesiam are combining forces on this — the combination of the XDK with NanoEdge AI Studio will open the floodgates to embedded systems developers, allowing them to quickly and easily prototype their own AI/ML-equipped edge devices for a wide variety of consumer, commercial, and industrial deployments. What say you? As always, I welcome your comments, questions, and suggestions.

 

featured blogs
Jan 27, 2021
Why is my poor old noggin filled with thoughts of roaming with my friends through a post-apocalyptic dystopian metropolis ? Well, I'€™m glad you asked......
Jan 27, 2021
Here at the Cadence Academic Network, it is always important to highlight the great work being done by professors, and academia as a whole. Now that AWR software solutions is a part of Cadence, we... [[ Click on the title to access the full blog on the Cadence Community site...
Jan 27, 2021
Super-size. Add-on. Extra. More. We see terms like these a lot, whether at the drive through or shopping online. There'€™s always something else you can add to your order or put in your cart '€“ and usually at an additional cost. Fairly certain at this point most of us kn...
Jan 27, 2021
Cloud computing security starts at hyperscale data centers; learn how embedded IDE modules protect data across interfaces including PCIe 5.0 and CXL 2.0. The post Keeping Hyperscale Data Centers Safe from Security Threats appeared first on From Silicon To Software....

featured paper

Speeding Up Large-Scale EM Simulation of ICs Without Compromising Accuracy

Sponsored by Cadence Design Systems

With growing on-chip RF content, electromagnetic (EM) simulation of passives is critical — from selecting the right RF design candidates to detecting parasitic coupling. Being on-chip, accurate EM analysis requires a tie in to the process technology with process design kits (PDKs) and foundry-certified EM simulation technology. Anything short of that could compromise the RFIC’s functionality. Learn how to get the highest-in-class accuracy and 10X faster analysis.

Click here to download the whitepaper

Featured Chalk Talk

Bulk Acoustic Wave (BAW) Technology

Sponsored by Mouser Electronics and Texas Instruments

In industrial applications, crystals are not ideal for generating clock signal timing. They take up valuable PCB real-estate, and aren’t stable in harsh thermal and vibration environments. In this episode of Chalk Talk, Amelia Dalton chats with Nick Smith from Texas Instruments about bulk acoustic wave (BAW) technology that offers an attractive alternative to crystals.

More information about Texas Instruments Bulk Acoustic Wave (BAW) Technology