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.
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)
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.
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.
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.
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
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.
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.
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.
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.
0.2mm layer height
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.
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!
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.
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
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!)
on on pi, use the following code to test the output of the speakers:
*|amixer cset numid=3 1
speaker-test -t sine -f 600
*|amixer cset numid=3 1
speaker-test -t sine -f 600
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.
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.
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.