Overview

Build Your Own Mac Pi

Relive the glory days of 128k by making your own Mac Classic, with 3D printing and DIY electronics. A Raspberry Pi Model B and 320x240 mini touch screen display make this an easy-to-build project. In this tutorial, we'll guide you through the steps of printing, building and assembling your own Mac Pi.

This project was inspired by John Badger from RetroMacCast!

How it Works

You can either have a service print the parts for you, or you can print them yourself on a FDM 3D Printer. This project requires minor assembly and soldering. The Raspberry Pi can run a flavour of minivmac and emulates booting into Mac OS 7.  The Mini vMac is an emulator that runs software for early Macs that ran Motorola's 680x0 microprocessors. This project doesn't require original hardware and runs along side raspbian. 

Project Advisory 

Like taking things a part? Have a soldering iron laying around? Have an interest in 3D printing? Then this project is for you! This mega-cool build is ideal for anyone with a bit of maker experience looking for a exceptional weekend project. 

Challenges and Expectations

The most difficult part of the build may lie with the experience of the builder. If you are new to 3D printing and don't own one, you can still make this project by having a 3d printing service make and ship the parts to you. If you are new to hardware like the Arduino and Raspberry Pi, you'll be glad to know there's only a minor bit of soldering and most components just connect together. Keeping this in mind, there are a few things to expect!

The Mac emulator does boot up and can run some basic apps but, there is:

  • Minor Application Support
  • No Audio Support
  • Only Mac 7
  • No Networking
  • Screen Size Cut to 320 x 240 so we can use the PiTFT (original was 512x342)

Prerequisite Guides

We recommend walking through the following guides to get you situated with the Raspberry Pi and the Mini PiTFT 320x240 touch screen display.

Parts & Components

Most of the tools parts and supplies are available in our shop.

Tools & Supplies

3D Printing

FDM 3D Printing

These parts are optimized to print with desktop 3D Printers capable of printing in ABS or PLA material with a minium build area of 100mm x 100mm x 90mm.  The five parts are designed to print without any support material. 

Parts Breakdown

macpi-body.stl
This is the largest part and has four stand-offs on the top and bottom for inserting magenets. The macpi-front.stl and macpi-back.stl parts snap onto the body for easily accessing the internal components.

macpi-front.stl
The front bezel of the design features three stand-offs with 1.5mm mount holes for securing the PiTFT display with #4-40 machine screws. This part features four stand-offs in the corners for inserting magnets. This part snaps to the macpi-body.stl part

macpi-back.stl
A stereo amplifier is mounted to this part with two #40-40 screws. A panel mount HDMI cable is secrued to this part for accessing HDMI out on the Raspberry Pi. 

macpi-base.stl
The battery and powerboost 500c are housed in this part. It is secured to the side of the macpi-body.stl part that has four mounting holes. #4-40 screws secure the macpi-base.stl and macpi-body.stl part together. 

macpi-bottom.stl
The powerboost 500c is mounted to this part with 2 #4-40 machine screws. This part is secured to the macpi-base.stl part with 4 #4-40 screws.

PLA or ABS?

We recommend printing the parts in PLA material. ABS prints tend to warp especially with surfaces that feature filets and chamfers. Use either 1.75mm or 3mm diameter filaments, which ever your printer is optimized for. 

Slicer Settings

The slicer settings are going to vary from printer to printer, but we recommend using the settings below as a reference for tweaking the settings. The slicing settings was generated using MakerWare and the prints were tested on a makerbot Replicator 1 and Replicator 2.

macpi-back.stl
macpi-base.stl
macpi-body.stl
macpi-bottom.stl
macpi-front.stl

PLA @230c
2 shells
10% infill
0.2mm layer height
90/120 speeds

 

Takes about 6-8 hours to print all parts.

Don't Have a 3D Printer? 

Your neighbor or local hackerspace might have a 3D printer you can 'borrow'. There are a few great services that can print the parts out and ship them to you. Check out these below or consult your own google search.

  • Shapeways
  • Sculpteo
  • i.materialise
  • 3DHubs
  • MakeXZY

Customization

Like Modding CAD?

We encourage you to customize the enclosure to fit your project. Maybe you don't want to use magnets and would rather use machine screws all the way through. Our original solids were created in AutoDesk 123D Design and are available to modify, edit and download. 

Learning How-to use 123D Design

123D Design is an easy to use, free CAD software from Autodesk, that is avilable in most platforms. It has an intutive interface and powerful features that are optimized for designing parts for 3d printing. There are plently of tutorial videos on youtube and we have a great list on our blog, everything from learning the interface to using the features.

Using Different Components

Open source design means you're totally free to use whatever components you can find. We recommend using our components because we can offer support if an item is damanged or broken. 

Colors and Branding

The beauty of 3D Printing is you can print it in any color you want or change the color with a little spray paint. Our design features the Raspberry Pi logo and includes the Adafruit logo on the base. If a little STL hacking, you can add your name or logo to any part!

Circuit Diagram

We'll building this mini mac so it can be self contained. We'll need a battery pack for that! The 6600mAh pack is big but will run the setup for about 15 hours (or less if you add wifi and other accessories)

A PowerBoost 500 brings the LiIon pack voltage up to 5V and even has a spot for an on/off switch

Power Circuit for the Raspberry Pi Model B

