

Using nightly Rust and cargo, just do a cargo build --release.
- Size
- 58 × 44 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 40
- Nets
- 42
- Pads
- 124
- Tracks, vias
- 206, 36
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 19 Dec 2018
- Updated
- 31 May 2021
Overview
Button is an open-source printed circuit board by birkenfeld, from the birkenfeld/stm_button_rust repository on GitHub. It is a 2-layer board of 58 × 44 mm with 40 parts on 42 nets, routed with 206 tracks and 36 vias.
It is built around the PAM8302AASCR and DMC2038LVT. Its parts include 11 capacitors, 9 resistors, 2 ICs, 2 connectors and 1 transistor. It belongs with the STM32 boards of this library.
Main components
2PAM8302AASCR
MSOP-8-40℃~+85℃ 0.3% 1-Channel 2.5Wx1@4Ω 2V~5.5V 4mA 50dB 80dB 85% Class D Filterless architecture MSOP-8 Audio Amplifiers ROHSDiodes IncorporatedAudio AmplifiersDMC2038LVT
SOT-23-6-55℃~+150℃ 1 N-Channel + 1 P-Channel 1.14W 1.2V 2.8A 2.9nC@4.5V 20V 375pF 60pF 85mΩ@4.5V SOT-23-6 MOSFETs ROHSTECH PUBLICMOSFETs
README
README.mdMake sound with STM32L0
Build
Using nightly Rust and cargo, just do a cargo build --release.
Flash
The default method uses openocd and GDB. Start openocd using a config
matching your programming adapter (the provided openocd.cfg assumes
ST-Link v2). Then cargo run --release runs GDB, flashes and runs the
image. openocd should just keep running in the background.
An alternate way is to use the st-flash utility. To use this from
cargo run --release, change the runner in .cargo/config.
Parts
40| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 10K | Resistors_SMD:R_0603_HandSoldering | R1, R2, R5, R7, R8, R9 |
| 3 | 100nF | Capacitors_SMD:C_0603_HandSoldering | C3, C4, C6 |
| 3 | 10uF | Capacitors_SMD:C_0603_HandSoldering | C1, C2, C9 |
| 3 | 1uF | Capacitors_SMD:C_0603_HandSoldering | C5, C7, C8 |
| 2 | 220pF | Capacitors_SMD:C_0603_HandSoldering | C10, C11 |
| 2 | Ferrite_Bead_Small | Resistors_SMD:R_0603_HandSoldering | FB1, FB2 |
| 1 | 10 | Resistors_SMD:R_0603_HandSoldering | R4 |
| 1 | 1K | Resistors_SMD:R_0603_HandSoldering | R6 |
| 1 | 2xAAA 1.5V | custom:Pad_2contacts | BT1 |
| 1 | Button | custom:SW_PUSH-12mm | SW1 |
| 1 | DMC2038LVT | TO_SOT_Packages_SMD:TSOT-23-6 | Q1 |
| 1 | PAM8302AAS | Housings_SSOP:MSOP-8_3x3mm_Pitch0.65mm | U2 |
| 1 | R_POT | Potentiometers:Potentiometer_Trimmer-EVM3E | RV1 |
| 1 | STM32L072KZTx | Housings_QFP:LQFP-32_7x7mm_Pitch0.8mm | U1 |
| 1 | SWD | custom:Pad_4contacts | J2 |
| 1 | Speaker | custom:Pad_2contacts | LS1 |
| 1 | not fitted | Resistors_SMD:R_0603_HandSoldering | R3 |
| 1 | uSD_SPI | custom:PJRC_uSD_Adapter | J1 |
The 31 most common of 40 parts.
Questions
How big is the Button PCB?
It measures 58 × 44 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Button use?
40 parts, built around the PAM8302AASCR and DMC2038LVT. 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.
Where can I download the Button KiCad files?
From the birkenfeld/stm_button_rust repository on GitHub, at the commit this page was made from: the board is cad/button/button.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Button design in my own project?
Its repository states no licence, so its author keeps all rights: ask birkenfeld before reusing the design.
Similar boards
- 4 layers121.9 × 44.4 mm

- 4 layers25.3 × 35.1 mm

Agb hifi audio pcb
cajunpanda/gameboy-hifi-audio
A HiFi audio mod for various Game Boy models
66 parts25MIT - 2 layers81 × 55 mm

- 4 layers54.7 × 78.5 mm

DisplayModule PONSv71
MasaoC/GPS-TFT-Map_PONS
鳥人間コンテストに特化したGNSS誘導システム。人力飛行機のパイロットが使いやすいことを目標にした航法装置です。ハードとソフトをオープンソースで開発しています。
151 parts14MIT - 2 layers82.5 × 136.7 mm

Gameboy dmg
alxhoff/gameboy-dmg-pcb
PCB for Gameboy DMG with audio and GPIO expander to provide I2C interface to push buttons
95 parts4GPL-3.0 - 4 layers182 × 150 mm

- 4 layers70 × 90 mm

- 4 layers35 × 48 mm

Hoppy clock
borkdlabs/hoppy_clock
STM32-based alarm clock and RGB lamp: custom alarms wake you with light and your own songs, configured over USB from the browser or a Python tool
61 parts2MIT