Cydintosh Turns Your Cheap Yellow Display Into a Macintosh Plus — And Connects it to Home Assistant
Inter-process communication between an emulated Apple Mac and the CYD's Espressif ESP32 drives some clever new apps.
Pseudonymous developer and vintage Apple enthusiast "likeablob" has released an emulator, which turns any Espressif ESP32-based Cheap Yellow Display (CYD) development board into a mini Macintosh Plus — along with a way for the emulated Mac to communicate with the ESP32 and even to connect to a Home Assistant installation.
"Cydintosh [is] a Macintosh Plus emulator port for Cheap Yellow Display board ([Espressif] ESP32), with some little 68k Mac applications," likeablob explains of the project. "Macintosh Plus emulation [is] using umac and Musashi 68k emulator. 240×320 LCD with touchpad emulation for mouse control. Homebrew Mac applications built with Retro68 (Weather, Wi-Fi status, etc.) IPC [Inter-Process Communication] between Mac and ESP32 (Wi-Fi scan, MQTT weather data.)"
The Cheap Yellow Display got its name for three fairly obvious reasons: it's a low-cost display which, at least in the early incarnations, was manufactured on a yellow PCB. Alongside the ILI9341-based 240×320 touchscreen display is an Espressif ESP32 microcontroller, providing wireless connectivity and the ability to run a CYD as a fully standalone system — and in the Cydintosh's case, have it emulate Apple's Macintosh Plus desktop first released back in 1986.
The original Macintosh Plus was built around a Motorola 68000 processor running at 7.8MHz, with 1MB of RAM expandable to 4MB — emulated in software for the Cydintosh. Where the original Macintosh Plus had a 9" 512×342 CRT display, the Cydintosh outputs to the Cheap Yellow Display's on-board 240×320 LCD — a little cramped, perhaps, for many original Macintosh applications, but ideal for the custom apps likeablob has written.
These apps, formatted for a portrait-orientation CYD, include a tool for scanning for available Wi-Fi networks and displaying the current network and assigned IP address, a CYD-specific control panel that can toggle the RGB LED and display backlight, and a weather app that pulls data from an MQTT feed. "[A] Home Assistant automation publishes weather data to MQTT every hour," likeablob explains of this latter feature. "[The] ESP32 subscribes to MQTT topics and stores received data. [Then the] Weather App polls [the] ESP32 via IPC every 30s and renders the data."
The project's full source code is available on GitHub, under the permissive MIT license.