C64 Watch is a customized T-Watch 2020 that was inspired by the Commodore 64 computer. It features a C64 theme and a built-in BASIC interpreter.

Overview

C64 Watch

C64 Watch is a customized T-Watch 2020 that was inspired by the Commodore 64 computer. It features a C64 theme and a built-in BASIC interpreter.

Watch Front Angle Dark

How It Works

I've had a T-Watch 2020 for about a year and haven't found any pre-built software for it that appeals to me, so it has mostly gone unused. I recently took the time to build the software that I want for the watch so that I can start wearing it daily, and the result is C64 Watch.

It has a C64 theme and an authentic-looking font. There is a BASIC interpreter that runs on-device. It is a version of TinyBasic Plus that I modified to work on the T-Watch. Initially, I built it with a slide-out on-screen keyboard, but it was such an awful experience with the tiny screen, that I decided to interact with it via a serial terminal. By plugging the watch into a computer via USB and firing up a terminal, then tapping on the BASIC menu option, you can interact with the interpreter in real time.

I'd definitely like to build more features in the future. I'm thinking about adding an emulator so that I can play C64 games on the watch. It should also be possible to ditch the USB cable and interact with the BASIC interpreter over WiFi via a web page without too much trouble. I hope other Commodore fans that like C64 Watch will also contribute new features.

To Install

  • Add the official T-Watch Library to Arduino IDE.
  • Copy this and this in to the src/imgs/ folder within the library.
  • Open c64_watch.ino in Arduino IDE.
  • Plug the T-Watch 2020 in to your computer via USB, and click Sketch->Upload.

Media

YouTube: https://www.youtube.com/watch?v=XGAHCkhrV2w

Unfortunately it is difficult to take good pictures of displays such as this one, so it doesn't really capture how nice it looks in person.

Main screen: Watch Front

Watch Front Angle

Menu, showing BASIC icon: Watch Front BASIC

Detail: Watch Front BASIC

Bill of Materials

  • 1 x Lilygo T-Watch 2020

About the Author

Nick A. Bild, MS

You might also like...
CSC404: Computer Graphics [CG] & CSL402: Computer Graphics Lab [CG Lab] Semester IV

COMPUTER-GRAPHICS-AND-COMPUTER-GRAPHICS-LAB CSC404: CG & CSL402: CG LAB [SEMESTER IV] Syllabus CG - Reference Books THE WALL MEGA SATISH - AUTHOR CG C

AstoriaCore is a customized Version of AzerothCore and the private source of WaloriaCore by Fractional aka Fred.
AstoriaCore is a customized Version of AzerothCore and the private source of WaloriaCore by Fractional aka Fred.

Community driven Classless MMO Framework. Proudly founded by Lushen and based on AzerothCore and TrinityCore 😄

Linux x86_64 Process Injection Utility | Manipulate Processes With Customized Payloads (beta)
Linux x86_64 Process Injection Utility | Manipulate Processes With Customized Payloads (beta)

K55 - Linux x86_64 Process Injection Utility (C++11) About K55 (pronounced: "kay fifty-five") The K55 payload injection tool is used for injecting x86

A customized DS213 APP firmware.

DS213_ECHO This is a customized DS213 APP firmware with Roll Mode support. Based on the official app firmware v1.27, and fixed some bugs. What is Roll

A customized LGL Android mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android
A customized LGL Android mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android

PUBG Mobile ESP Mod Menu A customized LGL mod menu, containing ESP only for PUBG Mobile 1.3.0 for Android. Everything are fixed so it works with both

This is customized version of Seagull tool to support MD5 Hash calculation for Diameter Protocol(Digest-HA1 AVP)

This is customized version of Seagull tool to support MD5 Hash calculation for Diameter Protocol(Digest-HA1 AVP)

nanoAOD producer customized for BParking analysis

nanoAOD producer customized for BParking analysis Forked from: https://github.com/CMSBParking/BParkingNANO The focus is on R($\Lambda_{c}^{(*)}$) anal

Make CVE-2020-0668 exploit work for version < win10 v1903 and version >= win10 v1903
Make CVE-2020-0668 exploit work for version win10 v1903 and version = win10 v1903

CVE-2020-0668 Made CVE-2020-0668 exploit work for version win10 v1903 and version = win10 v1903 Diaghub Exploit ( v1903) powershell exploit works

