Skip to content

Conversation

@BoozeLee
Copy link

@BoozeLee BoozeLee commented Feb 8, 2026

Summary

  • Corrected the Arduino Shield footprint to match the official Arduino Uno R3 mechanical specification
  • Implemented the critical 4.064mm (160mil) gap between digital pins D7 and D8 — the non-standard spacing that makes Arduino shields mechanically unique
  • Refactored ArduinoShieldFootprint.tsx from 329 lines of static pin definitions to ~60 lines using .map() for maintainability
  • Updated pin labels in ArduinoShield.circuit.tsx for accuracy (RES→RESET, V3_3→3.3V, V5→5V, RX→D0, TX→D1)

Technical Details

The key fix is the 160mil gap calculation for the digital pin headers:

// Digital pins D8-D13+ are offset by 4.064mm (160mil) from D0-D7
pcbX = 24.13 - 7 * 2.54 - 4.064 - i * 2.54

Pin organization:

  • Right side (top): D0-D7 at standard 2.54mm spacing
  • Right side (bottom): D8-D13, GND, AREF, SDA, SCL with 4.064mm offset from D7
  • Left side (top): A0-A5 at standard 2.54mm spacing
  • Left side (bottom): NC, IOREF, RESET, 3.3V, 5V, GND1, GND2, VIN

Test plan

  • Verify footprint renders correctly in tscircuit preview
  • Confirm pin coordinates match Arduino Uno R3 specification sheet
  • Validate that shields mechanically align with the generated footprint

🤖 Generated with Claude Code

@vercel
Copy link

vercel bot commented Feb 8, 2026

@BoozeLee is attempting to deploy a commit to the tscircuit Team on Vercel.

A member of the Team first needs to authorize it.

@BoozeLee
Copy link
Author

BoozeLee commented Feb 9, 2026

CI Fixes Needed

The PR is great but needs these CI fixes to pass:

Issues:

  1. format-check - Code formatting
  2. type-check - TypeScript validation
  3. snapshot - Test snapshots need updating
  4. tests - Already passing!

How to Fix:

# 1. Clone and checkout the PR branch
git fetch origin pull/68/head:fix-arduino-shield
git checkout fix-arduino-shield

# 2. Install dependencies
bun install

# 3. Fix formatting
bun run format

# 4. Check types (fix any errors that appear)
# May need to adjust types if errors show

# 5. Update snapshots
bun run snapshot:update

# 6. Verify all checks pass locally
bun run format:check  # Should pass
# Run type-check if available

# 7. Commit and push
git add .
git commit -m "fix: resolve CI failures (format, types, snapshots)"
git push

The Changes:

The actual Arduino Shield code looks good! The refactoring from 329 lines to ~60 lines using .map() is excellent. Just needs the above CI fixes to merge.

Note: These can be run in a GitHub Codespace for a clean environment with all dependencies.

@rushabhcodes rushabhcodes reopened this Feb 9, 2026
@rushabhcodes
Copy link

create a pr with the fix, then @BoozeLee

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants