Pi Interface HAT — Assembly & Installation Guide
1 Prerequisites

You Will Need

  • Macintosh SE (any revision)
  • Raspberry Pi 4B (2 GB+ RAM)
  • Pi Interface HAT kit (PCB + all components)
  • 14-pin Molex Micro-Fit 3.0 cable (salvage from original logic board, or crimp a new one)
  • USB-C power supply for initial Pi setup/flashing (not needed once installed — the Mac SE PSU powers everything)
  • MicroSD card (16 GB+)
  • Speaker — Misco 57SN08-2 (57 mm, 8Ω) or generic 57 mm 8Ω equivalent

Tools

  • Soldering iron with fine tip (for 0805 SMD and through-hole)
  • Solder (0.5–0.8 mm recommended for SMD)
  • Flux pen or paste
  • Tweezers (fine-tip, for 0805 parts)
  • Multimeter
  • Long-shaft Phillips screwdriver
  • Torx T-15 driver
  • Anti-static wrist strap
  • CRT discharge tool (insulated screwdriver + clip lead — see Step 2)

Software

  • Raspberry Pi OS Lite (32-bit, Bullseye or later)
  • Basilisk II (compiled for ARM)
  • Mac OS 7.5.5 install media (disk images)
  • Quadra 700 ROM image
2 CRT Safety
!! HIGH VOLTAGE WARNING !!

The Mac SE CRT carries up to 15,000 volts on the anode cap even when the computer is unplugged and has been off for days. This voltage is lethal. You must discharge the CRT before working inside the case.

How to Discharge the CRT

  1. Unplug the Mac SE from mains power. Leave it unplugged for at least 30 minutes.
  2. Make a discharge tool: clip one end of an insulated wire to the metal chassis (ground). Attach the other end to a flat-blade screwdriver with a long insulated handle.
  3. Slide the screwdriver blade under the rubber anode cap on top of the CRT until it contacts the metal clip underneath.
  4. You may hear a snap/pop — this is the charge dissipating. Hold contact for several seconds.
  5. Remove the tool, then repeat once more to be sure.

Do not skip this step. Always discharge before touching anything inside the case.

3 Disassemble the Mac SE
  1. Remove the four Torx T-15 screws from the rear case — two at the top, two recessed inside the handles at the bottom. You'll need a long-shaft driver for the handle screws.
  2. Slide the rear case shell off toward the back.
  3. Discharge the CRT (see Step 2).
  4. Disconnect the 14-pin Molex cable from the logic board. Note the orientation — pin 1 is marked on the connector housing.
  5. Disconnect the floppy drive and hard drive ribbon cables from the logic board.
  6. Slide the logic board out toward the rear of the chassis.
  7. Remove the original speaker (note its mounting position).

Keep the analog board installed — it drives the CRT and provides the power supply. You are only removing the logic board.

Set aside the 14-pin Molex cable — you'll reuse it to connect the Pi Interface HAT to the analog board.

4 Solder SMD Components

The kit includes seven 0805-size SMD parts. 0805 (2.0 × 1.25 mm) is manageable with a regular iron and fine tip. A flux pen makes this much easier.

SMD Soldering Order

Solder these first, before through-hole components block access:

  1. C2 (100nF ceramic) — near U1 position. This is the decoupling cap for the 74HCT04.
  2. C1 (100nF ceramic) — between U1 and U2 positions.
  3. C3 (100nF ceramic) — near U2 position. Decoupling cap for the 74HC245.
  4. C4 (100nF ceramic) — center of board, near R1/R2. Power rail decoupling.
  5. R1 (100K) — upper resistor in the SD_MODE voltage divider.
  6. R2 (100K) — lower resistor in the SD_MODE divider. Together, R1 and R2 set the MAX98357A to mono (L+R)/2 mode.
  7. FB1 (ferrite bead, ~600Ω @ 100 MHz) — on the audio power rail, filters digital noise before it reaches the amplifier.

SMD Soldering Tips

  • Apply flux to both pads before placing the component.
  • Tin one pad first. Place the component with tweezers, reflow the tinned pad to tack it down.
  • Solder the other pad. Then go back and reflow the first pad for a clean joint.
  • Ceramic caps (C1–C4) are non-polarized — orientation doesn't matter.
  • Resistors (R1, R2) are non-polarized.
  • The ferrite bead (FB1) is non-polarized.
5 Solder Through-Hole Components

