Skip to content

📍 v2.0 modernization roadmap / where we left off (start here) #17

Description

@jonfroehlich

A single front door for the v2.0 Arduino modernization work, so it's easy to pick back up. Status as of 2026-06-26.

⏭️ Immediate next action

Merge PR #15 (sketch-board-targeting). It is green on all 4 board jobs and mergeable. It:

  • assigns the correct board per sketch via sketch.yaml (closes Assign correct board per sketch via sketch.yaml #11),
  • adds compile-CI matrix jobs for AVR/Leonardo/SAMD/nRF52,
  • marks the i2s-mic+mp3 sketch legacy, and
  • comments each sketch.yaml + documents the convention in CLAUDE.md.

Open decision before merging: merge as-is, or first fold in #16 (grow CI coverage) so it lands as one "board targeting + coverage" change. Either is fine — #16 is comfortably its own PR. Default recommendation: merge #15 now, do #16 separately.

🔭 Backlog, in suggested priority order

  1. Grow compile-CI coverage to remaining green sketches + untracked boards #16 — Grow compile-CI coverage to remaining green sketches + untracked boards (UnoR4WiFi, CPX, rest of nRF52840). Natural follow-on to Assign correct board per sketch via sketch.yaml; gate in CI (#11) #15. Quick win: run the full arduino-cli sweep, add the green ones to the Uno job.
  2. Triage & migrate ESP32 sketches for Arduino core v3.x (lesson-aware) #12 — Triage & migrate ESP32 sketches for core v3.x (lesson-aware). Includes the Tone32.hpp → native tone() migration. Check the physcomp lesson before migrating vs. marking legacy.
  3. v2.0: fundamental review of all sketch code + comments #13 — Fundamental review of all sketch code + comments (the big v2.0 pass).
  4. Update the headers to each .ino to reference textbook, as relevant #9 — Update .ino headers to reference the textbook. Overlaps v2.0: fundamental review of all sketch code + comments #13 — decide whether to fold Update the headers to each .ino to reference textbook, as relevant #9 into v2.0: fundamental review of all sketch code + comments #13 or keep it as a focused headers-only task.
  5. CI link-check for textbook lesson URLs in sketch headers #14 — CI link-check for textbook lesson URLs in sketch headers.
  6. AnalogGraphMultipleInputs.ino - e-Ink port #7 — AnalogGraphMultipleInputs e-Ink port (older, narrow enhancement).

✅ Recently completed (for context)

🔑 Key context / conventions (don't relearn the hard way)

  • Sketch-header template: docs/sketch-header-template.md; compile-checked copy in templates/SketchTemplate/.
  • Legacy policy: banner in .ino + list in docs/legacy-sketches.md + skip in CI. Check the lesson before deciding migrate-vs-legacy.
  • CI gotcha: arduino/compile-sketches does not read sketch.yaml — mixed-board folders must be listed per-sketch under the right matrix job.
  • arduino-cli at C:\Program Files\Arduino CLI\arduino-cli.exe (may not be on PATH).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions