<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">#endif</span></span></code></pre></div><h3id="pin-compatibility"tabindex="-1">Pin Compatibility <aclass="header-anchor"href="#pin-compatibility"aria-label="Permalink to "Pin Compatibility""></a></h3><p>To ensure compatibility, provide validation, and enable future workflows, a keyboard should declare its <code>pin compatibility</code>. For legacy reasons, this is currently assumed to be <code>promicro</code>. The following pin compatibility interfaces are currently defined:</p><table><thead><tr><th>Pin Compatibility</th><th>Notes</th></tr></thead><tbody><tr><td><code>promicro</code></td><td>Includes RX/TX LEDs</td></tr><tr><td><code>elite_c</code></td><td>Includes bottom row pins, no LEDs</td></tr></tbody></table><p>To declare the base for conversions, add this line to your keyboard's <code>rules.mk</code>:</p><divclass="language-makefile vp-adaptive-theme"><buttontitle="Copy Code"class="copy"></button><spanclass="lang">makefile</span><preclass="shiki shiki-themes github-light github-dark vp-code"><code><spanclass="line"><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">PIN_COMPATIBLE = elite_c</span></span></code></pre></div><h2id="pro-micro"tabindex="-1">Pro Micro <aclass="header-anchor"href="#pro-micro"aria-label="Permalink to "Pro Micro""></a></h2><p>If a board currently supported in QMK uses a <ahref="https://www.sparkfun.com/products/12640"target="_blank"rel="noreferrer">Pro Micro</a> (or compatible board), the supported alternative controllers are:</p><table><thead><tr><th>Device</th><th>Target</th></tr></thead><tbody><tr><td><ahref="https://qmk.fm/proton-c/"target="_blank"rel="noreferrer">Proton C</a></td><td><code>proton_c</code></td></tr><tr><td><ahref="https://learn.adafruit.com/adafruit-kb2040"target="_blank"rel="noreferrer">Adafruit KB2040</a></td><td><code>kb2040</code></td></tr><tr><td><ahref="https://www.sparkfun.com/products/18288"target="_blank"rel="noreferrer">SparkFun Pro Micro - RP2040</a></td><td><code>sparkfun_pm2040</code></td></tr><tr><td><ahref="https://boardsource.xyz/store/628b95b494dfa308a6581622"target="_blank"rel="noreferrer">Blok</a></td><td><code>blok</code></td></tr><tr><td><ahref="https://nullbits.co/bit-c-pro"target="_blank"rel="noreferrer">Bit-C PRO</a></td><td><code>bit_c_pro</code></td></tr><tr><td><ahref="https://github.com/megamind4089/STeMCell"target="_blank"rel="noreferrer">STeMCell</a></td><td><code>stemcell</code></td></tr><tr><td><ahref="https://shop.custommk.com/products/bonsai-c4-microcontroller-board"target="_blank"rel="noreferrer">customMK Bonsai C4</a></td><td><code>bonsai_c4</code></td></tr><tr><td><ahref="https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040"target="_blank"rel="noreferrer">Elite-Pi</a></td><td><code>elite_pi</code></td></tr><tr><td><ahref="https://keeb.supply/products/0xcb-helios"target="_blank"rel="noreferrer">0xCB Helios</a></td><td><code>helios</code></td></tr><tr><td><ahref="https://splitkb.com/products/liatris"target="_blank"rel="noreferrer">Liatris</a></td><td><code>liatris</code></td></tr><tr><td><ahref="https://splitkb.com/products/imera"target="_blank"rel="noreferrer">Imera</a></td><td><code>imera</code></td></tr><tr><td><ahref="https://github.com/ci-bus/michi-promicro-rp2040"target="_blank"rel="noreferrer">Michi</a></td><td><code>michi</code></td></tr></tbody></table><p>Converter summary:</p><table><thead><tr><th>Target</th><th>Argument</th><th><code>rules.mk</code></th><th>Condition</th></tr></thead><tbody><tr><td><code>proton_c</code></td><td><code>-e CONVERT_TO=proton_c</code></td><td><code>CONVERT_TO=proton_c</code></td><td><code>#ifdef CONVERT_TO_PROTON_C</code></td></tr><tr><td><code>kb2040</code></td><td><code>-e CONVERT_TO=kb2040</code></td><td><code>CONVERT_TO=kb2040</code></td><td><code>#ifdef CONVERT_TO_KB2040</code></td></tr><tr><td><code>sparkfun_pm2040</code></td><td><code>-e CONVERT_TO=sparkfun_pm2040</code></td><td><code>CONVERT_TO=sparkfun_pm2
<spanclass="line"><spanstyle="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// If VBUS detection is unused, we can send RXLED to the Vbus detect pin instead</span></span>
<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> B0</span><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> PAL_LINE</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(GPIOA, </span><spanstyle="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">9</span><spanstyle="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div><h3id="rp2040_ce"tabindex="-1">RP2040 Community Edition - Elite-Pi, Helios, and Liatris <aclass="header-anchor"href="#rp2040_ce"aria-label="Permalink to "RP2040 Community Edition - Elite-Pi, Helios, and Liatris {#rp2040_ce}""></a></h3><p>Feature set is identical to <ahref="#kb2040">Adafruit KB2040</a>. VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the <ahref="./platformdev_rp2040#rp2040_ce">Community Edition pinout</a> docs.</p><h2id="elite-c"tabindex="-1">Elite-C <aclass="header-anchor"href="#elite-c"aria-label="Permalink to "Elite-C""></a></h2><p>If a board currently supported in QMK uses an <ahref="https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4"target="_blank"rel="noreferrer">Elite-C</a>, the supported alternative controllers are:</p><table><thead><tr><th>Device</th><th>Target</th></tr></thead><tbody><tr><td><ahref="https://github.com/megamind4089/STeMCell"target="_blank"rel="noreferrer">STeMCell</a></td><td><code>stemcell</code></td></tr><tr><td><ahref="https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040"target="_blank"rel="noreferrer">Elite-Pi</a></td><td><code>elite_pi</code></td></tr><tr><td><ahref="https://keeb.supply/products/0xcb-helios"target="_blank"rel="noreferrer">0xCB Helios</a></td><td><code>helios</code></td></tr><tr><td><ahref="https://splitkb.com/products/liatris"target="_blank"rel="noreferrer">Liatris</a></td><td><code>liatris</code></td></tr></tbody></table><p>Converter summary:</p><table><thead><tr><th>Target</th><th>Argument</th><th><code>rules.mk</code></th><th>Condition</th></tr></thead><tbody><tr><td><code>stemcell</code></td><td><code>-e CONVERT_TO=stemcell</code></td><td><code>CONVERT_TO=stemcell</code></td><td><code>#ifdef CONVERT_TO_STEMCELL</code></td></tr><tr><td><code>rp2040_ce</code></td><td><code>-e CONVERT_TO=rp2040_ce</code></td><td><code>CONVERT_TO=rp2040_ce</code></td><td><code>#ifdef CONVERT_TO_RP2040_CE</code></td></tr><tr><td><code>elite_pi</code></td><td><code>-e CONVERT_TO=elite_pi</code></td><td><code>CONVERT_TO=elite_pi</code></td><td><code>#ifdef CONVERT_TO_ELITE_PI</code></td></tr><tr><td><code>helios</code></td><td><code>-e CONVERT_TO=helios</code></td><td><code>CONVERT_TO=helios</code></td><td><code>#ifdef CONVERT_TO_HELIOS</code></td></tr><tr><td><code>liatris</code></td><td><code>-e CONVERT_TO=liatris</code></td><td><code>CONVERT_TO=liatris</code></td><td><code>#ifdef CONVERT_TO_LIATRIS</code></td></tr></tbody></table><h3id="stemcell-stemcell-elite"tabindex="-1">STeMCell {#stemcell}_elite <aclass="header-anchor"href="#stemcell-stemcell-elite"aria-label="Permalink to "STeMCell {#stemcell}_elite""></a></h3><p>Identical to <ahref="#stemcell">Pro Micro - STeMCell</a> with support for the additional bottom row of pins.</p><h3id="rp2040_ce_elite"tabindex="-1">RP2040 Community Edition <aclass="header-anchor"href="#rp2040_ce_elite"aria-label="Permalink to "RP2040 Community Edition {#rp2040_ce_elite}""></a></h3><p>Identical to <ahref="#rp2040_ce">Pro Micro - RP2040 Community Edition</a> with support for the additional bottom row of pins.</p></div></div></main><footerclass="VPDocFooter"data-v-39a288b8data-v-09de1c0f><!--[--><!--]--><!----><navclass="prev-next"data-v-09de1c0f><divclass="pager"data-v-09de1c0f><aclass="VPLink link pager-link prev"href="/features/bootmagic"data-v-09de1c0f><!--[--><spanclass="desc"data-v-09de1c0f>Previous page</span><spanclass="title"data-v-09de1c0f>Bootmagic Lite</span><!-