ei-build-custom-processing-blocks

Installation
SKILL.md

Help the user author an Edge Impulse custom processing block. A processing block (DSP block) turns a window of raw sensor data into features for the learning block. Unlike every other custom block type, it is a long-running HTTP server, not a run-once script: Studio sends it raw samples over HTTP and reads features, labels, and graphs back from the response. Any language works.

Hosting rules:

  • Enterprise: edge-impulse-blocks push builds and hosts the block on Edge Impulse infrastructure and makes it available to every project in the organization (organization → Custom blocks → DSP).
  • Every plan: run the server yourself, expose it on a public HTTPS URL (ngrok during development, or any server you host), and add it to an impulse by URL. This is the only option on non-Enterprise plans.

Before writing a block, check whether a built-in processing block (Raw data, Flatten, Spectral analysis, Spectrogram, MFE, MFCC, Image) with different parameters already fits. Their sources in edgeimpulse/processing-blocks are the best starting point for a variation.

Required files

  • Dockerfile — builds the server image. Uses EXPOSE <port> and ENTRYPOINT to start the server.
  • parameters.json — block metadata (type: "dsp") and grouped parameters.
  • The HTTP server (the Python example's dsp-server.py is generic and normally left unchanged).
  • The feature function (dsp.py with generate_features(...) in the Python example).
  • requirements-blocks.txt (Python example), and optionally .dockerignore.
  • .ei-block-config — written by edge-impulse-blocks init; it binds the directory to one organization and block ID. Gitignore it in public or shared repos; commit it in a private team repo so collaborators push to the same block.

HTTP contract

Installs
4
GitHub Stars
7
First Seen
4 days ago