<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hardware on RustyTelephone.net</title><link>https://rustytelephone.net/tags/hardware/</link><description>Recent content in Hardware on RustyTelephone.net</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 14 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://rustytelephone.net/tags/hardware/index.xml" rel="self" type="application/rss+xml"/><item><title>The ESP32-S3-DevKitC-1, by touch</title><link>https://rustytelephone.net/posts/esp32-s3-devkitc-1/</link><pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate><guid>https://rustytelephone.net/posts/esp32-s3-devkitc-1/</guid><description>&lt;p&gt;The ESP32-S3-DevKitC-1 is Espressif's entry-level ESP32-S3 board: Wi-Fi, Bluetooth Low Energy, and almost every GPIO broken out to two long rows of header pins, one down each side. It plugs into a breadboard or takes jumper wires, and you program it over USB.&lt;/p&gt;
&lt;p&gt;The brains of the board sit in the module: a smooth, flat rectangle about the size of a postage stamp, soldered onto the end of the board opposite the USB ports. It has a small bite out of one corner: hold the board chips up with the USB ports toward you, and the bite is at the module's far right corner. That's the ESP32-S3-WROOM-1, and inside it are the ESP32-S3 chip itself, its flash and PSRAM memory, and the antenna. The antenna is the far end of the module, a sort of rectangle that hangs past the end of the board.&lt;/p&gt;</description><content>&lt;p&gt;The ESP32-S3-DevKitC-1 is Espressif's entry-level ESP32-S3 board: Wi-Fi, Bluetooth Low Energy, and almost every GPIO broken out to two long rows of header pins, one down each side. It plugs into a breadboard or takes jumper wires, and you program it over USB.&lt;/p&gt;
&lt;p&gt;The brains of the board sit in the module: a smooth, flat rectangle about the size of a postage stamp, soldered onto the end of the board opposite the USB ports. It has a small bite out of one corner: hold the board chips up with the USB ports toward you, and the bite is at the module's far right corner. That's the ESP32-S3-WROOM-1, and inside it are the ESP32-S3 chip itself, its flash and PSRAM memory, and the antenna. The antenna is the far end of the module, a sort of rectangle that hangs past the end of the board.&lt;/p&gt;
&lt;p&gt;The other end of the board is the end you plug in. It has two USB-C ports side by side along the edge, and just behind them, two small push buttons, Boot and Reset. Espressif's own board uses micro-USB, but mine have USB-C.&lt;/p&gt;
&lt;p&gt;These are my notes on it, written so you can wire one up without looking at it, because I can't.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://rustytelephone.net/posts/esp32-s3-devkitc-1/annotated-photo.png" alt=""&gt;&lt;/p&gt;
&lt;h2 id="buying-one"&gt;Buying one&lt;/h2&gt;
&lt;p&gt;I got a &lt;a href="https://a.co/d/05jlkUhE"&gt;pack of 3 ESP32-S3 boards on Amazon&lt;/a&gt;. Spares are handy, because sooner or later one of them meets 5 V on the wrong pin.&lt;/p&gt;
&lt;p&gt;The module has a code printed on it that tells you how much memory you've got. N is flash and R is PSRAM, in megabytes, so N8R8 means 8 MB of flash and 8 MB of PSRAM.&lt;/p&gt;
&lt;p&gt;There are two revisions of the board on the market, v1.0 and v1.1. The only difference is which GPIO drives the RGB LED: GPIO48 on v1.0 and GPIO38 on v1.1. If a sighted friend tells you your blink code does nothing, try the other one. (Mine always does nothing, as far as I can tell.)&lt;/p&gt;
&lt;h2 id="pin-order"&gt;Pin order&lt;/h2&gt;
&lt;p&gt;Hold the board chips up, with the two USB ports toward you and the module, with its antenna, away from you. There's a header down each side, 22 pins each. Pin 1 of each is at the far end, by the module, so these tables read from the far end toward you.&lt;/p&gt;
&lt;h3 id="left-header-j1"&gt;Left header (J1)&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Pin&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;3V3&lt;/td&gt;
&lt;td&gt;3.3 V power&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3V3&lt;/td&gt;
&lt;td&gt;3.3 V power&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;RST&lt;/td&gt;
&lt;td&gt;Reset (EN)&lt;/td&gt;
&lt;td&gt;Same as the Reset button&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;GPIO4&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;GPIO5&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;GPIO6&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;GPIO7&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;GPIO15&lt;/td&gt;
&lt;td&gt;ADC2; 32 kHz crystal input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;GPIO16&lt;/td&gt;
&lt;td&gt;ADC2; 32 kHz crystal input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;GPIO17&lt;/td&gt;
&lt;td&gt;ADC2; UART1 TX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;GPIO18&lt;/td&gt;
&lt;td&gt;ADC2; UART1 RX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;GPIO8&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;GPIO3&lt;/td&gt;
&lt;td&gt;ADC1, touch; strapping pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;GPIO46&lt;/td&gt;
&lt;td&gt;Strapping pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;GPIO9&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;GPIO10&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;GPIO11&lt;/td&gt;
&lt;td&gt;ADC2, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;GPIO12&lt;/td&gt;
&lt;td&gt;ADC2, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;GPIO13&lt;/td&gt;
&lt;td&gt;ADC2, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;GPIO14&lt;/td&gt;
&lt;td&gt;ADC2, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;5V&lt;/td&gt;
&lt;td&gt;5 V power&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Ground&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="right-header-j3"&gt;Right header (J3)&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Pin&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Ground&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;TX&lt;/td&gt;
&lt;td&gt;GPIO43&lt;/td&gt;
&lt;td&gt;UART0 TX, wired to the USB-to-UART port&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;RX&lt;/td&gt;
&lt;td&gt;GPIO44&lt;/td&gt;
&lt;td&gt;UART0 RX, wired to the USB-to-UART port&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;GPIO1&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;GPIO2&lt;/td&gt;
&lt;td&gt;ADC1, touch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;GPIO42&lt;/td&gt;
&lt;td&gt;JTAG (MTMS)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;41&lt;/td&gt;
&lt;td&gt;GPIO41&lt;/td&gt;
&lt;td&gt;JTAG (MTDI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;GPIO40&lt;/td&gt;
&lt;td&gt;JTAG (MTDO)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;GPIO39&lt;/td&gt;
&lt;td&gt;JTAG (MTCK)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;GPIO38&lt;/td&gt;
&lt;td&gt;RGB LED on v1.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;GPIO37&lt;/td&gt;
&lt;td&gt;Taken by octal PSRAM, see below&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;GPIO36&lt;/td&gt;
&lt;td&gt;Taken by octal PSRAM, see below&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;GPIO35&lt;/td&gt;
&lt;td&gt;Taken by octal PSRAM, see below&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;GPIO0&lt;/td&gt;
&lt;td&gt;Boot button; strapping pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;GPIO45&lt;/td&gt;
&lt;td&gt;Strapping pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;GPIO48&lt;/td&gt;
&lt;td&gt;RGB LED on v1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;GPIO47&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;GPIO21&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;GPIO20&lt;/td&gt;
&lt;td&gt;USB D+, wired to the native USB port&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;GPIO19&lt;/td&gt;
&lt;td&gt;USB D−, wired to the native USB port&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Ground&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Ground&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src="https://rustytelephone.net/posts/esp32-s3-devkitc-1/pin-layout.jpg" alt=""&gt;&lt;/p&gt;
&lt;h2 id="usb-ports-and-buttons"&gt;USB ports and buttons&lt;/h2&gt;
&lt;p&gt;With the ports toward you, the left one is the USB-to-UART port and the right one is the ESP32-S3's native USB port. Either one powers the board and can flash it, but Espressif's guide uses the USB-to-UART port by default, since support for the native port isn't fully implemented in their software.&lt;/p&gt;
&lt;p&gt;The buttons sit just behind the ports: Boot on the left, Reset on the right.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reset&lt;/strong&gt; restarts the board.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Boot&lt;/strong&gt; puts it into firmware download mode: hold Boot, press and release Reset, then let go of Boot. You only need this if flashing won't start on its own.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some cables only charge and have no data lines. If the computer doesn't see the board, try another cable before you blame the board.&lt;/p&gt;
&lt;h2 id="power"&gt;Power&lt;/h2&gt;
&lt;p&gt;There are three ways to power the board, and you should only use one at a time:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Either USB port, or both. This is the default and the one Espressif recommends.&lt;/li&gt;
&lt;li&gt;The 5V and G pins.&lt;/li&gt;
&lt;li&gt;The 3V3 and G pins.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="pins-to-stay-away-from"&gt;Pins to stay away from&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPIO35, 36 and 37&lt;/strong&gt; are used internally to talk to the flash and PSRAM on boards with octal PSRAM. That's every R8 or larger module, which is most of them. Don't use them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPIO0, 3, 45 and 46&lt;/strong&gt; are strapping pins. The chip reads them at power-up to decide how to boot. Use them only if nothing you wire up pulls them high or low at boot, or you may get a board that won't start.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPIO43 and 44&lt;/strong&gt; (TX and RX) carry the serial monitor. &lt;strong&gt;GPIO19 and 20&lt;/strong&gt; carry the native USB port.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Everything else is fair game. The ESP32-S3 can route I2S, UART, SPI and most other signals to any GPIO, and &amp;quot;ADC&amp;quot; or &amp;quot;touch&amp;quot; in the tables is just an extra thing that pin can do, not a restriction. If you're hooking up the &lt;a href="https://rustytelephone.net/posts/max98357a-i2s-amp/"&gt;MAX98357A amp&lt;/a&gt;, GPIO4, 5 and 6 work well for its three I2S pins. They're pins 4, 5 and 6 on the left header, three in a row just past RST.&lt;/p&gt;
&lt;h2 id="sources"&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide_v1.0.html"&gt;Espressif: ESP32-S3-DevKitC-1 v1.0 user guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide_v1.1.html"&gt;Espressif: ESP32-S3-DevKitC-1 v1.1 user guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://a.co/d/05jlkUhE"&gt;ESP32-S3 boards, pack of 3 (Amazon)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The pin tables, notes and both diagrams are adapted from Espressif's ESP32-S3-DevKitC-1 user guides, © Espressif Systems, licensed under &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;CC BY-SA 4.0&lt;/a&gt;. I reorganized and rewrote the text; the diagrams are unchanged. This post is shared under the same license.&lt;/p&gt;</content></item><item><title>The MAX98357A I2S amp, by touch</title><link>https://rustytelephone.net/posts/max98357a-i2s-amp/</link><pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate><guid>https://rustytelephone.net/posts/max98357a-i2s-amp/</guid><description>&lt;p&gt;The MAX98357A is a tiny mono Class-D amplifier that takes digital I2S audio straight from a microcontroller and drives a speaker directly. You don't need a DAC, an analog input, or even an MCLK pin. It just needs three wires of I2S, power, ground, and a speaker. These are my notes on it, written so you can wire one up without looking at it, because I can't.&lt;/p&gt;
&lt;p&gt;I'm using the &lt;a href="https://www.adafruit.com/product/3006"&gt;Adafruit board (product 3006)&lt;/a&gt;, but most clones use the same 7-pin layout.&lt;/p&gt;</description><content>&lt;p&gt;The MAX98357A is a tiny mono Class-D amplifier that takes digital I2S audio straight from a microcontroller and drives a speaker directly. You don't need a DAC, an analog input, or even an MCLK pin. It just needs three wires of I2S, power, ground, and a speaker. These are my notes on it, written so you can wire one up without looking at it, because I can't.&lt;/p&gt;
&lt;p&gt;I'm using the &lt;a href="https://www.adafruit.com/product/3006"&gt;Adafruit board (product 3006)&lt;/a&gt;, but most clones use the same 7-pin layout.&lt;/p&gt;
&lt;h2 id="buying-one"&gt;Buying one&lt;/h2&gt;
&lt;p&gt;Most MAX98357A boards ship with the header pins loose in the bag, which means soldering before it'll go anywhere near a breadboard. Amazon listings that say &amp;quot;comes with headers&amp;quot; usually mean exactly that: they come &lt;em&gt;with&lt;/em&gt; them, not attached to anything. On some boards the speaker screw terminal is loose too. Look for &amp;quot;pre-soldered&amp;quot; or &amp;quot;soldered&amp;quot; in the listing.&lt;/p&gt;
&lt;p&gt;If you'd rather skip the soldering iron, there are boards with the headers already on, like this &lt;a href="https://a.co/d/09Q09uMX"&gt;MAX98357A breakout with pre-soldered headers&lt;/a&gt;. The &lt;a href="https://www.adafruit.com/product/3006"&gt;Adafruit version&lt;/a&gt; ($5.95) only half counts: the speaker terminal block comes soldered on, but the header is loose.&lt;/p&gt;
&lt;h2 id="pin-order"&gt;Pin order&lt;/h2&gt;
&lt;p&gt;Hold the board chips up (pins down, if the headers were soldered the usual way), with the header pins closest to you and the speaker screw terminal away from you. Reading left to right:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Pin&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;th&gt;Typical connection&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;LRC&lt;/td&gt;
&lt;td&gt;I2S left/right (word select) clock&lt;/td&gt;
&lt;td&gt;MCU I2S WS/LRCLK pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;BCLK&lt;/td&gt;
&lt;td&gt;I2S bit clock&lt;/td&gt;
&lt;td&gt;MCU I2S BCLK pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;DIN&lt;/td&gt;
&lt;td&gt;I2S audio data in&lt;/td&gt;
&lt;td&gt;MCU I2S data-out pin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;GAIN&lt;/td&gt;
&lt;td&gt;Gain select; floating = 9 dB&lt;/td&gt;
&lt;td&gt;Leave unconnected, or see Gain below&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;SD&lt;/td&gt;
&lt;td&gt;Shutdown and channel select&lt;/td&gt;
&lt;td&gt;Leave unconnected for stereo-average at 5 V&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;Ground&lt;/td&gt;
&lt;td&gt;Common ground with MCU and power&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Vin&lt;/td&gt;
&lt;td&gt;Power, 2.5–5.5 V&lt;/td&gt;
&lt;td&gt;5 V rail preferred&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;How I remember it: the three I2S signals are on the left, power is on the far right, and ground is right next to it. The speaker goes to the screw terminal on the far edge, + and −.&lt;/p&gt;
&lt;h2 id="power"&gt;Power&lt;/h2&gt;
&lt;p&gt;Vin takes 2.5–5.5 V. Run it from 5 V even if your logic is 3.3 V, since the I2S pins are happy with 3.3–5 V logic. At 5 V, budget about 650 mA; Adafruit recommends a supply rated for 800 mA or more.&lt;/p&gt;
&lt;h2 id="speaker"&gt;Speaker&lt;/h2&gt;
&lt;p&gt;Use a moving-coil speaker of 4 Ω or more. Max output at 10% THD:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Speaker&lt;/th&gt;
&lt;th&gt;At 5 V&lt;/th&gt;
&lt;th&gt;At 3.3 V&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;4 Ω&lt;/td&gt;
&lt;td&gt;3 W&lt;/td&gt;
&lt;td&gt;1.3 W&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8 Ω&lt;/td&gt;
&lt;td&gt;1.8 W&lt;/td&gt;
&lt;td&gt;0.8 W&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="gain"&gt;Gain&lt;/h2&gt;
&lt;p&gt;Set by what you hook the GAIN pin to. It may need a power cycle to take effect.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GAIN connection&lt;/th&gt;
&lt;th&gt;Gain&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;100 kΩ to GND&lt;/td&gt;
&lt;td&gt;15 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Direct to GND&lt;/td&gt;
&lt;td&gt;12 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unconnected (default)&lt;/td&gt;
&lt;td&gt;9 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Direct to Vin&lt;/td&gt;
&lt;td&gt;6 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100 kΩ to Vin&lt;/td&gt;
&lt;td&gt;3 dB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="shutdown-and-channel-select"&gt;Shutdown and channel select&lt;/h2&gt;
&lt;p&gt;The voltage on SD picks the mode:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;SD voltage&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Under 0.16 V&lt;/td&gt;
&lt;td&gt;Shutdown (mute)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.16–0.77 V&lt;/td&gt;
&lt;td&gt;(Left + Right) / 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.77–1.4 V&lt;/td&gt;
&lt;td&gt;Right channel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Over 1.4 V&lt;/td&gt;
&lt;td&gt;Left channel&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The board has a 1 MΩ pull-up from SD to Vin fighting an internal 100 kΩ pull-down, which lands you in stereo-average at 5 V. Pulling SD to GND from a GPIO is an easy software mute.&lt;/p&gt;
&lt;h2 id="gotchas"&gt;Gotchas&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The speaker outputs are bridge-tied. Never connect either speaker terminal to ground, and don't feed this into another amp. It drives a speaker directly.&lt;/li&gt;
&lt;li&gt;It's I2S, not I2C. Different protocol, one letter apart, and search engines will cheerfully hand you the wrong one.&lt;/li&gt;
&lt;li&gt;Clone boards usually match this pin order, but check the silkscreen or a meter before you power up.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sources"&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/pinouts"&gt;Adafruit MAX98357 I2S Class-D Amps: Pinouts (Mono)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adafruit.com/product/3006"&gt;Adafruit I2S 3W Class D Amplifier Breakout: MAX98357A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://a.co/d/09Q09uMX"&gt;MAX98357A breakout with pre-soldered headers (Amazon)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content></item></channel></rss>