The circuit diagram above is a illustration reference for powering the Raspberry Pi. A GPIO cable will conneect to the back of the PiTFT display. Wire #2 will need to be soldered to the postive pin on the Powerboost 500C. Wire #6 connects to the negative pin on the Powerboost 500C. The 600mAh lithium ion battery conncets to the JST port on the Powerboost 500C. A slide switch connects to the GND, EN and BAT pins on the Powerboost 500C.

Speakers

Connect the speakers with the following connections:

connect VDD to VBAT on the powerboost 500
connect GND to VND on the powerboost 500

see photo for audio connections:
connect R+ or L+ to R or L on the raspberry pi (use thin
blue wire)
and connect R- or L- to Gnd on the raspberry pi (ditto)

solder speaker to amp (L out or R out, whichever you
chose in the last step)

set both switches to ON (lowest gain!)

Test Speakers

on on pi, use the following code to test the output of the speakers:

           *|amixer cset numid=3 1

           then:
           |**||
           speaker-test -t sine -f 600
           ||aplay /usr/share/scratch/Media/Sounds/Animal/Bird.wav*
           *aplay /usr/share/sounds/alsa/Front_Center.wav*

Software

Download the Linux compatible ARM verision of Mini vMac

Download and rename the disk image for the system files by following the instructions on http://misapuntesde.com/

To luanch, make sure to rename hfs20M.DSK to disk1.dsk and that the minivmac app is in the same directory.

Drag and drop the Install 1.image file over top of the minivmac app window to load the installaion disk image. Do the same for the other install disks.

Get software and games on to the disk image by using the networking functions in BasiliskII to transfer files from your desktop to the disk imge on the pi. 

Assembly

Add Magnets to parts

The macpi-front.stl, macpi-body.stl and macpi-back.stl parts were designed to snap together with 1/4 x 1/16 inch Disc N48 magnets. These can be secured to the stand-offs with adhesives.

Always double check the polarity of the magnets! Be careful not to let these snap together, they are brittle and can easy break!

Mount PiTFT to Front Bezel

The macpi-front.stl part has three stand-offs for moutning the PiTFT. Position the PiTFT over the part and line up the mounting holes with the stand-offs.

Secure Mini PiTFT to Front Bezel

Fasten three #4-40 x 3/8" flat phillips machine screws to the mounting holes on the PiTFT.

Prep GPIO Cable

Attach the GPIO ribbon cable to the 2x16 socket on the back of the PiTFT.

Add GPIO Ribbon Cable to PiTFT

Remove the connector on the end of the ribbon cable with wire cutters. Peel apart #2 and #6 wires from the ribbon cable. #1 is the wire with the white stripe.

Secure Base to Body

Join the macpi-base.stl part to the macpi-body.stl part with the large opening facing each other and the mounting holes lined up. Fasten four #4-40 flat philips screws to the mount holes.

Prep Wires for Slide Switch

Measure three 26AWG stranded wire to about 8cm in length. Strip the tips and tin them. Secure the slide switch to a panavise jr. for soldering.

Solder Wires to Slide Switch

Connect the three wires to the slide switch by soldering the tips of the wires to the terminals leads on the slide switch

Seal Wires with Heat Shrink Tubing

Cut three pieces of heat shrink tubing and slide them over each wire to secure the connection with a heating element.

Install Slide Switch to Base

Insert the three wires throught he opening on the macpi-base.stl part with the slideswitch facing the outside

Prep Powerboost 500C for Slide Switch

Secure the Powerboost 500C to panavise jr. for soldering the three wires from the slide switch.

Solder Slide Switch Wires to Powerboost 500C

Solder the three wires from the slide switch to the GND, EN and Bat pins.

Solder Pi GPIO Wires to Powerboost 500C

Use a wire stripper to strip the #2 and #6 wires on the GPIO ribbon cable. 

Powerboost 500C Conencted

Solder the #2 wire to the Postive+ pin and #6 to the Negative- pin on the Powerboost 500C.

Prep JST Cable for Battery

Cut the male JST connector from an extension cable.

Solder JST to Battery

Carefully solder the postive and negiative wire conenctions to the male JST connector.

Mount Powerboost to Bottom Cover

Use two #4-40 flat phillips screws to secure the Powerboost 500C to the macpi-bottom.stl part.

Test Powerboost 500C

Plug in the male JST connetor from the battery to the female JST port on the Powerboost. Slide the switch on to test the power circuit. 

Test PiTFT

Check to see if the PiTFT powers on. If it does, congratulations! If not, double check your solder connections.

Position GPIO Cable into Body

Power off the circuit and unplug the GPIO cable from the PiTFT. Insert it into the base through the macpi-bottom.stl part and out through the macpi-front.stl part

Install Battery to Base

Insert the 6600mAh lithium ion battery into the macpi-base.stl part through the bottom.

Secure Bottom to Base

Position the macpi-bottom.stl part over the bottom of the macpi-body.stl part and line up the mounting holes.Fasten four #4-40 screws to the four mount holes.

Bend Pi GPIO Ribbon Cable

Gently fold over the GPIO ribbon cable so that it's position like in the photo above.

Install Raspberry Pi to PiTFT

Position the Pi over the PiTFT, align up the pins with the connector and press it down to make a complete connection.

Snap on Front and Back

Carefully snap on the front and back parts to the body. The magnets are pretty strong and secure the parts together nicely! It's easy to quickly remove the front or back and get to the internals. 

This guide was first published on Aug 27, 2014. It was last updated on Nov 14, 2018.