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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions