
C64 Emulator for T-HMI
A Commodore 64 emulator running on the LILYGO T-HMI's 2.8-inch touchscreen with BLE and web-based keyboard input, joystick support, SD card D64 disk images, and classic game playback.
Overview
This project turns the LILYGO T-HMI into a fully functional Commodore 64 emulator. The 2.8-inch LCD is rotated to 320×200 pixels — the exact resolution of the original C64 — and the ESP32-S3 handles 6510 CPU emulation, VIC-II graphics, and SID-compatible audio in real time.
Keyboard & Controls
Because the T-HMI lacks a physical keyboard, two input methods are provided. A custom Android app connects over BLE and sends keystrokes wirelessly. A web-based keyboard interface is also served over WiFi for use from any browser on the local network. Joystick support covers wired connections via Arduino joystick shields as well as a BLE wireless joystick mode.
Storage & Games
D64 disk images stored on the T-HMI's SD card slot can be loaded directly into the emulator. Classic titles like Donkey Kong and Frogger run out of the box. The project has been expanded to also run on the T-Display S3 AMOLED, Waveshare ESP32-S3-LCD-2.8, and CYD boards.
Build Details
Written in C++ (Arduino framework), with 31 GitHub stars and active issue tracking. The repository includes full class diagrams and wiring guides for joystick connections.







