Machines › Handheld Gaming › TinyCircuits › TinyCircuits Thumby
TinyCircuits Thumby
2021
The Thumby (TinyCircuits, 2021) is a keychain-sized game console barely larger than a thumb. It has a 72x40 one-bit SSD1306 OLED screen, a d-pad with A and B buttons, and a piezo buzzer, and is built around a Raspberry Pi RP2040 (a dual ARM Cortex-M0+). It runs MicroPython with the open-source Thumby game API.
TinyCircuits Thumby Online Emulator
Play TinyCircuits Thumby using JavaScript directly in your browser.
Controls
The TinyCircuits Thumby — a tiny keychain game console — emulated down to the chip: a real Raspberry Pi RP2040 (dual ARM Cortex-M0+) on Uri Shaked's rp2040js, booting the official MicroPython firmware with the open-source Thumby API and a real game loaded from a littlefs flash filesystem. The 72x40 1-bit OLED is rendered from the SSD1306 command/data stream the firmware clocks over hardware SPI; the d-pad and A/B buttons drive the real GPIO pins; the piezo buzzer (PWM) is synthesised to the Sound button. Use the arrow keys for the d-pad and Z / X for A / B (or the on-screen pad). Press Sound to unmute. Pick a game from the menu. Open the debugger to single-step the Cortex-M0+, read/write r0-r15 / xPSR, disassemble the XIP flash and boot ROM, and set breakpoints and write-watchpoints over the real RP2040 memory map. Click the panel first so it captures the keyboard.
The TinyCircuits Thumby — a tiny keychain game console — emulated down to the chip: a real Raspberry Pi RP2040 (dual ARM Cortex-M0+) on Uri Shaked's rp2040js, booting the official MicroPython firmware with the open-source Thumby API and a real game loaded from a littlefs flash filesystem. The 72x40 1-bit OLED is rendered from the SSD1306 command/data stream the firmware clocks over hardware SPI; the d-pad and A/B buttons drive the real GPIO pins; the piezo buzzer (PWM) is synthesised to the Sound button. Use the arrow keys for the d-pad and Z / X for A / B (or the on-screen pad). Press Sound to unmute. Pick a game from the menu. Open the debugger to single-step the Cortex-M0+, read/write r0-r15 / xPSR, disassemble the XIP flash and boot ROM, and set breakpoints and write-watchpoints over the real RP2040 memory map. Click the panel first so it captures the keyboard.
The TinyCircuits Thumby — a tiny keychain game console — emulated down to the chip: a real Raspberry Pi RP2040 (dual ARM Cortex-M0+) on Uri Shaked's rp2040js, booting the official MicroPython firmware with the open-source Thumby API and a real game loaded from a littlefs flash filesystem. The 72x40 1-bit OLED is rendered from the SSD1306 command/data stream the firmware clocks over hardware SPI; the d-pad and A/B buttons drive the real GPIO pins; the piezo buzzer (PWM) is synthesised to the Sound button. Use the arrow keys for the d-pad and Z / X for A / B (or the on-screen pad). Press Sound to unmute. Pick a game from the menu. Open the debugger to single-step the Cortex-M0+, read/write r0-r15 / xPSR, disassemble the XIP flash and boot ROM, and set breakpoints and write-watchpoints over the real RP2040 memory map. Click the panel first so it captures the keyboard.
The TinyCircuits Thumby — a tiny keychain game console — emulated down to the chip: a real Raspberry Pi RP2040 (dual ARM Cortex-M0+) on Uri Shaked's rp2040js, booting the official MicroPython firmware with the open-source Thumby API and a real game loaded from a littlefs flash filesystem. The 72x40 1-bit OLED is rendered from the SSD1306 command/data stream the firmware clocks over hardware SPI; the d-pad and A/B buttons drive the real GPIO pins; the piezo buzzer (PWM) is synthesised to the Sound button. Use the arrow keys for the d-pad and Z / X for A / B (or the on-screen pad). Press Sound to unmute. Pick a game from the menu. Open the debugger to single-step the Cortex-M0+, read/write r0-r15 / xPSR, disassemble the XIP flash and boot ROM, and set breakpoints and write-watchpoints over the real RP2040 memory map. Click the panel first so it captures the keyboard.
Configurations
| Configuration | Emulator | Machine | OS | Legal | |
|---|---|---|---|---|---|
| Thumby Bounce (demo) | Thumby | TinyCircuits Thumby | open | Open ⛶ | |
| Silicon8 (CHIP-8) | Thumby | TinyCircuits Thumby | open | Open ⛶ | |
| Pogo Picross | Thumby | TinyCircuits Thumby | open | Open ⛶ | |
| White & Black | Thumby | TinyCircuits Thumby | open | Open ⛶ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| Pogo Picross | game | 0 | open | Download ↓ |
| Silicon8 | game | 0 | open | Download ↓ |
| Thumby Bounce (demo) | demo | 0 | open | Download ↓ |
| White & Black | game | 0 | open | Download ↓ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| Pogo Picross | game | 0 | open | Download ↓ |
| Silicon8 | game | 0 | open | Download ↓ |
| Thumby Bounce (demo) | demo | 0 | open | Download ↓ |
| White & Black | game | 0 | open | Download ↓ |
Downloads — ROMs & software
| Title | Type | Size (bytes) | Legal | |
|---|---|---|---|---|
| Pogo Picross | game | 0 | open | Download ↓ |
| Silicon8 | game | 0 | open | Download ↓ |
| Thumby Bounce (demo) | demo | 0 | open | Download ↓ |
| White & Black | game | 0 | open | Download ↓ |
Chips
Emulators
| Emulator | Type | License | Site |
|---|---|---|---|
| Thumby | online | MIT (rp2040js+MicroPython) · game licenses MIT/GPL-3/CC0 | Website ↗ |