This page contains links to various tools, utilities and samples of pre-made art for use in your GAMBY games.


Here are a set of tools and utilities to assist you in creating content for GAMBY.

Downloadable Tools

The official set of GAMBY content creation tools can be downloaded from GitHub. There are currently two tools: CharEdit for creating and editing fonts, and for processing images.


CharEdit is the font editing tool, and is located in It requires Processing, an open-source visualization language/environment on which the Arduino software is modeled, which is available for Mac, Windows and Linux.

CharEdit has some built-in help which should help you through most of it. Further documentation is pending.

Note: The current version of is somewhat broken. A fix is pending. is a multi-purpose Python script for converting images into icons, sprites, and block palettes into Arduino code. It also has the (limited) ability to convert code back to GIF images. The file can also function as a module which can be imported into your own Python code. requires Python 2.6 or 2.7 and the Python Imaging Library (PIL) or equivalent (e.g. Pillow).

Used as a stand-alone utility, has some built-in help which can be brought up by using the '--help' (or '-h') option:

python --help also contains doc comments for when it is used as an imported module.

Web-Based Utilities

There is currently only one browser-based tool for GAMBY: the Pattern/Block Editor.

Pattern/Block Editor

The Pattern/Block Editor is a simple utility for generating the code for a 4x4 pixel bitmap as used as blocks in GambyBlockMode and as fill patterns in GambyGraphicsMode. It requires JavaScript and a browser that supports the <canvas> element, such as recent versions of Firefox, Chrome or Safari (although it runs very poorly in Safari).

Ready-to-Use Art (block palettes, sprites, etc.)


todo: this


For the sake of saving space, the data for each of these sprites is in decimal format.

Invaders from Space

Some classic pixelated enemies. Each has two variations: two frames of simple animation. They have different widths but are all 8 pixels high; you can turn them into GambyTextMode icons by removing the height (the 2nd number).

invader1 (animated)
PROGMEM prog_uchar invader1_1[] = {
  8, 8, 152, 92, 182, 95, 95, 182, 92, 152 };
PROGMEM prog_uchar invader1_2[] = {
  8, 8, 88, 156, 118, 159, 159, 118, 156, 88 };
invader2 (animated)
PROGMEM prog_uchar invader2_1[] = {
  11, 8, 112, 24, 125, 182, 188, 60, 188, 182, 125, 24, 112 };
PROGMEM prog_uchar invader2_2[] = {
  11, 8, 142, 152, 125, 54, 60, 60, 60, 54, 125, 152, 142 };
invader3 (animated)
PROGMEM prog_uchar invader3_1[] = {
  12, 8, 156, 158, 94, 118, 55, 95, 95, 55, 118, 94, 158, 156 };
PROGMEM prog_uchar invader3_2[] = {
  12, 8, 28, 30, 94, 246, 183, 95, 95, 183, 246, 94, 30, 28 };

Note that these are not automatically animated; each invader's two 'frames' are separate sprites. The animated GIFs are intended to show what it could look like.

Patterns and Block Palettes

todo: this