TinyCard Game Maker 2
14th May 2026
This is an updated version of TinyCard, a simple text game maker to allow children to create short adventure games, interactive stories, surveys, or quizzes:

The TinyCard text game maker based on a 160x128 colour TFT display
and an ATtiny3224.
Introduction
Two features that users of the original version of TinyCard Game Maker requested were: the ability to make games with a random element, and the ability to keep a score and display its value. This update addresses these requests:
- You can put multiple codes before a prompt; pressing the corresponding button will jump to one of the cards chosen at random; see Random choices.
- You can now use a score in your games. You can increment or decrement the score, set it to zero, or display the current score on a card; see Score.
There are three new built-in games that demonstrate these new features.
Other improvements
There are also some other miscellaneous improvements:
- You can start a new empty pack with Ctrl N.
- You can display a Help page, giving a summary of the commands, with Ctrl H.
- You can export a text version of a pack to the SD Card with Ctrl E.
- The text formatting and automatic word wrap has been improved.
- The built-in games now use a more compact format, and there are three new built-in games.
The TinyCard circuit
The hardware hasn't changed; as in the original version it's based on a low-cost TFT display controlled by an ATtiny3224 microprocessor. It includes four coloured buttons for interacting with the games, and there's an interface to a keyboard for entering and editing text. An optional SD Card socket lets you save and load games, or give them to friends to play. The whole circuit is powered by two AAA batteries, and they act as a convenient angled stand for the PCB.
For details see TinyCard Game Maker - The circuit.
Using TinyCard
The following description has been updated to include the new features.
TinyCard provides you with 12 cards, numbered 1 to 12, which can contain text, describing your game, and prompts, which will jump to another card when the player presses one of the four coloured buttons.
The set of 12 cards is referred to as a "pack".
TinyCard uses the Ctrl key in combination with another key for program commands, and the Alt key in combination with another key for typing special codes. In each case hold down Ctrl or Alt while pressing the other key.
Edit mode
In Edit mode you can type or edit the text on a card. Each card can contain up to a screenful of text.
To display a card:
- Press F1 to F12 to display card 1 to card 12.
The number of the current card is shown in the top right corner of the card.
You can then type text on the current card with the keyboard. Words wrap automatically to the next line, but you can type a Return to force a new line. You can delete characters with the Backspace key to correct mistakes, or clear the text with Ctrl X.
Prompts
You can include up to four prompts on each card. Each prompt gives a choice in the game which allows the player to jump to another card.
To make a prompt:
- Press Alt F1 to Alt F12 to insert a code
,
,
, etc, where the number is the number of the card you want to jump to. - Follow the code by a prompt to the player.
In Play mode the codes won't appear, and the prompt words will be displayed in colour.
For example, on a card you could write:

Note: don't leave a space between the code and the prompt word.
The prompts will be assigned to the buttons in sequence: red, yellow, green, and blue. So the above example specifies that if the player presses the red button the game will jump to card 4, the yellow button will jump to card 3, the green button to card 6, and the blue button to card 5.
If you want a prompt of more than one word you can put an underscore (Shift -) between each word. The underscores will be shown as spaces in Play mode.
Random choices
You can design a game that jumps to one of several cards, chosen at random, when the player presses a button.
- Put a list of the card codes before the prompt.
For example:

This game will jump to one of the cards 5, 6, or 7, chosen at random, when the player chooses Rock by pressing the red button; similarly for Paper and Scissors.
This feature allows you to make a game that's different each time you play it.
Score
You can use a score in games. The score starts at zero when you enter Play mode.
In Edit mode you can insert the following codes to modify or display the score:
- Press Alt + to insert
to increment the score - Press Alt - to insert
to decrement the score. - Press Alt = to insert
to reset the score to zero.
These codes don't appear in Play mode.
- Press Alt ? to insert
that displays the score in Play mode.
For example, the following card increments the score and displays it:

Play mode
In Play mode you can display the cards and use the four coloured buttons to respond to the prompts on each card.
- Press Esc to see what a card will look like in Play mode.
In Play mode the earlier example will be displayed as:

- Press Esc again to switch back to Edit mode .
The only keyboard keys that work in Play mode are Esc and Scroll Lock.
To play a game
Usually each game will start on card 1, so to play a game:
- Press F1 to select card 1.
- Press Esc to go into Play mode.
You can use TinyCard in Play mode without the keyboard. To get TinyCard to recognise the keyboard again put it to sleep before plugging the keyboard back in.
Saving a pack to SD Card
Although TinyCard can be used without an SD Card interface, the addition of SD Cards adds the ability to save packs to an SD Card so you can play them again at a later time, or give them to a friend to play.
To save the current pack:
- Type Ctrl S.
A screen shows the contents of the SD Card:

The letters shown in white are packs you've saved previously. The letters shown in grey are unused names.
To save the pack:
- Press a letter key, from A to Z, to save the current pack with that letter.
If you choose one of the packs already on the SD Card it will be replaced. Alternatively press Esc or Space to cancel saving.
Loading a pack from SD Card
To load a pack from SD Card:
- Press Ctrl L.
The screen shows the contents of the SD Card:

