
I2c Bringup Diagnostician
- 38 installs
- 19 repo stars
- Updated May 26, 2026
- wedsamuel1230/arduino-skills
Helps with ai & agent building tasks.
About
i2c-bringup-diagnostician is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- i2c-bringup-diagnostician
- AI & Agent Building
- AI-coding skill
I2c Bringup Diagnostician by the numbers
- 38 all-time installs (skills.sh)
- +5 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #8,404 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wedsamuel1230/arduino-skills --skill i2c-bringup-diagnosticianAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 38 |
|---|---|
| repo stars | ★ 19 |
| Last updated | May 26, 2026 |
| Repository | wedsamuel1230/arduino-skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
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 workflowreferences/scanner-vs-library.md- what to do when the scanner finds the device but the library still failsreferences/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-debuggerfor deeper hardware isolation. - Pair with
datasheet-interpreterwhen the correct address, power, or timing
details are not known.
- Pair with
arduino-code-generatorwhen the user needs a minimal test sketch or
a cleaned-up bus probe.
I2C Bringup Flow
Use this reference when nothing on the bus is behaving yet.
Step 1: Basic Electrical Plausibility
Check:
- device power
- common ground
- correct SDA and SCL pins
- pull-ups present where needed
- logic voltage compatibility
If these are unknown, do not move to library debugging yet.
Step 2: Minimal Detection
Run a minimal scanner or equivalent probe.
Possible results:
- nothing found
- one address found
- multiple addresses found
- intermittent detection
Step 3: Interpret The Result
Nothing Found
Suspect:
- swapped pins
- missing power or ground
- wrong bus instance
- missing pull-ups
- incompatible level or dead module
Address Found
Move to minimal device interaction before jumping into full application code.
Intermittent Detection
Suspect:
- weak pull-ups
- long or noisy wires
- unstable power
- board-specific bus behavior
ESP32 And Board Quirks
Use this reference when the I2C behavior depends on board family rather than only the sensor.
ESP32 Family
Watch for:
- non-portable default pins across variants
- assumptions about a second I2C bus
- differences between board families even when similar code worked elsewhere
- core-version-specific behavior
If multi-bus or variant behavior is involved, capture the exact board and core version before assuming wiring fault.
Known Diagnostic Questions
- which ESP32 family is this exactly?
- which pins are assigned to each bus?
- is the same sketch known to work on a different ESP32 variant?
- did the behavior change after a core update?
Uno R4 Family
Uno R4 is not a generic ESP32-style board. If the user is conflating board families or bus assumptions, open ../../docs/board-support/uno-r4-family.md and reset the board-specific expectations first.
Scanner Sees Device But Library Fails
Use this reference when the address appears on the bus but the library says the device cannot be found or returns nonsense data.
What Scanner Success Proves
- the device answered at an address
- the bus is at least partially alive
What Scanner Success Does Not Prove
- correct device identity
- correct power mode
- correct register access sequence
- correct library assumptions
- healthy sensor readings
Next Checks
- verify the expected address from datasheet or board docs
- verify the library matches the exact device variant
- try a minimal identification or register read
- check if the sensor requires startup delay, mode configuration, or a different
voltage environment
Common Causes
- compatible-looking breakout with wrong or damaged sensor
- library written for a variant with different registers
- wrong initialization sequence
- bus present but sensor returning invalid data