
Ai vision
embeddedci-com/pcb-trace-length-analyzer
Two of them, and the difference between them is the point.

In this github, there is a pcb design that has a total of 1 song! Download the KiCAD/PCB files in JLCPCB for the design schematic and files! Download the .zip files in firmware/media for the code! Once you've soldered…
Solution design is an open-source printed circuit board by featherfly12, from the featherfly12/speaker-pcb repository on GitHub. It is a 4-layer board of 52.9 × 70.7 mm with 56 parts on 64 nets, routed with 417 tracks and 84 vias.
It is built around the STM32L433CCT6, MAX98357AETE+T and W25Q128JVEIQ, with the AP2112K-3.3TRG1, 3362P-1-502LF and ECS-80-12-33-JGN-TR among its other parts. Its parts include 22 capacitors, 16 resistors, 5 ICs, 3 diodes and 2 connectors. It belongs with the STM32 boards of this library.
In this github, there is a pcb design that has a total of 1 song! Download the KiCAD/PCB files in JLCPCB for the design schematic and files! Download the .zip files in firmware/media for the code! Once you've soldered your PCB (parts below) OR you bought it from a PCB maker (like i did), you can flash the music onto the chip using an external loader and STM32CubeProgrammer. The external loader for this custom PCB was written in the folder firmware/W25Q128_HAL, and the actual compiled loader file is W25Q128_STM32L433_HAL.stldr. Once the external memory is programmed with the song, the STM32 itself can be flashed with the music_player project using STM32CubeIDE. These programs were written with the help of Claude Code / Sonnet 4.6. (and john heath)
| Part | What it is | What it does in this circuit |
|---|---|---|
| STM32L433CCT6 | Microcontroller | Runs your code — reads the song from flash memory and streams it to the speaker amplifier over I2S |
| W25Q128JVEIQ | 16 MB flash memory chip | Stores the raw audio file (like a tiny solid-state drive) so the microcontroller can play it back |
| MAX98357AETE+T | I2S audio amplifier | Takes the digital audio stream from the microcontroller and amplifies it directly via pulse-width modulation (PWM) — rapid switching whose pulse widths track the signal, which the speaker smooths back into sound. This switching design is what makes it a class-D amplifier, and what lets it drive a speaker efficiently from such a small chip. |
| AP2112K-3.3TRG1 | 3.3V Low-dropout Regulator (LDO) | Steps down the input voltage to the stable 3.3V that the microcontroller and other chips need to operate safely. This can eliminate most noise from the power supply, making the 3.3V "clean" power. |
| SMAJ13A | TVS (transient voltage suppression) diode | Prevents voltage spikes on the power input. |
| PESD3V3L4UG,115 | 4-channel ESD protection array | Guards four signal lines at once against static electricity (ESD). Static can silently kill chips when you touch their pins! |
| PESD3V3L1BA | Single-channel ESD protection diode | Same idea as above, but for one signal line. |
| ECS-80-12-33-JGN-TR | 8MHz Crystal | A crystal that oscillates within 20 ppm of 8MHz when driven by the MCU (with some helper capacitors). This makes the clock of the MCU much more precise, and prevents the frequency of the song from drifting while it is playing. |
Music from an MP3 file is converted into pure binary 16-bit data at 31.25kHz using scripts in firmware/media. The output, media.bin, may be flashed onto the chip using an external loader and STM32CubeProgrammer. The external loader for this custom PCB was written in the folder firmware/W25Q128_HAL, and the actual compiled loader file is W25Q128_STM32L433_HAL.stldr. Once the external memory is programmed with the song, the STM32 itself can be flashed with the music_player project using STM32CubeIDE.
These programs were written with the help of Claude Code / Sonnet 4.6.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C4, C5, C9, C10, C11, C13, C15, C21, C22, C23 |
| 9 | 33 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3, R4, R5, R6, R7, R8, R9, R10, R11 |
| 6 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1, R2, R12, R13, R14, R15 |
| 3 | 1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C8, C19, C20 |
| 3 | TestPoint | TestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_Beaded | TP1, TP2, TP3 |
| 2 | 10uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C14, C18 |
| 2 | 18pF | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C2, C3 |
| 2 | 22uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C16 |
| 1 | 10nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C7 |
| 1 | 220uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C12 |
| 1 | 3362P-1-502LF | project_footprints:POT_3362P | R16 |
| 1 | 4.7uF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C6 |
| 1 | 4.7uH | project_footprints:IND_NRS6028T0R9NMGJV_TAY | L1 |
| 1 | AP2112K-3.3TRG1 | project_footprints:SOT_RG1_DIO-M | U5 |
| 1 | AP63205WU-7 | project_footprints:SOIC_05WU-7_DIO-M | U4 |
| 1 | Conn_ARM_SWD_TagConnect_TC2030 | Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical | J1 |
| 1 | ECS-80-12-33-JGN-TR | project_footprints:XTAL_ECS-240-8-33-AGN-TR | Y1 |
| 1 | MAX98357AETE+T | project_footprints:21-0136I_T1633-4_MXM-M | U3 |
| 1 | PESD3V3L1BA | Diode_SMD:D_SOD-323_HandSoldering | D3 |
| 1 | PESD3V3L4UG,115 | project_footprints:PESD3V3L4UG115 | D2 |
| 1 | PJ-002AH | project_footprints:CUI_PJ-002AH | J2 |
| 1 | SMAJ13A | project_footprints:DIONM5126X250N | D1 |
| 1 | STM32L433CCT6 | project_footprints:QFP50P900X900X160-48N | U1 |
| 1 | Speaker | project_footprints:CES-46257-24-L200 | LS1 |
| 1 | Switch | project_footprints:PTS647SK70SMTR2LFS | S1 |
| 1 | TestPoint | TestPoint:TestPoint_Loop_D1.80mm_Drill1.0mm_Beaded | TP4 |
| 1 | W25Q128JVEIQ | project_footprints:WSON_128JVEIQ_WIN-M | U2 |
It measures 52.9 × 70.7 mm and has 4 copper layers, 1.6 mm thick.
56 parts, built around the STM32L433CCT6, MAX98357AETE+T, W25Q128JVEIQ and AP2112K-3.3TRG1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the featherfly12/speaker-pcb repository on GitHub, at the commit this page was made from: the board is music player!/solution-design.kicad_pcb and its schematic music player!/solution-design.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask featherfly12 before reusing the design.

embeddedci-com/pcb-trace-length-analyzer
Two of them, and the difference between them is the point.

M17-Project/Module_17
M17 modem board for 9600-baud capable radios


oudehm/seniorDesignPCB
Editable KiCad projects for the brain, light, power, and pump boards.

barkinvar/sugerCANe
A compact interface for three NPN, PNP or logic sensors on an FRC robot. Each port has a removable 5 V / 12 V power jumper; input type is configured in software.

SimosMCmuffin/FlexiBMS_hardware
Open Source BMS developed by Simo Sihvonen (Simos MCmuffin) with the Esk8 community, for the Esk8 community


mad73923/wordclock2PCB_mechanics
Wall-mount clock which shows the clock in words. incl. WIFI for weather information, Twitter, E-Mails etc