Seiko uc-2000 reverse engineering
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Transmitters
UC2000Keyboard
ads
apps
axasm
docs
misc
rom
ucDisassembler
README.md

README.md

Seiko uc-2000 reverse engineering

This is a project to restore of instruction set for Seiko UC-2000 and analogs. The goal of this project is to write first third-party application (even more - first program in more than 30 years) for these early smart watch.

Wiki/Instruction Set
Instruction Set that I was able to recover.

./rom
Contains 5 applications from the original ROM that came with the UC-2200. These files were taken from http://www.sigma957.org/datagraph.html

./docs
Manuals and other documents.

./ads
Scans of ads and magazine cuttings.

./axasm
Assembler for Seico Cal. UW01, I used axasm by Al Williams (https://github.com/wd5gnr/axasm)

./ucDisassembler
Very simple disassembler, but without which I would not have managed (Source code of applications from the ROM are in ./rom/disassembled)

./apps
Programs written by me. Now there's Tetris and Watch face pack, see demo video

./Transmitters
Firmware sources for the PC -> Watch wireless interface, and the application for Windows based on http://www.sigma957.org/datagraph.html

Simple Arduino Nano-based transmitter

Nano based scheme The sketch is here, I used IDE v1.8.5.

After assembling the scheme and uploading the sketch, you can run the UC2000Com app (for Windows), with which you can upload programs to your Seiko or simply use it as an external keyboard.

For example, the assembled circuit may look something like this:

Seiko placed directly on the coil.

./UC2000Keyboard
Source code of the application for Android emulating UC-2100 keyboard, in which to transfer data to the watch using phone speaker coil. Due to frequency limitations (the application transmits at 16384Hz, while the native frequency is 32768Hz) the transmission comes with a significant number of errors - at best 10-20%. This app on Google Play

Summary:

  • Restored and documented most of the processor instructions;
  • Written an assembler on the basis of AXASM;
  • Written a simple disassembler;
  • Written a two apps - Tetris and the set of custom faces;
  • Made a device to connect the watch to the PC;
  • Written an emulator of UC-2100 keyboard for Android phones.

Tetris demo
Video

Face pack demo
Video

UC2000 Keyboard demo
Video