From a20a530508489c787752c46fe333e7f969a8f5f9 Mon Sep 17 00:00:00 2001 From: b3417 <120667073+b3417@users.noreply.github.com> Date: Sun, 14 Jun 2026 11:20:50 -0600 Subject: [PATCH] docs: add class d audio amplifier hat tutorial This tutorial provides a comprehensive guide on building a Raspberry Pi HAT utilizing a PAM8403 class D amplifier. It includes details on components, circuit design, and setup instructions for audio integration. --- .../pi-hats/class-d-audio-amplifier-hat.mdx | 438 ++++++++++++++++++ 1 file changed, 438 insertions(+) create mode 100644 docs/tutorials/pi-hats/class-d-audio-amplifier-hat.mdx diff --git a/docs/tutorials/pi-hats/class-d-audio-amplifier-hat.mdx b/docs/tutorials/pi-hats/class-d-audio-amplifier-hat.mdx new file mode 100644 index 00000000..bce76fee --- /dev/null +++ b/docs/tutorials/pi-hats/class-d-audio-amplifier-hat.mdx @@ -0,0 +1,438 @@ +--- +title: Building a Class D Audio Amplifier HAT +description: >- + This tutorial walks through a Raspberry Pi HAT built around a PAM8403 class D + amplifier, with stereo input, a master volume control, and speaker terminals. +--- + +## Overview + +This tutorial shows how to build a compact Raspberry Pi HAT for driving a pair +of small speakers. The board keeps the signal path simple: + +- A PAM8403 class D stereo amplifier +- Stereo audio input from the Pi side +- A master volume control +- Separate left and right speaker terminals +- Decoupling close to the amplifier power pins + +import CircuitPreview from "@site/src/components/CircuitPreview" +import TscircuitIframe from "@site/src/components/TscircuitIframe" + + ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) +`} /> + +## Requirements + +For this bounty, the board needs to cover: + +- A PAM8403 class D amplifier +- Stereo output at 3W per channel +- Master volume control +- Speaker terminals for left and right channels +- A Raspberry Pi-friendly layout and power path + +## Why this circuit works + +The PAM8403 is a good fit for a small HAT because it is compact, efficient, and +does not need the kind of bulky output filtering older amplifier classes need. +That keeps the board simple: + +- Keep the amplifier on 5V power +- Use short, direct speaker traces +- Add decoupling close to the amplifier supply pins +- Route the input and output sections so they do not crowd each other + +In a real build, the Pi can feed this HAT from a line-level source or an audio +interface that exposes stereo left and right channels. + +## Class D operation explanation + +Class D amplifiers switch their output devices instead of running them in a +purely linear mode. That matters for a small Raspberry Pi accessory board +because it keeps heat and power loss down while still driving small speakers +cleanly. + +For this HAT, that means: + +- the PAM8403 runs efficiently from 5V +- the speaker outputs can stay direct and compact +- the board does not need a large analog power stage +- short traces and local decoupling help keep the audio path stable + +The practical tradeoff is that layout matters. Switching edges and noisy power +return paths can leak into the audio path if the board is crowded, so the +placement and routing in the circuit are part of the design, not just the parts +list. + +## Raspberry Pi integration + +The HAT should plug into the Pi as a simple audio accessory and keep the +control story easy for someone following the guide. A good build flow is: + +1. Mount the HAT on the Raspberry Pi header. +2. Feed audio from the Pi or another line-level source. +3. Power the amplifier from the Pi-friendly 5V rail. +4. Keep speaker wiring separate from the input side so the channels stay easy to trace. + +For the build note, call out that the Pi should provide a stable power path and +that the amplifier needs enough current headroom for the target speakers. +If the project uses another audio source, mention the expected line-level input +so readers know what to connect before they power anything on. + +## Audio configuration guide + +For a practical Raspberry Pi setup, the important part is making sure the Pi +audio output is routed to the header the tutorial uses and that the system is +set to a reasonable default volume before first power-up. + +Use this checklist in the guide: + +- confirm the Pi is using the intended audio output path +- start at a low system volume +- verify left and right channels before connecting speakers +- test with a quiet audio file first +- increase volume gradually until the amplifier output is clearly audible + +If the repo supports config snippets, add them next to the tutorial so a reader +can match the board wiring with the software output path. The key outcome is a +straightforward end-to-end setup from Pi audio to speaker terminals without +guesswork. + +## Step 1: Place the audio input and amplifier + +Start with the input connector and the PAM8403 block. That gives you the core +signal path before you add control and speaker wiring. + + ( + + + + + + + + + + +) +`} /> + +## Step 2: Add the master volume control + +The simplest way to show volume control is a potentiometer on the input path. +On a finished board, you would usually use a dual-gang part so both channels +move together. + + ( + + + + + + + + + + + + +) +`} /> + +## Step 3: Add the speaker terminals + +The output side should be easy to wire and easy to read on the silkscreen. Two +separate connectors keep the left and right channels obvious. + + ( + + + + + + + + + + + + +) +`} /> + +## Step 4: Add decoupling + +Class D amplifiers are happiest when the supply stays steady. A small ceramic +capacitor and a larger bulk capacitor help keep the 5V rail calm during audio +transients. + + ( + + + + + + + + + + + +) +`} /> + +## Firmware example + +The firmware side depends on the audio source you choose. If your Pi is feeding +the board from a line-level output, the software side can stay very small: + +```python +import time + +print("Audio HAT ready") +while True: + time.sleep(1) +``` + +If you use a DAC or a USB audio interface upstream, keep the same stereo +channel naming in your build notes so the wiring stays obvious later. + +## PCB layout guidance + +Keep these parts close together when you move from schematic to board: + +- Put the amplifier near the speaker outputs +- Keep the input section away from the speaker traces +- Place the decoupling capacitors right next to the amplifier power pins +- Give the potentiometer a clear front-panel position if it is user-facing +- Leave enough space around the speaker terminals for easy wiring + +## What to check before publishing + +- The input, amplifier, and speaker terminals are clearly labeled +- The board runs from 5V, not 3.3V +- The master volume control is documented in the schematic and build notes +- The decoupling capacitors sit close to the amplifier +- Left and right speaker outputs are not crossed