Topics

Games
Sound & Music
Watches & Clocks
Wireless
GPS
Power Supplies
Computers
Graphics
Lighting
Thermometers
Educational
Wearables
Test Equipment
Tutorials
Libraries
PCB-Based Projects

By processor

AVR ATtiny

ATtiny10
ATtiny2313
ATtiny84
ATtiny841
ATtiny85
ATtiny861
ATtiny88

AVR ATmega

ATmega328
ATmega1284

AVR 0, 1, and 2-series

ATmega1608
ATmega4808
ATmega4809
ATtiny1604
ATtiny1614
ATtiny202
ATtiny3216
ATtiny3224
ATtiny3227
ATtiny402
ATtiny404
ATtiny414
ATtiny814

AVR DA/DB/DD-series

AVR128DA28
AVR128DA32
AVR128DA48
AVR128DB28
AVR128DB48
AVR64DD14
AVR32DD28

ARM

ATSAMD21
RP2040
RA4M1

RISC-V

ESP32-P4

About me

  • About me
  • Twitter
  • Mastodon

Feeds

RSS feed

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:

TinyCardFront2.jpg

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 Code1.gif, Code2.gif, Code3.gif, 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:

Forest1.gif

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:

RockPaperScissors2.gif

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 CodePlus.gif to increment the score
  • Press Alt - to insert CodeMinus.gif to decrement the score.
  • Press Alt = to insert CodeEquals.gif to reset the score to zero.

These codes don't appear in Play mode.

  • Press Alt ? to insert CodeQmark.gif that displays the score in Play mode.

For example, the following card increments the score and displays it:

RockPaperScissors3.gif

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:

Forest2.gif

  • 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:

TinyCardSave.gif

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:

TinyCardLoad.gif

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:

HelpPage.gif

  • 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.BMPIMAGEB.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:

TinyCardBuiltin.gif

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?
NumberGame.gif Island.gif AnimalQuiz.gif ColourGame.gif
 
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.
TwistyMaze.gif RockCollecting.gif LuckyFifteen.gif RockPaperScissors.gif

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:

SerialUPDIProgSchottky3V.gif

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.


  1. ^ MegaTinyCore on GitHub.
  2. ^ SparkFun FTDI Basic Breakout - 3.3V on Sparkfun.

blog comments powered by Disqus