Python possible in the firmware?



I’m really excited about Edge Impulse and the possibility of using it on
microcontrollers. I already have a “cat doorbell” app.

But it uses a whole Raspberry Pi 4b. I would like to shrink it down to
be used on a microcontroller (like the Pico W, for example). Edge Impluse
seems perfect for what I want.

But I’m confused about a couple things.

  1. Once the device is trained and configured, does it still need to be virually
    connected to Edge Impulse? In other words, is there a requirement to have a
    constant connection back to my ID on EI?

  2. I notice that EI uses its own firmware for the microcontrollers. I have the
    need to run other logic on the same box using Python. For example, I may need
    to detect movement and hear a cat meowing and then send a POST to a REST API.
    Is that possible? Or, does the firmware preclude the user from doing anything
    other than just sound classification (for example)?

Thank you,

A1. The EdgeImpulse model called an Impulse runs on the microcontroller (MCU). No connection to the cloud is required. The Studio is only for developing the Impulse.

A2. If you pick a currently supported board you can download a C++ or Arduino library that you can include into your custom logic code.

  • I suggest you build a simple Impulse and deploy code for one of the Arduino boards. Then in the deployed library folder you will find INO example files that will show how to run an inference and then can see where to add in code based on your use-case.
  • Also, on the Studio Deployment page, see the WebAssm:
1 Like