Edge Impulse Docs

Edge Impulse Documentation

Welcome to the Edge Impulse documentation. You'll find comprehensive guides and documentation to help you start working with Edge Impulse as quickly as possible, as well as support if you get stuck. Let's jump right in!

Porting guide

If you have a development board that is not officially supported by Edge Impulse, no problem. This guide contains information on connecting any device to Edge Impulse.

Collecting data

Edge Impulse can handle data from any device, whether it's coming from a new development board or from a device that has been in production for years. Just post your data to the ingestion service and it will automatically show up in the studio. You can either do this directly from your device (if it has an IP connection) or through an intermediate protocol like a phone application. To deal with data that is already collected we have the Uploader and Parquet converter tools, which can slice, label and import data.

Running impulses

The Inferencing SDK enables you to run impulses locally and on-device. The SDK contains efficient native implementations of all processing and learning blocks. The SDK was written in portable C++11 with as little dependencies as possible, and the best way of testing out whether it works on your platform is through the Deployment page in the studio. From here you can export a library with all blocks, configuration and the SDK. See the Running your impulse locally tutorials.

If you need to make changes to the SDK to get it to run on your device we welcome contributions. We also welcome contributions which add optimized code paths for your specific hardware. The SDK documentation has more information on where to add these.

Controlling the device from the studio

Devices can be controlled from the studio through the Remote management interface. This is a service where devices connect to, either over a web socket or through a serial connection (with the help of the Serial daemon). The studio lists these devices, and can instruct them to start sampling straight from the UI. To add full support for your development board you'll need to implement the serial protocol and (if your device has an IP connection) the web socket protocol. Alternatively you can also implement the web socket protocol through an intermediate layer (like a phone app).

Full integration in Edge Impulse, and help porting?

Do you want help porting? Or want to get the best integration in Edge Impulse, including full studio support, and want to let users build binaries directly from the UI? Let us know at [email protected] and we'll let you know the possibilities.

Updated about a month ago

Porting guide


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.