TILT-A-TRON

A pocket-watch game console for the Waveshare ESP32-S3-Touch-AMOLED-1.75 round display. Tilt it, turn it, tap it. Eleven games made for a round screen, and every one of them is a file you can take off, put back, trade - or write yourself. Install it from this page in about a minute.

Seven round screens: Grand Prix, Breakout, Sky Jump, the home carousel, Sleepy Star, Skater Girlz and Echo
INSTALL FROM YOUR BROWSER
This browser can't talk to USB devices. Use Chrome or Edge on a desktop computer.
This page has to be served over HTTPS to flash a board.
firmware: loading…

HOW TO INSTALL

  1. 1
    Use Chrome or Edge on a desktop computer.
    Flashing uses Web Serial, which phones, Safari and older Firefox don't have.
  2. 2
    Plug the watch in with a USB-C cable that carries data.
    Many charging cables are power-only. If no device shows up in the list, try another cable.
  3. 3
    Press FLASH TILT-A-TRON and pick the port (it shows as "USB JTAG/serial debug unit" or a COM port).
    It writes the bootloader, partition table and firmware. About a minute.
  4. 4
    If it can't connect: unplug, hold the small BOOT button by the USB port, plug back in, let go after 2 seconds, and try again.
    That forces install mode and always works, whatever is on the board.
  5. 5
    Done. The first start shows SETTING UP for about half a minute while the watch installs its games, then the home carousel.
    Swipe to pick a game, tap to play, BOOT goes home, double-click PWR to sleep. Turn Wi-Fi on in Settings for clock sync and over-the-air updates.

WHAT'S ON IT

Round Breakout: rings of bricks around a core

BREAKOUT

Rings of bricks. Turn the watch like a wheel; the paddle stays at the bottom.

Marble Maze: a steel ball in a wooden labyrinth

MARBLE MAZE

Tilt a steel ball through generated mazes. Mind the holes.

Grand Prix: an F1 car seen from behind on the grid

GRAND PRIX

The whole watch is the steering wheel. Tip forward for throttle.

Sky Jump: grassy ledges climbing into a blue sky

SKY JUMP

Tilt Hopper up an endless tower, from morning sky to the stars.

Tilt-a-tris: wedge pieces falling onto a round pile

TILT-A-TRIS

Radial block-stacking. The piece hangs from "up"; you turn the pile under it.

Sleepy Star: a laser and rings of walls around a star

SLEEPY STAR

Drag the rings round like the dials of a lock until the laser reaches the red box, and the star wakes up.

Pin Drop: a red ball among pins and bombs on a round board

PIN DROP

Steer a falling ball through the pins into the hole. The rim is live.

Starfall: a fighter in a trench, a raider in the sight, a blast gate ahead

STARFALL

Chase a raider down a trench. Hold it in your sights and tap - and fly through the blast gates. In levels.

Skater Girlz: a skater on a rooftop at sunset, a gap ahead

SKATER GIRLZ

A rooftop skate run with one life. Turn the watch to push, tap to ollie, tap again to kickflip for Aura.

Echo: four coloured pads, one lit

ECHO

Watch the pads light up, then touch them in the same order. One more each round, for as long as you can remember.

Radar: a green radar scope with a sweep line, hits and misses marked on a dot grid

RADAR

Sea battle on a radar scope. Drop a pin anywhere, and the sweep comes round to tell you what was there. Then their radar comes looking for you.

Pocket Watch: a brass pocket-watch face

POCKET WATCH

Five faces, network time, automatic time zone. The one app built into the firmware.

THE MANAGER APP

A desktop app for Windows, macOS and Linux. The watch is on the left and your library - a plain folder of game files - is on the right. Drag a game from one to the other. Taking a game off the watch moves it to the library instead of deleting it, installs show up on the watch without a restart, and your scores are still there when a game comes back.

The manager app: the watch's games on the left, the library on the right

WRITE YOUR OWN

No game is compiled into the firmware - not even ours. A game is a folder of plain C written against one header, an icon, and a few PNGs. One script packs it into a single .tat file, and the manager drops it onto a running watch.

games/mygame/
  game.json      id, name, author, version, accent colour
  mygame.c       includes "tat/tat_api.h" and nothing else
  icon.png       210 x 210
  assets/*.png   sprite sheets

python tools/mktat.py games/mygame
tiltatron-manager install build/mygame.tat

GOOD TO KNOW

WHICH BOARD

Waveshare ESP32-S3-Touch-AMOLED-1.75 (466×466 round AMOLED, CO5300 display, CST9217 touch, QMI8658 IMU, 32 MB flash). Other boards won't work with this firmware.

YOUR DATA

Installing keeps the watch's settings, Wi-Fi, themes, games and scores. Choose "erase" in the install dialog only if you want a factory-fresh start.

THEMES

Make a folder with a 466×466 background.png, send it with the manager app, and pick it in Settings. The watch reloads it on its own. Six ready-made ones are in the repository.

ON THE CHARGER

Double-click PWR to sleep. Plugged in, the screen goes dark and stays dark while Wi-Fi and USB keep working, so an AMOLED left charging overnight is not left lit.

UPDATES

Come back to this page any time to install the latest build, or update over Wi-Fi from the source repository.