The letters shown in white are the packs available to load.
- Press a letter key, from A to Z, to load the pack with that letter.
Note that this will replace any pack you currently have loaded in TinyCard. Alternatively press Esc or Space to cancel loading.
Help page
To display a list of the commands:
- Press Ctrl H in Edit mode.
This displays:

- Press any key to continue.
Switching on and off
To switch off TinyCard:
- Press the ON/OFF button.
The display will show Sleeping… and then fade off. Alternatively, TinyCard automatically goes to sleep if you haven't pressed any keys for five minutes. In sleep mode TinyCard retains everything you've created, provided you don't remove the batteries.
To switch on again when TinyCard is asleep:
- Press the ON/OFF button.
Advanced features
These features are designed to help when creating articles about TinyCard, like this article, or when making instructions for your TinyCard games.
Saving screenshots
Pressing ScrollLock saves the current screen as a BMP format image file on the SD Card. This allows you to make printed materials, such as game instructions, showing screenshots. After pressing ScrollLock the screen dims while screenshot is being saved.
The files are named IMAGEA.BMP, IMAGEB.BMP, etc.
Exporting a card
Typing Ctrl E in Edit mode saves a text version of your pack to the SD Card to help debugging a game, or creating a tutorial about writing games.
The files are named EXPORTA.TXT, EXPORTB.TXT, etc.
Key summary
Here's a summary of the special key functions:
In Play mode
| Key | Description |
| Esc | Switches between Edit mode and Play mode. |
| Scroll Lock | Saves a screenshot as a BMP file to the SD Card. * |
In Edit mode
| Key | Description |
| Esc | Switches between Edit mode and Play mode. |
| F1 to F12 | Shows the corresponding card 1 to 12. * |
| Alt F1 to Alt F12 | Enters a code to jump to card 1 to 12. * |
| Alt + or Alt - | Enters a code to increment or decrement the score. † |
| Alt = | Enters a code to set the score to zero. |
| Alt ? | Enters a code to display the score. † |
| Ctrl X | Cuts the text from the current card and saves it on the clipboard. |
| Ctrl C | Copies the text from the current card and saves it on the clipboard. |
| Ctrl V | Pastes the text from the clipboard replacing the current card. |
| Ctrl L | Loads a saved pack from SD Card, A to Z or Esc to cancel. |
| Ctrl S | Saves the current pack to SD Card, A to Z or Esc to cancel. |
| Ctrl B | Loads a built-in pack, 1 to 8 or Esc to cancel. |
| Ctrl N | Starts a new empty pack. Type y to confirm or n to cancel. |
| Ctrl H | Displays the Help page. Press any key to continue. |
| Scroll Lock | Saves a screenshot as a BMP file to the SD Card. * |
* To get F11, F12, and Scroll Lock on some keyboards you have to hold down the Fn key.
† To get + or ? on some keyboards you have to hold down the Shift key.
Built-in games
Playing a built-in game
TinyCard includes six built-in games. You can load these even if you don't have an SD Card.
To load a built-in game:
- Press Ctrl B.
A screen shows how many packs are available:

Press a number key from 1 to 8 to load the pack. Note that this will replace any pack you currently have loaded in TinyCard.
Alternatively press Esc or Space to cancel loading.
The built-in games
| 1 - Number Game Think of a number and see what result you get. |
2 - The Island Can you find the treasure on the island? |
3 - Animal Quiz Test your knowledge of animals. |
4 - Colour Game Can the game guess your favourite colour? |
![]() |
![]() |
![]() |
![]() |
| 5 - Twisty Maze Escape from the maze. |
6 - Rock Collecting See how many rocks you can collect. |
7 - Lucky Fifteen Can the game guess your number from 1 to 15? |
8 - Rock Paper Scissors Play the traditional game of Rock Paper Scissors. |
![]() |
![]() |
![]() |
![]() |
For details of how to add your own built-in packs see the original article: TinyCard Game Maker - Adding your own built-in packs.
Compiling and uploading
The procedure for compiling and uploading the program is the same as for the original version of TinyCard:
Compile the program using Spence Konde's MegaTiny Core [1]. Choose the ATtiny3224 (No bootloader) option under the ATTinyCore heading on the Board menu. Then check that the subsequent options are set as follows (ignore any other options):
Chip: "ATtiny3224"
Clock Speed: "10 MHz internal"
The 10MHz clock rate ensures operation of the processor down to 2.6V.
The recommended way to upload the program is to use a 3.3V Serial board, such as the SparkFun FTDI Basic board [2] connected with a Schottky diode as follows. You can substitute a 4.7kΩ resistor for the Schottky diode:

If you have batteries fitted in TinyCard don't connect the +3.3V from the USB to Serial Board to the TinyCard 3V pin.
- Set Programmer to the first of the "SerialUPDI - 230400 baud" options.
- Select the USB port corresponding to the USB to Serial board in the Port menu.
- Choose Burn Bootloader to set the fuses.
- Then choose Upload from the Arduino IDE Tools menu to upload the program.
Resources
Here's the updated TinyCard program: TinyCard 2 Program.
- ^ MegaTinyCore on GitHub.
- ^ SparkFun FTDI Basic Breakout - 3.3V on Sparkfun.
blog comments powered by Disqus