Solder in order from lowest-profile to tallest:

  1. U1 — 74HCT04 (DIP-14, hex inverter)
    Orient pin 1: the notch/dot on the IC matches the notch marking on the PCB silkscreen. Pin 1 is top-left when the notch faces up.
    This IC inverts the video signal (GPIO 4) and level-shifts 3.3V → 5V for the CRT.
  2. U2 — 74HC245 (DIP-20, bus transceiver)
    Same orientation rule — match the notch. Pin 1 is top-left.
    This IC level-shifts HSYNC and VSYNC (GPIO 2, 3) to 5V for the CRT.
  3. J3 — MAX98357A header (1×7 pin header)
    Solder the 7-pin header strip. The MAX98357A breakout module plugs in here.
    Pin order (1–7): VIN, GND, SD_MODE, GAIN, DIN, BCLK, LRCLK.
  4. J4 — Speaker header (1×2 pin header)
    Two-pin header for speaker output (SPK+, SPK−).
  5. J2 — Molex Micro-Fit 3.0 (2×7 vertical header)
    This is the connector that mates with the Mac SE analog board cable. Make sure the latch/key faces outward (toward the board edge) for easy cable insertion.
  6. C5 — 470µF electrolytic (radial, 8 mm diameter)
    Polarized! Match the “+” lead to the “+” pad on the PCB. The negative stripe on the cap body faces the “−” pad.
    This caps the audio amplifier power rail to suppress noise.
  7. J1 — 2×20 GPIO socket
    This is the tall socket that the Raspberry Pi plugs into. It mounts on the back side of the PCB (B.Cu).
    Flip the board over. Insert the socket from the back so the pins protrude through to the front. Solder on the front side. Make sure it sits flush and square before soldering all pins.

Finally, install the standoffs: thread four M2.5 standoffs into the mounting holes from the back, secure with screws from the front.

6 Verify the Board

Before connecting anything, check for shorts and correct orientation:

  • No shorts between +5V and GND (check at U1 pin 14 vs pin 7)
  • No shorts between +3.3V and GND
  • U1 pin 14 = +5V, pin 7 = GND (correct orientation)
  • U2 pin 20 = +5V, pin 10 = GND (correct orientation)
  • C5 polarity correct (“+” to “+”)
  • All solder joints clean — no bridges between adjacent DIP pins
  • J1 GPIO socket is flush and on the back side of the board
  • J2 Molex connector latch faces the board edge
7 Prepare the Raspberry Pi

Flash the SD Card

  1. Download Raspberry Pi OS Lite (32-bit) — Bullseye or later.
  2. Flash to MicroSD with Raspberry Pi Imager or dd.
  3. Enable SSH: touch /boot/ssh
  4. Configure Wi-Fi if needed (create /boot/wpa_supplicant.conf).

DPI Video Configuration

The Pi drives the Mac SE CRT using DPI (Display Parallel Interface) mode — raw TTL-level video on GPIO pins. Only 3 GPIOs are used for video:

  • GPIO 4 (pin 7): VIDEO — 1-bit pixel data at 15.667 MHz
  • GPIO 2 (pin 3): VSYNC — 60.15 Hz vertical sync
  • GPIO 3 (pin 5): HSYNC — horizontal sync

Edit /boot/config.txt — replace the entire contents with:

gpu_mem=64 arm_64bit=0 enable_dpi_lcd=1 display_default_lcd=1 dtoverlay=dpi24 framebuffer_width=512 framebuffer_height=342 dpi_group=2 dpi_mode=87 dpi_output_format=0x76017 dpi_timings=512 0 14 178 0 342 0 0 4 24 0 0 0 60 0 15667200 1 dtoverlay=max98357a dtparam=audio=off disable_overscan=1

CRT Timing Breakdown

ParameterValue
Resolution512 × 342
Refresh60.15 Hz
Pixel clock15.667 MHz
H total704 pixels (512 active + 14 front porch + 178 sync)
V total370 lines (342 active + 4 sync + 24 back porch)

Audio Configuration

The dtoverlay=max98357a line in config.txt enables the I2S audio driver. The MAX98357A uses three GPIO pins:

  • GPIO 18 (pin 12): I2S bit clock (BCLK)
  • GPIO 19 (pin 35): I2S word clock (LRCLK)
  • GPIO 21 (pin 40): I2S data out (DIN)

Create /etc/asound.conf for mono downmix:

pcm.!default { type hw card 0 device 0 } ctl.!default { type hw card 0 } pcm.mono { type route slave.pcm "default" slave.channels 2 ttable { 0.0 0.5 0.1 0.5 } }
8 Wiring & Connections

Overview

There are three connections to make:

  1. Pi → HAT: Plug the Pi directly onto J1 (the GPIO socket on the back of the board).
  2. HAT → Analog board: Connect J2 to the analog board using the 14-pin Molex cable salvaged from the original logic board.
  3. HAT → Speaker: Wire the speaker to J4 with a short 2-wire cable.

