3D Printed Mini Retro Computers


Use Adafruit HalloWing to make a mini Mac with images with sounds. 3D print a mini Mac for the speaker and display! Play the classic chime sounds from various Mac OS versions. A desktop toy that evokes nostalgia or prank device for co-workers? You decide!

The HalloWing PCB press fits into the face plate without screws and snap fits into the case. Speaker is housed in a back door with a working hinge. Parts 3D print without any supports!

No soldering necessary! HalloWing is pre-assembled and speaker is wired so it's plug-n-play! 3D print the case and snap fit everything together for easy assembly.

Circuit Python Code

Adafruit's CircuitPython is great for making slide show galleries that playback audio and display images. Use the capacitive touch pads on the HalloWing for input commands. You can rapidly update your code without having to compile and there's plenty of libraries, examples and support. Store plenty of images and audio assets on the built-in 8Mb SPI flash storage.

Prerequisite Guides

If you're new to Adafruit Feather, CircuitPython or soldering, take a moment to walk through the following guides to get you started.


This project uses the Adafruit HalloWing M0 Express and a mini oval speaker. The speaker has a molex pico connector so it's plug-in-play!

Video of a blinking eye on a Adafruit HalloWing M0 Express.
This is Hallowing..this is Hallowing... Hallowing! Hallowing! Are you the kind of person who doesn't...
Out of Stock
Mini Oval Speaker with pico blade connector
Hear the good news! This wee speaker is a great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like...
Out of Stock

Author Notes:

My first computer was an Apple Mac Performa 6300. I remember attempting to fix a Macintosh 128k in middle school because I told my teacher I owned an Apple computer. I was not able to get it running.

Phil Torrone (Mr. Ladyada) comes up with the best project ideas!

a hallowing that just plays a sound and image of the mac it came from. the enclosure is a mac

Circuit Diagram

This provides a visual reference for wiring of the components. They aren't true to scale, just meant to be used as reference. This diagrams was created using Fritzing software.

Adafruit Library for Fritzing

Use our Fritzing parts library to create circuit diagrams for your projects. Download the library or just grab the individual parts. Files are hosted on our github repo linked below.


The Adafruit HalloWing M0 Express can be powered via USB or JST-PH using a 3.7v lipo battery. In this project, USB power is used. Optionally, a 500mAh battery can be used to make it portable – Also fits nicely inside the case. The lipo battery is rechargeable via the USB port on the Adafruit HalloWing M0 Express.

Circuit Python Code

The code for this project was developed using Adafruit's CircuitPython and documented in John Park's tiny museum project. Head on over there and follow the tutorial to setup CircuitPython on your HalloWing M0 Express.

Mu: Python IDE

Check out the Mu Python editor for writing CircuitPython code you can easily save and load to your Adafruit supported hardware. Use the built-in serial console for debugging and the plotter for visualizing data. Download the software and check out the learn guide for installation help.

Mac Media Assets

Once you have CircuitPython installed and setup on the HalloWing M0 Express, you can download the assets for this project. This includes bitmap images of the Mac OS boot screens and chime audio wav files. These are included in the download link in the 3D printing page.

Upload Media Assets

Download the .zip file, and then uncompress it. Drag the .bmp and .wav files onto your HalloWing – CIRCUITPY. They must be at the top level of your HalloWing, not inside a folder.

Make sure the code.py and adafruit_slideshow.mpy files have been copied over.

Creating Custom Assets

The tiny museum project also covers how to create custom images and audio assets. If you're interested in creating your own assets for this project, be sure to walk through this page.

The Mac OS chime sounds were recorded from this YouTube Video. It also has "crash" sounds.

The Mac OS boot screens were found in this blog post that features several others.

Reboot and Play Chimes

The capacitive touch pads are used to advance to the next image or the previous image. The code looks for .bmp files to play -- when it finds one it then parses that filename and looks for a .wav file with the same name. For example, macos8.bmp would cause the code to look for a macos8.wav file to play.

3D Printed Parts

Parts are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts are listed below with file name and description. Parts require tight tolerances that might need adjusting slice setting. Reference the suggested settings below.

Print-In-Place Hinge

The STL file named hallowmac-case-back features a back door panel with a print-in-place hinge – This allows the panel to swing open and shut closed. The door panel is designed to house the min oval speaker. Tolerances in the hinge are designed to print using FDM 3d printers. 

Parametric 3D Object

3D print the hinge-tester.stl file before printing the hallowmac-case-back.stl. See how the tolerances are and adjust slice settings if necessary. The door hinge in this project inspired me to create a parametric model that can be used in future projects. Here's a short video demonstrating how to scale up the hinge mechanism using Fusion 360's user parameters.

Simple Enclosure

The STL file named hallowmac-case does not feature the print-in-place door hinge. 3D print the file named hallowmac-back.stl for the back panel – This houses the mini overal speaker and snap fits into the back of the case. Optionally, a bottom panel cover (hallowmac-bottom.stl) snap fits into the bottom of the case – This could be useful for housing extra components or a lipo battery pack.


Enclosure with print-in-place door hinge


Enclosure with opening in the back. No hinge.


Face plate for case and non-hinged case.


Test print sample of print-in-place hinge.


Bottom panel for non-hinged case.


Back panel for non-hinged case.

Slice Settings

Use these settings as reference. Values listed were used in Ultimaker's CURA 3.X slicing software.

  • 0.2mm Layer Height / 0.4mm nozzle
  • 0.38mm Line Width (inner & outer widths)
  • 40mm/s printing speed
  • 20% infill
  • Supports: No

Design Source Files

The enclosure assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, SAT and more. Electronic components like the board, displays, connectors and more can be downloaded from our Fusion 360 CAD parts github repo.

HalloWing 3D Model

Download the 3d model of the Adafruit HalloWing M0 Express and use it to create new cases, enclosures and props! The design features headers, connectors and the display for making accurate snap fit parts. 

HalloWing Faceplate

The HalloWing PCB is secured to the 3d printed face plate without any machine screws. Four built-in standoffs elevate the PCB and two clips holds it down.





Start by orienting the HalloWing PCB with the face plate. Position the PCB over the faceplate with the screen facing down. Insert the PCB into the clips by sliding it into place – PCB may need to be slightly angled. Press down on the PCB so the pegs in the standoffs go through the two mounting holes.

Connect Speaker

Grab the pico blade connector from the speaker and plug it into the port on the back of the HalloWing. The side with the two distinct tabs faces up with the PCB.

Install Face Plate to Enclosure

Place the speaker over the HalloWing PCB. Line up the faceplate with the case and lay it on top of the opening. Press the faceplate into the case so the lips are inserted. The two edges snap fit and "click" into place.

Install Speaker

Open the back door of the case by pushing it outwards. The inside has a cavity designed to house the mini oval speaker. Place the speaker into the cavity and press down. Optionally, remove the protective backing by peeling it off – Sticky adhesive is lined on the outline.

Close Door

With the speaker secured to the door, close it back up by pressing down on the edge – The nub will engage the latch inside of the case. To reopen press the door open from the inside. Use both hands and fingers to carefully open and close the door, the latch might get damaged if the door is pressed all the way through.

Play Chimes

Touching the capacitive pads on the HalloWing PCB will play the chime and cycle through the different boot screens. Tap and hold to continuously play through all of the assets. 

This guide was first published on Jan 30, 2019. It was last updated on Jan 30, 2019.