sensor-signal-filtering
Skill28 starsChanged 30 days agoMITView on GitHub
Use when the main problem is a noisy or aliased analog/ADC signal and the task needs signal-chain diagnosis or filter-path selection across sampling, anti-aliasing, RC/input conditioning, ADC source impedance/settling, latency, startup, saturation, or raw/fault observability. Apply it when software filtering and hardware signal conditioning interact, even when the request only says that an analog sensor is unstable. Hand reusable Arduino snippets to arduino-code-generator, board facts to board-support, voltage/pin/rail safety to wiring-safety-check or circuit-debugger, and calibration after detection to sensor-calibration-workbench.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- wedsamuel1230/arduino-skillsword for word, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 1
- wedsamuel1230/arduino-skills★ 28100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/arduino-skills.mdcCursor rule
- cli-creatorSkill
- plugin-creatorSkill
- skill-creatorSkill
- arduino-cli-skillSkill
- arduino-code-generatorSkill
- arduino-project-builderSkill
- arduino-serial-monitorSkill
- arduino-workflow-routerSkill
- battery-selectorSkill
- board-selectionSkill
- board-supportSkill
- bom-generatorSkill
- boot-flash-recoverySkill
- bus-debuggingSkill
- circuit-debuggerSkill
- code-review-facilitatorSkill
- datasheet-interpreterSkill
- embedded-build-workflowSkill
- embedded-project-loopSkill
- enclosure-designerSkill
- error-message-explainerSkill
- fault-forensicsSkill
- field-power-and-connectivity-triagerSkill
- freertos-patternsSkill
- hardware-tddSkill
- i2c-bringup-diagnosticianSkill
- library-selectionSkill
- memory-budgetingSkill
- memory-timing-debuggingSkill
- mermaid-diagram-generatorSkill
- micropython-developmentSkill
- non-blocking-patternsSkill
- ota-deployment-guardianSkill
- pico-sdk-developmentSkill
- pin-assignmentSkill
- power-budget-calculatorSkill
- probe-debuggingSkill
- readme-generatorSkill
- realtime-control-designSkill
- sensor-calibration-workbenchSkill
- stm32-developmentSkill
- usb-debuggingSkill
- wireless-telemetrySkill
- wiring-safety-checkSkill
- zephyr-developmentSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 41
Check the analog path: sensor loading, RC cutoff, ADC acquisition/settling, reference and ground, cable/noise coupling, input protection, …
- Very specific: line 57
Use the diagnostic-only examples/adc-filter-pipeline.ino as a board-neutral fixed-rate EMA starting point.
- Very specific: line 61
Run the deterministic helper with python3 scripts/filter_benchmark.py --help or a captured vector.
- Distinctive: line 74
Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence, known …
- Distinctive: line 84
Never promote a passing host test, HTTP response, serial banner, or CI job to hardware or system proof.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Sensor Signal Filtering
Design the signal chain from sensor output to reported value. Keep raw samples, filtered values, timing, saturation, and fault flags observable; a filter must not conceal a broken sensor or unsafe voltage.
Intake gate
Record or label unknowns before selecting a component or algorithm:
- exact board, MCU, core/framework, ADC channel, resolution, reference, input range, acquisition time, and toolchain versions
- sensor part/module, output type and drive impedance, supply, cable length, expected signal bandwidth, valid range, warm-up, and failure behavior
- sample period/jitter budget, acceptable latency, step-response requirement, threshold policy, calibration model, and available measurement tools
Resolve the board with board-support before board-specific ADC advice. For
physical or multi-session work, load embedded-project-loop first and keep its
measurement gate open.
Workflow
- Capture raw samples at a stated, repeatable rate before filtering. Separate sensor dynamics from spikes, aliasing, quantization, ADC settling, rail/ ground noise, EMI, and calibration error.
- Set the sampling rate from the signal bandwidth and latency budget. Check Nyquist and alias attenuation; do not use a software filter to recover information already aliased into the band.
- Choose one filter with an explicit window/alpha/model and calculate its startup behavior, delay, memory, CPU cost, and effect on thresholds. Common starting choices are moving-average for bounded windows, median for isolated spikes, and EMA/IIR for low-cost smoothing; model-based filters require a stated model and noise assumptions.
- Check the analog path: sensor loading, RC cutoff, ADC acquisition/settling, reference and ground, cable/noise coupling, input protection, voltage limits, decoupling, and motor/radio current return paths.
- Implement raw-plus-filtered telemetry and fault/saturation indicators. Validate deterministic vectors on the host before target compilation.
- Change one causal variable per hardware iteration. Measure the ADC pin and supply/ground with the same configuration used by the firmware.
Load on demand
- Read
references/filter-selection.mdfor sampling math, algorithm tradeoffs, calibration order, and latency choices. - Read
references/analog-front-end.mdfor RC/input networks, ADC drive/settling, wiring, protection, and measurements. - Read
references/verification-and-tdd.mdfor host, simulation, build, target, and system gates. - Use the diagnostic-only
examples/adc-filter-pipeline.inoas a board-neutral fixed-rate EMA starting point; fill in board-specific ADC assumptions before converting counts to volts. Reusable generated filtering patterns remain owned byarduino-code-generator. - Run the deterministic helper with
python3 scripts/filter_benchmark.py --helpor a captured vector. It is a design/TDD aid, not a replacement for target timing or electrical measurements.
The existing arduino-code-generator filtering pattern
owns reusable code snippets. This skill owns signal-chain diagnosis, filter
selection, hardware interaction, and evidence boundaries. Use
circuit-debugger for fault isolation, wiring-safety-check for logic and
rail limits, and sensor-calibration-workbench only after detection and signal
integrity are established.
Output contract
Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence, known limitations, and recovery/security notes.
- Build proof: host tests and an exact-board compile, if run.
- Upload proof: an uploader result for a named port/image, if run.
- Hardware proof: measured ADC pin, rail/ground, waveform, or wiring result.
- System proof: observed sensor behavior under the real load/environment.
- Deployment proof: field rollout, rollback, and maintenance evidence.
Never promote a passing host test, HTTP response, serial banner, or CI job to hardware or system proof. If the board, sensor, circuit, or measurement is unknown, stop at a bounded plan and name the next measurement.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

