<svg width="860" height="220" xmlns="http://www.w3.org/2000/svg">
<!--
  Source: https://github.com/ImplFerris/ImplFerris
  Copyright (c) 2025 implrust.com
  Licensed under CC BY-SA 4.0
-->
  <style>
    .label { font: bold 16px sans-serif; fill: #000; text-anchor: middle; }
    .sublabel { font: italic 14px sans-serif; fill: #333; text-anchor: middle; }
    .label-slave { font: bold 16px sans-serif; fill: #000; text-anchor: middle; }
    .sublabel-slave { font: italic 14px sans-serif; fill: #000; text-anchor: middle; }
    .pin { font: 14px sans-serif; fill: #000; dominant-baseline: middle; }
    .pin-master { text-anchor: end; }
    .arrow { stroke: #26A69A; marker-end: url(#arrowhead); }
  </style>

  <defs>
    <marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
      <polygon points="0 0, 10 3.5, 0 7" fill="#26A69A" />
    </marker>
  </defs>

  <!-- SPI Controller (master) -->
  <rect x="40" y="30" width="280" height="160" rx="10" ry="10" fill="#7ade82"/>
  <text x="180" y="100" class="label">Controller</text>
  <text x="180" y="120" class="sublabel">(master)</text>

  <!-- SPI Peripheral (slave) -->
  <rect x="500" y="30" width="280" height="160" rx="10" ry="10" fill="#81D4FA"/>
  <text x="650" y="100" class="label-slave">Peripheral</text>
  <text x="650" y="120" class="sublabel-slave">(slave)</text>

  <!-- Signal Lines -->
  <line x1="320" y1="66" x2="500" y2="66" stroke-width="2" class="arrow"/>
  <text x="310" y="66" class="pin pin-master">SCLK</text>
  <text x="510" y="66" class="pin">SCLK</text>

  <line x1="320" y1="98" x2="500" y2="98" stroke-width="2" class="arrow"/>
  <text x="310" y="98" class="pin pin-master">MOSI</text>
  <text x="510" y="98" class="pin">MOSI/SDI</text>

  <line x1="500" y1="130" x2="320" y2="130" stroke-width="2" class="arrow"/>
  <text x="310" y="130" class="pin pin-master">MISO</text>
  <text x="510" y="130" class="pin">MISO/SDO</text>

  <line x1="320" y1="160" x2="500" y2="160" stroke-width="2" class="arrow"/>
  <text x="310" y="160" class="pin pin-master">CS/SS</text>
  <text x="510" y="160" class="pin">CS/SS</text>
</svg>