Connecting the Pi

The Raspberry Pi 4 plugs directly onto the back of the HAT board via the 2×20 GPIO socket (J1). Align pin 1 (marked on both the Pi and the HAT) and press firmly until seated. The Pi hangs off the back of the board, supported by the standoffs.

Molex Cable to Analog Board

The 14-pin Molex Micro-Fit cable carries video, sync, power, and ground between the HAT and the Mac SE analog board. If you're reusing the original cable from the logic board, it plugs directly into J2.

If crimping a new cable, use Molex Micro-Fit 3.0 receptacle housing (P/N 43025-1400) and female crimp pins (P/N 43030-0007).

Speaker

Solder a short 2-wire cable from the speaker terminals to J4 on the HAT. Polarity doesn't matter for a basic speaker — either wire to either pin.

Mount the speaker in the original Mac SE speaker cavity. The Misco 57SN08-2 (57 mm, 8Ω) is a drop-in fit.

MAX98357A Module

Plug the Adafruit MAX98357A breakout board onto J3. Make sure pin 1 (VIN) aligns with pin 1 on the header.

Power

The Pi is powered directly from the Mac SE's built-in power supply — no separate USB-C supply needed once installed. The analog board provides +5V on J2 pins 12–13, which flows through the HAT's +5V rail to the Pi's GPIO 5V pins (pins 2 and 4).

The Mac SE analog board's +5V rail is rated for 6A. With the original logic board removed, the entire budget is freed up. The Pi 4 + HAT draws ~1.6A worst case — well within capacity. Flip the Mac SE power switch and everything comes on together.

For initial setup (flashing the SD card, configuring Wi-Fi, compiling Basilisk II), power the Pi with a USB-C supply at your desk before installing it in the Mac.

9 First Power-On & Testing
!! Test Without the CRT First !!

Before connecting to the analog board, power the Pi on its own and verify the DPI output is working. If you have an oscilloscope or logic analyzer, check the signals at J2.

Bench Test (Pi only, no CRT)

  1. Plug the Pi onto the HAT.
  2. Do not connect the Molex cable to the analog board yet.
  3. Power the Pi via USB-C (bench power for testing only).
  4. If you have a logic analyzer/scope, probe J2 pins:
    • Pin 9 (VIDOUT): pixel data toggling at ~15.7 MHz
    • Pin 10 (/HSYNC): horizontal sync pulses at ~22.25 kHz
    • Pin 11 (/VSYNC): vertical sync pulses at ~60.15 Hz

CRT Test

  1. Power off the Pi (remove USB-C).
  2. Connect the Molex cable from J2 to the analog board.
  3. Plug the Mac SE into mains power and flip the rear power switch.
  4. The analog board supplies +5V through the Molex cable, powering the Pi via the HAT. The Pi will boot and the CRT should display the framebuffer — console text at 512×342.

From this point on, the Mac SE power switch controls everything. No USB-C needed.

Audio Test

SSH into the Pi and run:

speaker-test -t sine -f 440 -l 1

You should hear a 440 Hz tone through the speaker.

10 Install Basilisk II & Mac OS

Compile Basilisk II

On the Pi (or cross-compile):

sudo apt install build-essential libsdl2-dev git clone https://github.com/cebix/macemu.git cd macemu/BasiliskII/src/Unix ./autogen.sh make -j4 sudo make install

Prepare Disk Image

dd if=/dev/zero of=~/mac/system.dsk bs=1M count=500

This creates a 500 MB blank disk image for Mac OS installation.

Basilisk II Configuration

Create ~/.basilisk_ii_prefs:

rom /home/pi/mac/quadra700.rom disk /home/pi/mac/system.dsk screen dga/512/342 frameskip 1 modelid 5 ramsize 16777216 seriala /dev/null serialb /dev/null ether slirp udptunnel true extfs /home/pi/mac/shared
SettingMeaning
screen dga/512/342Use DPI framebuffer at native Mac SE resolution
modelid 5Emulate Quadra 700 (matches ROM)
ramsize 1677721616 MB RAM for the emulated Mac
ether slirpEmulated Ethernet via SLiRP (gives the Mac TCP/IP)
extfsShared folder visible on Mac desktop for file transfer

Install Mac OS 7.5.5

  1. Place your Mac OS 7.5.5 install disk images and Quadra 700 ROM in ~/mac/.
  2. Add the install disk(s) to .basilisk_ii_prefs as additional disk lines.
  3. Run BasiliskII — it will boot from the install media.
  4. Initialize the 500 MB disk image using Drive Setup in the Installer.
  5. Install Mac OS 7.5.5 to the disk image.
  6. Remove the install disk lines from prefs, reboot into the fresh install.