Demo exploit code for CVE-2020-27904, a tfp0 bug.

xattr-oob-swap CVE-2020-27904: a tfp0 bug for macOS 10.15.x and below. Demo exploit code for my talk at BlackHat ASIA 2021. The vulnerability has been

Comments
  • Unable to compile

    Unable to compile

    Hello,

    This is the first thing i try to use using arduino. I run Gentoo linux and version 1.8.7 of the arduino IDE.

    I've followed the instructions(and had to modify the path to lvgl.h) but the build always fails with

    c64_watch:81:15: error: 'class TTGOClass' has no member named 'bl'

    I'm not sure where to go from here.

    Thank you

    opened by grondinm 5
  • Unable to compile

    Unable to compile

    Can't seem to get this to compile. When I open the sketch it crashes with the following while trying to compile

    Arduino: 1.8.13 (Windows 10), Board: "TTGO T-Watch, T-Watch-2020-V1, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 2000000, None"

    c64.c:1:18: fatal error: lvgl.h: No such file or directory

    Multiple libraries were found for "WiFi.h"

    compilation terminated.

    Used: C:\Users\Greg\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi

    Not used: C:\Program Files (x86)\Arduino\libraries\WiFi

    exit status 1

    lvgl.h: No such file or directory

    I have verified the path in the c64.c file is pointed to my document directory and that the file is indeed there but no luck.

    opened by gsargent70 2
  • Display date under the time

    Display date under the time

    I'm not a programmer so I don't know if this is proper. My concern is that it's doing things twice(grabbing the time and returning the time the first time then the date) but i could not get it to do it all at once. Maybe it can't be done and this is the only way or maybe my lack of programing understating is preventing me from doing it.

    I did run with this all day and it did not seem to majorly drain the battery.

    Signed-off-by: Marc Grondin [email protected]

    opened by grondinm 0
Owner
Nick Bild
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.
Nick Bild
Sakura Matou dwm theme

Sakura Matou dwm theme [File di configurazione per dwm a tema Sakura Matou] Contiene: [config.h] Configurazione dwm [blocks.h] Configurazione dwmblock

Marco Fiorillo 1 Jan 19, 2022
Freeze OS is a cross-platform operating system emulator that runs on top of an interpreter called the Freeze interpreter.

Freeze OS is a cross-platform operating system emulator that runs on top of an interpreter called the Freeze interpreter. The operating system code is basically written in the Freeze programming language that is passed to the Freeze interpreter. The idea is to skip instances where the operating system needs to handle low level operators and focus on higher level stuff, like malware analysis, AI, and others.

null 24 May 2, 2022
Samir Teymurov 1 Oct 6, 2021
Feature-limited C64 music playroutine v2

Minimal C64 music player v2 9- or 10-rasterline player with limited featureset. Wave / pulse / filtertables with "next column" instead of jumps Delaye

Lasse Öörni 10 Aug 1, 2022
A patched version of the VICE C64/VIC20/... emulator

VICE Emulator emitting bap-frames traces This is a patched version of the VICE C64/VIC20/... emulator that can emit traces in the bap-frames format, p

Rizin Organization 1 Jan 20, 2022
cbmconvert: create, extract and convert 8-bit Commodore binary archives

cbmconvert: create, extract and convert 8-bit Commodore binary archives cbmconvert extracts files from most known archive file formats that are used o

Marko Mäkelä 7 Nov 27, 2022
Microcontroller based switchless ROM switcher for the Commodore 1541-II disk drive

Retroninja 1541-II Switchless Multi-ROM A microcontroller based switchless ROM switcher for the Commodore 1541-II disk drive. Switch between stock CBM

retroninja 5 Sep 3, 2022
Commodore 64 VIC-II 6567/6569 Replacement Project

This is a WIP. Beta testing is underway on hardware. Check back later for updates. VIC-II Kawari What is VIC-II Kawari? VIC-II Kawari is a hardware re

null 46 Nov 29, 2022
PLP Project Programming Language | Programming for projects and computer science and research on computer and programming.

PLPv2b PLP Project Programming Language Programming Language for projects and computer science and research on computer and programming. What is PLP L

PLP Language 5 Aug 20, 2022