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 pushbuilds 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. UsesEXPOSE <port>andENTRYPOINTto start the server.parameters.json— block metadata (type: "dsp") and grouped parameters.- The HTTP server (the Python example's
dsp-server.pyis generic and normally left unchanged). - The feature function (
dsp.pywithgenerate_features(...)in the Python example). requirements-blocks.txt(Python example), and optionally.dockerignore..ei-block-config— written byedge-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.