Network Configuration (Inside Mac OS)

Open the MacTCP or TCP/IP control panel:

  • Connection: Ethernet
  • Configure: Using DHCP
  • SLiRP gateway: 10.0.2.2
  • SLiRP DNS: 10.0.2.3

Auto-Start on Boot

Create a systemd service so Basilisk II starts automatically:

[Unit] Description=Basilisk II Mac Emulator After=multi-user.target [Service] Type=simple User=pi Environment=DISPLAY=:0 ExecStart=/usr/local/bin/BasiliskII Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
sudo systemctl enable basilisk sudo systemctl start basilisk
11 Final Assembly
  1. Mount the Pi + HAT assembly inside the Mac SE case where the logic board used to sit. Use standoffs or a 3D-printed bracket.
  2. Route the Molex cable to the analog board connector. Keep it away from the CRT neck board.
  3. Route the speaker wire and mount the speaker in the original cavity.
  4. No external power cables needed — the Mac SE PSU powers the Pi through the HAT.
  5. Do a final power-on test before closing the case (just flip the Mac SE power switch).
  6. Slide the rear case back on and replace the four Torx screws.
12 Troubleshooting
SymptomCheck
No image on CRT Verify J2 cable orientation (pin 1 to pin 1).
Check U1/U2 power: pin 14/20 = +5V, pin 7/10 = GND.
Verify config.txt has DPI settings.
Run tvservice -s on the Pi.
Image scrambled or rolling Verify dpi_timings values exactly match the config above.
Check HSYNC/VSYNC signals with a scope.
Ensure 74HCT245 DIR pin (pin 1) is tied to +5V.
Image is inverted (white is black) The 74HCT04 inverts the video signal. If still inverted, check that VIDOUT goes through gate 1 (pin 1 → pin 2), not a direct connection.
No audio Run aplay -l — MAX98357A should appear.
Check I2S GPIO connections (18, 19, 21).
Measure SD_MODE voltage — should be ~2.5V (half of VCC from R1/R2 divider).
Check ferrite bead (FB1) and C5 polarity.
Audio buzzing/noise Check C5 (470µF) is properly soldered and correct polarity.
Verify FB1 is in the power path to the MAX98357A.
Try a different USB-C power supply.
Basilisk II won’t start Check ROM file path in .basilisk_ii_prefs.
Verify disk image exists and isn’t corrupt.
Ensure screen dga/512/342 is set.
No network in Mac OS Verify ether slirp in Basilisk prefs.
Check MacTCP/TCP/IP settings.
Test from Pi: ping 1.1.1.1
13 Connector Pinout Reference

J2 — Molex Micro-Fit 3.0 (2×7, to Mac SE Analog Board)

PinSignalDirectionWire Color (stock)
1GNDBlack
2GNDBlack
3GNDBlack
4GNDBlack
5GNDBlack
6NC
7NC
8GNDBlack
9VIDOUTBoard → CRTWhite
10/HSYNCBoard → CRTYellow
11/VSYNCBoard → CRTOrange
12+5VAnalog → BoardRed
13+5VAnalog → BoardRed
14+12VAnalog → BoardRed/White

J3 — MAX98357A Header (1×7)

PinSignalSource
1VIN+5V via FB1
2GNDGround
3SD_MODER1/R2 divider (~2.5V = mono)
4GAINFloating (9 dB default)
5DINGPIO 21 (I2S data)
6BCLKGPIO 18 (I2S bit clock)
7LRCLKGPIO 19 (I2S word clock)

Signal Flow Summary

Raspberry Pi 4B GPIO | |-- GPIO 4 (VIDEO) --> U1 pin 1 --[74HCT04 invert]--> U1 pin 2 --> J2 pin 9 (VIDOUT) |-- GPIO 2 (VSYNC) --> U2 pin 2 --[74HC245 buffer]--> U2 pin 18 -> J2 pin 11 (/VSYNC) |-- GPIO 3 (HSYNC) --> U2 pin 3 --[74HC245 buffer]--> U2 pin 17 -> J2 pin 10 (/HSYNC) | |-- GPIO 18 (BCLK) --> J3 pin 6 --> MAX98357A |-- GPIO 19 (LRCLK) -> J3 pin 7 --> MAX98357A --> J4 --> Speaker |-- GPIO 21 (DIN) ---> J3 pin 5 --> MAX98357A | +-- +5V (pins 2,4) ----> J2 pins 12-13 (from analog board) +-- GND ----------------> J2 pins 1-5, 8