agentleFS
wedsamuel1230wedsamuel1230/embedded-engineering-skills/skills/i2c-bringup-diagnostician/SKILL.md

i2c-bringup-diagnostician

Skill28 starsChanged 32 days agoMITView on GitHub

Use when users need to diagnose I2C bring-up failures on Arduino or ESP32-class boards, including no devices found, wrong readings, address conflicts, scanner-detects-but-library-fails cases, pull-up problems, or board-family-specific bus quirks.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    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
  1. Distinctive:

    Use this skill when the sensor or device should be on the bus, but the I2C path is still not trustworthy.

    line 9
  2. Distinctive:

    Use this skill when the request includes:

    line 21
  3. Very specific:

    no scanner detection -> open references/bringup-flow.md

    line 33
  4. Distinctive:

    Only after the bus is electrically plausible, check address, device mode, and library expectations.

    line 44
  5. Very specific:

    If the board is Uno R4 family and the failure involves board-specific I2C or support questions, also open …

    line 46
  6. Distinctive:

    Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, …

    line 76

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

I2C Bringup Diagnostician

Use this skill when the sensor or device should be on the bus, but the I2C path is still not trustworthy.

Resources

  • references/bringup-flow.md - ordered I2C fault-isolation workflow
  • references/scanner-vs-library.md - what to do when the scanner finds the device but the library still fails
  • references/esp32-and-board-quirks.md - ESP32-family and board-specific caveats
  • ../../docs/board-support/uno-r4-family.md - Uno R4 family board notes when relevant

When to Use

Use this skill when the request includes:

  • "no I2C devices found"
  • scanner finds the address but the library cannot initialize the device
  • two I2C devices conflict or one disappears
  • ESP32 pin, bus, or second-channel confusion
  • pull-up, wire-length, or voltage-level questions
  • obviously wrong sensor values after basic detection succeeds

Workflow

  1. Establish the basic failure shape:
    • no scanner detection -> open references/bringup-flow.md
    • scanner detects but library fails -> open references/scanner-vs-library.md
    • ESP32-family multi-bus or pin issue -> open references/esp32-and-board-quirks.md
  2. Confirm the electrical basics before library swapping:
    • power
    • common ground
    • SDA and SCL mapping
    • pull-ups
    • logic level compatibility
  3. Only after the bus is electrically plausible, check address, device mode, and library expectations.
  4. If the board is Uno R4 family and the failure involves board-specific I2C or support questions, also open ../../docs/board-support/uno-r4-family.md.

Core Rules

  • Scanner success does not prove the library is using the device correctly.
  • Library failure does not prove the sensor is dead.
  • Bus voltage, pull-ups, and pin mapping must be explicit before changing code blindly.
  • For ESP32-family boards, pin choices and multi-bus assumptions are not always portable across variants.

Verification

  • Confirm whether the scanner sees the expected address.
  • Confirm whether a minimal register or identification read works.
  • Confirm whether the failing behavior tracks a board family, bus instance, or library rather than the sensor alone.
  • Confirm whether the final fix survives repeated scans and actual sensor reads.

Integration

  • Pair with circuit-debugger for deeper hardware isolation.
  • Pair with datasheet-interpreter when the correct address, power, or timing details are not known.
  • Pair with arduino-code-generator when the user needs a minimal test sketch or a cleaned-up bus probe.

Shared Output Contract

Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, known limitations, and recovery/security notes.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.