Tin Bot
An Arduino robot with an LCD face, ported to a 3D web and Android app that runs his original firmware.
Tin Bot started as a real robot: an Arduino with a 16x2 character LCD for a face, two servo arms, a joystick on his head, a distance sensor and a buzzer. His eyes are custom characters, redrawn on the fly to blink, look around and change mood.
The virtual Tin Bot is a near line-for-line port of that Arduino sketch to TypeScript, built with Expo so the same code runs as a web app and an Android app. It has every eye bitmap, all 27 weighted idle animations, the three wake-ups, the start-up sounds, the wave, the happy hearts and “You Are My Sunshine” with the scrolling notes, all with the original timings.
Under it is a small emulator of the LCD chip, including its eight custom character slots. Redefining a character changes it on screen at once, like on the real chip, and the eye animations depend on that. The 3D model is drawn with react-three-fiber, and the LCD is painted dot by dot into a texture, with the short fade a real LCD has.
Things to try
- Power switch: flip the lever on his side and he wakes up with a random start-up sound.
- Distance sensor: hover over it, or tap it, and he waves.
- Joystick: wiggle the knob on his head for heart eyes and the happy tune, or click it and he sings.
The Tin Bot on the homepage of this site uses the same bitmaps. Click him three times quickly.