A miniature
Macintosh

Recreating the original Macintosh as a tiny, programmable computer — built in 2021 with a 3D-printed enclosure, plug-and-play AI modules, and a compact 1.54‑inch color screen, designed so students can understand, modify, and extend it.

This project is powered by CocoRobo →
Micro Macintosh showing Mac OS boot screen Micro Macintosh showing MacPaint hello screen

Among the many projects I built while starting my education technology company, this one remains a favorite. I worked closely with our mechanical and hardware engineers to bring the project to life, while leading the overall product experience and software implementation — designing and building the interaction layer end‑to‑end, from the on‑device UI to every demo running on it. I also implemented the main system interface that students interact with: a straightforward menu that lets them browse and run built‑in examples on the device, or upload custom programs from our companion web app.

The device runs on a small color screen and hosts experiences ranging from a classic Mac screensaver and a Python REPL to a VNC‑powered remote desktop. Beneath the retro aesthetic, the hardware is genuinely capable — it can run real‑time face tracking, object detection, and other machine learning models, all on a gadget small enough to hold in one hand. It was designed so students could understand, modify, and extend it themselves.

What I enjoyed most was working at the intersection of design and engineering: rapidly turning rough ideas into polished, delightful products. The same combination of fast prototyping, thoughtful craft, and building tools that help people create is what continues to drive my work.

Breadboarding and prototyping the AI modules Process notes & photos →
01

Music Visualizer

A spectrum visualizer that radiates outward from the center of the display, reacting to surrounding sound in real time. The module's built‑in microphone captures audio samples and digitizes them into waveforms rendered on the mini Mac OS interface.

The track playing in the demo is by FKJ, one of my all‑time favorite musicians.

Audio · FFT · Real-time
Pixel camera thumbnail
02

Pixel Camera

Plug a camera module into the top slot — like inserting a cartridge on a Game Boy — and it captures live video at up to 480p. Each raw frame is then run through a pixelization algorithm that intentionally downsamples and quantizes it into a retro, Game Boy Camera–style image — a deliberate aesthetic choice, not a hardware constraint.

Camera · Image Processing
Poem reader thumbnail
03

Poem Reader

A multilingual poetry display that cycles through four poems in Chinese, Japanese, and Korean — rendered using a stripped-down Noto CJK font, compiled into a bitmap header file and loaded from the micro SD card. An art installation that turns the tiny screen into a contemplative, cross‑cultural reading experience.

When I shared the project on Instagram, a friend reached out — he was part of the team at 3type, quietly working on a new pixelized CJK typeface called Dinkie Bitmap. He loved the idea of a tiny device rendering hand-crafted bitmap glyphs on a 240-pixel screen, so I sent him the gadget to experiment with. It was a nice reminder that the most unexpected connections come from sharing work openly.

Typography · CJK · Noto
Hardware specifications — back, side, and front views of the Micro Macintosh

Main Controller

Kendryte K210 — dual-core 64-bit RISC-V @ 400 MHz with FPU, 8 MB on-chip SRAM, KPU neural network accelerator, and FFT accelerator. Wi-Fi via ESP8285 (802.11 b/g/n). Runs MicroPython (MaixPy).

Display

1.54-inch RGB LCD screen, 240×240 resolution. Bright enough to see the tiny Mac OS interface clearly.

Extension Board

Four physical buttons — Left, Right, Select, Restart — for navigating the on-device interface and running demos.

Speaker

Built-in speaker module, rewired and placed just below the screen for audio playback and sound-reactive demos.

Camera Mount

Top-slot cartridge-style hot-plug camera module, supporting up to 480p capture for the Pixel Camera demo.

I²C Data Port

External expansion port for connecting peripherals — keyboards, USB devices, and other hardware extensions.

Power

Internal lithium battery with on/off switch on the back. Two USB-C ports — one for data transfer, one for charging.

Micro SD Card

External micro SD card slot for loading custom fonts, assets, and user programs. Fonts are compiled into bitmap header files and read directly from the card.

Custom Fonts

Supports custom .Dzk bitmap fonts for CJK and Latin text. the Poem Reader uses a stripped Noto CJK font compiled into a bitmap header file and loaded from SD.