<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pinout on Notebook</title><link>http://blog.cmac4603.dev/tags/pinout/</link><description>Recent content in Pinout on Notebook</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 19 Jul 2026 10:28:54 +0100</lastBuildDate><atom:link href="http://blog.cmac4603.dev/tags/pinout/index.xml" rel="self" type="application/rss+xml"/><item><title>Lily T-Dongle S3 SD Card Pins</title><link>http://blog.cmac4603.dev/posts/lily-t-dongle-s3-sd-card-pins/</link><pubDate>Sun, 19 Jul 2026 10:28:54 +0100</pubDate><guid>http://blog.cmac4603.dev/posts/lily-t-dongle-s3-sd-card-pins/</guid><description>&lt;h2 id="sd-card-pin-numbers-for-use-with-spi"&gt;SD Card pin numbers for use with SPI&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;LilyGo Pin Name&lt;/th&gt;
 &lt;th&gt;GPIO #&lt;/th&gt;
 &lt;th&gt;SPI&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_D0&lt;/td&gt;
 &lt;td&gt;14&lt;/td&gt;
 &lt;td&gt;MISO&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_D1&lt;/td&gt;
 &lt;td&gt;17&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_D2&lt;/td&gt;
 &lt;td&gt;21&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_D3&lt;/td&gt;
 &lt;td&gt;18&lt;/td&gt;
 &lt;td&gt;CS&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_CLK&lt;/td&gt;
 &lt;td&gt;12&lt;/td&gt;
 &lt;td&gt;SCK&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SDMMC_CMD&lt;/td&gt;
 &lt;td&gt;16&lt;/td&gt;
 &lt;td&gt;MOSI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-rust" data-lang="rust"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; spi_bus &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Spi::new(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; peripherals.&lt;span style="color:#66d9ef"&gt;SPI2&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; spi::master::Config::default()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .with_frequency(Rate::from_khz(&lt;span style="color:#ae81ff"&gt;400&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .with_mode(spi::Mode::_0),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.unwrap()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.with_sck(peripherals.&lt;span style="color:#66d9ef"&gt;GPIO12&lt;/span&gt;) &lt;span style="color:#75715e"&gt;// clk
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.with_mosi(peripherals.&lt;span style="color:#66d9ef"&gt;GPIO16&lt;/span&gt;) &lt;span style="color:#75715e"&gt;// cmd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.with_miso(peripherals.&lt;span style="color:#66d9ef"&gt;GPIO14&lt;/span&gt;) &lt;span style="color:#75715e"&gt;// d0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.into_async();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; sd_cs &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Output::new(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; peripherals.&lt;span style="color:#66d9ef"&gt;GPIO18&lt;/span&gt;, &lt;span style="color:#75715e"&gt;// d3
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Level::High,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; OutputConfig::default().with_pull(Pull::Up),
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; spi_dev &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ExclusiveDevice::new(spi_bus, sd_cs, Delay).unwrap();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; sdcard &lt;span style="color:#f92672"&gt;=&lt;/span&gt; SdCard::new(spi_dev, Delay);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>