const__pageData=JSON.parse('{"title":"Raspberry Pi RP2040","description":"","frontmatter":{},"headers":[],"relativePath":"platformdev_rp2040.md","filePath":"platformdev_rp2040.md","lastUpdated":null}');
const_hoisted_1=/* @__PURE__ */createStaticVNode('<h1id="raspberry-pi-rp2040"tabindex="-1">RaspberryPiRP2040<aclass="header-anchor"href="#raspberry-pi-rp2040"aria-label="Permalink to "Raspberry Pi RP2040""></a></h1><p>ThefollowingtableshowsthecurrentdriverstatusforperipheralsonRP2040MCUs:</p><table><thead><tr><th>System</th><th>Support</th></tr></thead><tbody><tr><td><ahref="./drivers/adc">ADCdriver</a></td><td>✔️</td></tr><tr><td><ahref="./drivers/audio#pwm-hardware">Audio</a></td><td>✔️</td></tr><tr><td><ahref="./features/backlight">Backlight</a></td><td>✔️</td></tr><tr><td><ahref="./drivers/i2c">I2Cdriver</a></td><td>✔️</td></tr><tr><td><ahref="./drivers/spi">SPIdriver</a></td><td>✔️</td></tr><tr><td><ahref="./drivers/ws2812">WS2812driver</a></td><td>✔️using<code>PIO</code>driver</td></tr><tr><td><ahref="./drivers/eeprom">ExternalEEPROMs</a></td><td>✔️using<code>I2C</code>or<code>SPI</code>driver</td></tr><tr><td><ahref="./drivers/eeprom#wear_leveling-configuration">EEPROMemulation</a></td><td>✔️</td></tr><tr><td><ahref="./drivers/serial">serialdriver</a></td><td>✔️using<code>SIO</code>or<code>PIO</code>driver</td></tr><tr><td><ahref="./drivers/uart">UARTdriver</a></td><td>✔️using<code>SIO</code>driver</td></tr></tbody></table><h2id="gpio"tabindex="-1">GPIO<aclass="header-anchor"href="#gpio"aria-label="Permalinkto"GPIO""></a></h2><imgalt="RaspberryPiPicopinout"src="https://i.imgur.com/nLaiYDE.jpg"width="48%"><imgalt="SparkfunRP2040ProMicropinout"src="https://i.imgur.com/1TPAhrs.jpg"width="48%"><divclass="warningcustom-block"><pclass="custom-block-title">WARNING</p><p>TheGPIOpinsoftheRP2040arenot5Vtolerant!</p></div><h3id="pin-nomenclature"tabindex="-1">Pinnomenclature<aclass="header-anchor"href="#pin-nomenclature"aria-label="Permalinkto"Pinnomenclature""></a></h3><p>ToaddressindividualpinsontheRP2040,QMKusesthe<code>GPx</code>abbreviation--wherethe<code>x</code>standsfortheGPIOnumberofthepin.Thisnumbercanlikelybefoundontheofficialpinoutdiagramofyourboard.NotethattheseGPIOnumbersmatchtheRP2040MCUdatasheet,anddon'tnecessarilymatchthenumberyouseeprintedontheboard.ForinstancetheRaspberryPiPicousesnumbersfrom1to40fortheirpins,butthesearenotidenticaltotheRP2040'sGPIOnumbers.Soifyouwanttousethepin11ofthePicoforyourkeyboard,youwouldrefertoitas<code>GP8</code>intheconfigfiles.</p><h3id="alternate-functions"tabindex="-1">Alternatefunctions<aclass="header-anchor"href="#alternate-functions"aria-label="Permalinkto"Alternatefunctions""></a></h3><p>TheRP2040featuresflexibleGPIOfunctionmultiplexing,thismeansthateverypincanbeconnectedtonearlyalltheinternalperipheralslikeI2C,SPI,UARTorPWM.ThisallowsforflexiblePCBdesignsthataremuchlessrestrictedintheselectionofGPIOpins.Tofindoutwhichpincanusewhichperipheralrefertotheofficial<ahref="https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf#page=14"target="_blank"rel="noreferrer">RaspberryPIRP2040datasheet</a>section1.4.3GPIOfunctions.</p><h2id="selecting-hardware-peripherals-and-drivers"tabindex="-1">Selectinghardwareperipheralsanddrivers<aclass="header-anchor"href="#selecting-hardware-peripherals-and-drivers"aria-label="Permalinkto"Selectinghardwareperipheralsanddrivers""></a></h2><p>QMKRP2040supportbuildsuponChibiOSandthusfollowstheirconventionforactivatingdriversandassociatedhardwareperipherals.Thesetablesonlygiveaquickoverviewwhichvalueshavetobeused,pleaserefertotheChibiOSspecificsectionsonthedriverpages.</p><h3id="i2c-driver"tabindex="-1">I2CDriver<aclass="header-anchor"href="#i2c-driver"aria-label="Permalinkto"I2CDriver""></a></h3><table><thead><tr><th>RP2040Peripheral</th><th><code>mcuconf.h</code>val