Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
45776bf
PCB: real BOM part numbers, boss-hole fix, hybrid C1 land
wr Aug 25, 2026
520d5d2
JP1: swap the generic pad row for a real 1x5 socket footprint
wr Aug 25, 2026
92a3e26
Merge branch 'main' into wells/pcb-bom-and-bosses
wr Aug 25, 2026
35c8438
Refill the ground pour around the new JP1 socket
wr Aug 26, 2026
63bdb92
PCB: real SW/encoder footprints, SMD 1206 C1, JST headers, amp decoup…
wr Sep 1, 2026
c0df5fb
PCB: real HYCW03 encoder, LCSC-sourceable BOM, rebuilt schematic
wr Sep 2, 2026
8c9dc7b
PCB: TSB001 part numbers on board, C1 10nF audio LPF, J2 polarity sil…
wr Sep 2, 2026
5ece6d9
PCB: connector MPN values, 1.0 mm 5V supply tracks
wr Sep 2, 2026
5d96fa9
PCB rev 2: on-board PAM8302A amp replaces the Adafruit module
wr Sep 2, 2026
1f01ab1
C1: plain 0603 land (10nF X7R, C57112) replaces the chip-or-disc hybrid
wr Sep 2, 2026
a7dfb04
Drop the MUTE header pin; PiInput back to 1x7
wr Sep 2, 2026
a0d79d8
PCB: compact amp block beside the Pi header, R3/C1 next to U1, 5V via…
wr Sep 2, 2026
ac4425e
Drop the PCBway quote reply and tracked DRC/ERC reports
wr Sep 2, 2026
6d3fbe7
J1/J2: JST SH 1.0 mm SMD (BM02B/BM04B-SRSS-TB) to take the Maclock's …
wr Sep 3, 2026
98f07c2
J3: JST PH 2.0 mm speaker connector plus two bare-lead solder pads
wr Sep 4, 2026
b049881
J1/J2: turn the SH receptacles so the contact windows face the board …
wr Sep 4, 2026
3734478
Layout pass: SMD PH speaker connector, no solder pads, connectors re-…
wr Sep 4, 2026
2c3a49c
Prune unused footprints and README design notes; verified J2 pin mapping
wr Sep 4, 2026
1927bab
BOM: DigiKey part numbers for hand assembly
wr Sep 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ A [Maclock](https://www.aliexpress.us/w/wholesale-maclock.html) is a cheap alarm
- [Maclock](https://amzn.to/4e7FKrw)
- [Raspberry Pi Zero 2 W](https://amzn.to/4ac7FVR)
- [Waveshare 2.8 inch IPS LCD](https://amzn.to/4ue5GaP)
- [Adafruit PAM8302 audio amp](https://amzn.to/4uITeAP) + small speaker
- Small 8 Ω 1 W speaker with a JST PH 2.0 mm plug, like Adafruit's (the audio amp is built into the breakout board)
- [3D printed screen bezel](./maclock-screen-bezel)
- Macintosh Mini breakout board — for brightness, buttons, and sound. Order from [PCBway](https://www.pcbway.com/project/shareproject/W654223ASS41_Untitled_kicad_pcb_95cca7e3.html).
- You can [use my referral code](https://pcbway.com/g/AsfKU9) to get $5 off your order, if you want.
Expand Down
5 changes: 3 additions & 2 deletions maclock-build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ I recorded a walkthrough for how I assembled mine that goes into much more detai
- [Maclock](https://amzn.to/4e7FKrw)
- [Raspberry Pi Zero 2 W](https://amzn.to/4ac7FVR)
- [Waveshare 2.8 inch IPS LCD](https://amzn.to/4ue5GaP)
- [Adafruit PAM8302 audio amp](https://amzn.to/4uITeAP) + small speaker
- Small 8 Ω 1 W speaker with a JST PH 2.0 mm plug (the audio amp is on the breakout board)
- [3D printed screen bezel](../maclock-screen-bezel)
- [Macintosh Mini breakout board](https://www.pcbway.com/project/shareproject/W654223ASS41_Untitled_kicad_pcb_95cca7e3.html) (if you want brightness, buttons, and sound). Full [bill of materials here](../maclock-pcb).

Expand All @@ -27,8 +27,9 @@ I recorded a walkthrough for how I assembled mine that goes into much more detai
| Button 1 | SW1 | 13 | Bend or desolder pin on Pi |
| Rotary DT | Dial B | 19 | Bend or desolder pin on Pi |
| Rotary CLK | Dial A | 23 | Bend or desolder pin on Pi |
| Audio (PAM8302) | A+ | 35 | Bend or desolder pin on Pi |
| Audio | A+ | 35 | Bend or desolder pin on Pi |
| Button 2 | SW2 | 37 | Bend or desolder pin on Pi |
| Speaker | J3 (`+` / `-`) | — | JST PH 2.0 mm 2-pin; polarity doesn't matter |

Bend, cut, or desolder pins 13, 19, 23, 35, and 37 so they don't plug into the Waveshare display board. Leaving them in can cause odd issues with the buttons and dial on the front of the Mac.

Expand Down
5 changes: 5 additions & 0 deletions maclock-pcb/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,8 @@ fp-info-cache
*.dxf
gerbers/
plot/

# root .gitignore hides the lib tables; this project needs them
!fp-lib-table
!sym-lib-table
*.rpt
42 changes: 25 additions & 17 deletions maclock-pcb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,38 @@

# Macintosh Mini breakout PCB

KiCad 10 project for the breakout that connects the Mac-shaped clock's front-panel parts (rotary encoder, two pushbuttons, PAM8302 audio amp, speaker) to the Pi Zero 2 W's GPIO header.
KiCad 10 project for the breakout that connects the Mac-shaped clock's front-panel parts (rotary encoder, two pushbuttons, speaker) to the Pi Zero 2 W's GPIO header. Rev 2 puts the PAM8302A audio amplifier on the board itself.

Build guide with pin assignments lives in the [maclock guide](../maclock-build/README.md#1-wiring). For the case-side parts you'll print, see the [3D-printed screen bezel](../maclock-screen-bezel/).

Order from [PCBway](https://www.pcbway.com/project/shareproject/W654223ASS41_Untitled_kicad_pcb_95cca7e3.html). You can [use my referral code](https://pcbway.com/g/AsfKU9) to get $5 off your order, if you want.

## Bill of materials

To populate one board:

| Ref | Qty | Part | Footprint | Notes |
| ----------- | --- | ----------------------------------------- | ---------------------------------- | ---------------------------------------------------- |
| R1, R2, R3 | 3 | 1 kΩ resistor | 0402 (1005 metric) SMD | Pull-ups for the two buttons + the rotary encoder |
| C1 | 1 | 100 nF ceramic capacitor | Through-hole disc, 5 mm pitch | Audio decoupling |
| — | 1 | **PAM8302 audio amplifier breakout** | external module | Wire `A+` to Pi GPIO 19 (header pin 35); output to speaker |
| — | 1 | Small speaker, 8 Ω, ~0.5 W | — | Whatever fits behind the original Maclock grille |
| PiInput | 1 | 1×7 pin header, 2.54 mm pitch, vertical | through-hole | Plugs into Pi GPIO pins 35–47 |

### Optional (only if not reusing the Maclock's original parts)

| Ref | Qty | Part | Footprint | Notes |
| ----------- | --- | ----------------------------------------- | ------------------- | -------------------------------------------------- |
| SW1, SW2 | 2 | SMD tactile switch (e.g. Mountain TS32735) | 4.6 × 3.5 mm SMT | Skip if you're wiring the Maclock's existing buttons to the SW1/SW2 pads |
| JP1 | 1 | 3-pin rotary encoder | | Skip if you're wiring the Maclock's existing dial |
To populate one board. Every part is LCSC-stocked, so PCBway can assemble it; only the Pi header is through-hole. The DigiKey column is for hand assembly: where DigiKey does not carry the LCSC part, a drop-in equivalent is named. The encoder and the two switches are only available from LCSC; nothing at DigiKey matches their lands.

| Ref | Qty | Part (LCSC) | DigiKey | Notes |
| -------- | --- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| R1, R2 | 2 | 1 kΩ ±1% 0402 — UNI-ROYAL `0402WGF1001TCE` (LCSC [`C11702`](https://www.lcsc.com/product-detail/C11702.html)) | [`311-1.00KLRCT-ND`](https://www.digikey.com/en/products/result?keywords=311-1.00KLRCT-ND) Yageo `RC0402FR-071KL` | In series with the SW1 and SW2 button lines |
| R3 | 1 | 1 kΩ ±1% 0402 — same as above | same as above | With C1, the 16 kHz low-pass on the Pi's PWM audio |
| C1 | 1 | 10 nF X7R 0603 — `0603B103K500NT` (LCSC [`C57112`](https://www.lcsc.com/product-detail/C57112.html)) | [`1276-1009-1-ND`](https://www.digikey.com/en/products/result?keywords=1276-1009-1-ND) Samsung `CL10B103KB8NNNC` | Audio low-pass with R3 |
| PiInput | 1 | 1×7 male pin header, 2.54 mm — (LCSC [`C492406`](https://www.lcsc.com/product-detail/C492406.html)) | [`35-PRPC007SAAN-RC-ND`](https://www.digikey.com/en/products/result?keywords=35-PRPC007SAAN-RC-ND) Sullins `PRPC007SAAN-RC` | Through-hole. Silkscreened "Pi GPIO". Pin order: Dial B, GND, Dial A, 5V, A+, SW2, SW1 |
| U1 | 1 | PAM8302A 2.5 W class-D mono amp, MSOP-8 — Diodes `PAM8302AASCR` (LCSC [`C113367`](https://www.lcsc.com/product-detail/C113367.html)) | [`PAM8302AASCRDICT-ND`](https://www.digikey.com/en/products/result?keywords=PAM8302AASCRDICT-ND) | Bottom side |
| C2, C3 | 2 | 220 nF X7R 0603 — Samsung `CL10B224KA8NNNC` (LCSC [`C21120`](https://www.lcsc.com/product-detail/C21120.html)) | [`1276-1111-1-ND`](https://www.digikey.com/en/products/result?keywords=1276-1111-1-ND) | Amp input coupling (IN+ and IN−) |
| C4 | 1 | 1 µF X5R 0603 — Samsung `CL10A105KB8NNNC` (LCSC [`C15849`](https://www.lcsc.com/product-detail/C15849.html)) | [`1276-1860-1-ND`](https://www.digikey.com/en/products/result?keywords=1276-1860-1-ND) | Amp supply decoupling |
| C5 | 1 | 10 µF X5R 0805 — Samsung `CL21A106KAYNNNE` (LCSC [`C15850`](https://www.lcsc.com/product-detail/C15850.html)) | [`1276-2891-1-ND`](https://www.digikey.com/en/products/result?keywords=1276-2891-1-ND), or [`587-4334-1-ND`](https://www.digikey.com/en/products/result?keywords=587-4334-1-ND) Taiyo Yuden `TMK212BBJ106KGHT` when the Samsung is out of stock | Amp bulk decoupling |
| R4, R5 | 2 | 47 kΩ ±1% 0402 — `0402WGF4702TCE` (LCSC [`C25792`](https://www.lcsc.com/product-detail/C25792.html)) | [`311-47.0KLRCT-ND`](https://www.digikey.com/en/products/result?keywords=311-47.0KLRCT-ND) Yageo `RC0402FR-0747KL` | Amp input resistors, set the gain to about 9 dB |
| R6 | 1 | 100 kΩ ±1% 0402 — `0402WGF1003TCE` (LCSC [`C25741`](https://www.lcsc.com/product-detail/C25741.html)) | [`311-100KLRCT-ND`](https://www.digikey.com/en/products/result?keywords=311-100KLRCT-ND) Yageo `RC0402FR-07100KL` | Pull-up on the amp's shutdown pin (amp always on) |
| J3 | 1 | JST PH 1×2, 2.0 mm, SMD top entry — `B2B-PH-SM4-TB` (LCSC [`C160352`](https://www.lcsc.com/product-detail/C160352.html)) | [`455-B2B-PH-SM4-TBCT-ND`](https://www.digikey.com/en/products/result?keywords=455-B2B-PH-SM4-TBCT-ND) | **Speaker**, silkscreened `+` / `-` |
| ENC1 | 1 | Rotary encoder, horizontal SMD mouse-wheel — HOAUC `HYCW03-2.8D-5P-S` (LCSC [`C55218995`](https://www.lcsc.com/product-detail/C55218995.html)) | — (no DigiKey part fits this land) | The "Dial". Hex 1.78 mm bore, 12 pulse / 12 detent. Dial A / Dial B / GND also break out on the header |
| J1 | 1 | JST SH 1×2, 1.0 mm, SMD top entry — `BM02B-SRSS-TB` (LCSC [`C160388`](https://www.lcsc.com/product-detail/C160388.html)) | [`455-1788-1-ND`](https://www.digikey.com/en/products/result?keywords=455-1788-1-ND) | **Power switch**, inline in the 5V rail. Takes the Maclock's original 2-wire switch plug |
| J2 | 1 | JST SH 1×4, 1.0 mm, SMD top entry — `BM04B-SRSS-TB` (LCSC [`C160390`](https://www.lcsc.com/product-detail/C160390.html)) | [`455-BM04B-SRSS-TBCT-ND`](https://www.digikey.com/en/products/result?keywords=455-BM04B-SRSS-TBCT-ND) | **Power input**. Takes the Maclock's original 4-wire plug: pin 4 (silk `+`) = 5V, pin 3 (silk `-`) = GND, pins 1–2 unused |
| SW1, SW2 | 2 | BZCN `TSB001A3518A` side-press SMD tactile, 7.7 × 3.55 mm, 180 gf (LCSC [`C2888448`](https://www.lcsc.com/product-detail/C2888448.html)) | — (no DigiKey part fits this land) | The two front buttons. Any TSB001 force/height variant fits the same land |
| — | 1 | Small speaker, 8 Ω, 1 W, 28–40 mm, JST PH 2.0 mm plug | — | Whatever fits behind the Maclock grille |

## The amplifier

Pi PWM audio → R3/C1 low-pass → C2 → R4 → PAM8302A IN+, with IN− terminated through the matching R5/C3 pair. R4 adds to the chip's internal 10 kΩ input resistor, which brings its fixed 24 dB gain down to about 9 dB; fine volume is a software setting. The shutdown pin is pulled up through R6 so the amp is always on (no header GPIO is free for a mute). Speaker polarity does not matter.

## License

Expand Down
4 changes: 4 additions & 0 deletions maclock-pcb/fp-lib-table
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
(fp_lib_table
(version 7)

(lib (name "maclock") (type "KiCad") (uri "${KIPRJMOD}/maclock.pretty") (options "") (descr "")))
Loading