Turn a Maclock alarm clock into a working Mac with a Raspberry Pi Zero.
What is it? ⬪ Shopping list ⬪ Hardware build ⬪ Software install ⬪ Donate
I recorded a full build video that you can watch here.
A Maclock is a cheap alarm clock built into a shockingly accurate miniature Macintosh shell. This project guts one and rebuilds it around a Raspberry Pi Zero running a real 68k or PowerPC emulator, so the tiny Mac actually boots System 7, plays the startup chime, and runs vintage software. Buttons, brightness, sound, wi-fi, bluetooth, and battery all work.
- Maclock
- Raspberry Pi Zero 2 W
- Waveshare 2.8 inch IPS LCD
- Adafruit PAM8302 audio amp + small speaker
- 3D printed screen bezel
- Macintosh Mini breakout board — for brightness, buttons, and sound. Order from PCBway.
- You can use my referral code to get $5 off your order, if you want.
- MicroUSB to USB-A female cable — to add a USB port to the back. Choose
Color: OTGV8DO-AFH.
Follow the Maclock hardware guide to assemble the Macintosh Mini. I also recorded a walkthrough video that goes into much more detail than the written guide.
-
Flash the OS. Install Raspberry Pi OS (Lite) 64-bit onto an SD card.
-
Bring your own Mac OS. Copy a Mac OS disk image and a ROM file to the Pi — the installer auto-discovers them in
$HOME. Two emulators are offered (it defaults to Basilisk II):- Basilisk II — a 68k Mac running System 7.0–8.5. Fastest option on the Pi Zero 2 W. Needs a 512 KB or 1 MB 68k ROM (Mac IIci / Quadra — try searching online for
064DC91D) and a disk image. - SheepShaver — PowerPC running Mac OS 8.1+. Needs the 4 MB PowerPC ROM and a disk image. Choose this only if you need PPC-era software — it's very slow on a Pi Zero.
Rename your ROM file to
ROM(no extension). Disk images are readily available online; I recommend the BlueSCSI image library.Disk images that work: any raw hard-disk image —
.hda,.img,.dsk,.hfv,.vhd(the extension doesn't matter) — and Apple.sparsebundle. Don't work:.dmg,.image/.smi,.toast, or anything still zipped (.zip/.sit).scp ROM yourdisk.hda <user>@<pi_ip>:~/
- Basilisk II — a 68k Mac running System 7.0–8.5. Fastest option on the Pi Zero 2 W. Needs a 512 KB or 1 MB 68k ROM (Mac IIci / Quadra — try searching online for
-
Run the installer. SSH into the Pi and run:
curl -fsSL https://raw.githubusercontent.com/wr/macintosh-mini/main/setup.sh | bash -
The script reboots your Pi when done, and it should Just Work™️.
The Pi boots straight into the Mac. A few controls:
- Reset button (GPIO 26): a single press restarts the emulator; a double press quits to a Pi shell prompt.
- Shut Down from inside Mac OS (Special → Shut Down) quits to the Pi prompt; Restart reboots the Mac in place; a crash auto-reboots.
macintosh— run this from the prompt to boot the Mac again.- Networking works out of the box (slirp NAT). In the Mac, set TCP/IP to DHCP.
- Wi-fi stays awake. The Pi's radio sleeps when idle by default, which makes it drop off the network and answer slowly when you come back to it. The installer turns that off. Pass
--wifi-powersaveto skip that step on a fresh install — it does not undo an install that already turned power saving off.
Re-run the installer any time to update an existing install — it keeps your disk image and settings. To switch emulator, pick the other one (Basilisk II ⇄ SheepShaver); each core's prefs are preserved.
Prefer to do it by hand? Every step the script runs is documented:
Open a GitHub issue — happy to help.
Startup chimes and crash sounds are mirrored from D. Schaub's Apple Sounds collection at https://froods.ca/~dschaub/sound.html. All sounds are © Apple, Inc.
While this project is free and open source, donations are deeply appreciated, and make ongoing development and support possible. Donate now
Copyright © 2026 Wells Riley. The maclock-pcb/ PCB design is licensed under CC BY-NC-SA 4.0. The rest of the repository is published as-is for personal, non-commercial use.


