Arcade game with custom open source hardware where you use a real skateboard to do combos on four metal pads
Go to file
frank 43d7a280bc Merge commit '37cf5a350' 2024-03-05 19:45:27 +00:00
doc add screen to setup diagram 2023-12-22 01:20:50 -05:00
kicad combine kicad projects into single board, update builder manual supplies 2023-01-27 16:45:37 -05:00
lib replaced builder's manual file with links to the wiki in the README 2023-05-17 16:02:41 -04:00
resource - ending screen for versus battles 2024-01-10 21:11:45 -08:00
serial change Arduino pins to 2, 3, 4, 5, remove old serial code, update builder's manual 2023-01-25 16:09:07 -05:00
www add canonical url to web page, take down mailman API while mailman is broken on the server 2024-03-05 14:42:46 -05:00
.gitignore - ending screen for versus battles 2024-01-10 21:11:45 -08:00
.gitmodules update PGFW repo url 2023-01-25 16:44:23 -05:00
LICENSE.txt update builder's manual 2023-04-25 18:28:02 -04:00 fix for issue of disappearing level select previews after hard reset 2024-01-18 19:41:42 -08:00
OPEN-GAME optionally set SDL video driver to KMS, set GPIO thread to daemon mode 2022-11-30 19:57:01 -05:00 update info about wiki in the README 2023-12-22 01:06:45 -05:00
config - ending screen for versus battles 2024-01-10 21:11:45 -08:00 news section for web site 2023-12-21 23:49:40 -05:00
index.php energy 2018-07-25 22:02:44 -04:00



So, you think you can skateboard, but can you scrapeboard, you slime bag? Scrapeboard is a DDR inspired alt control game that uses a real skateboard deck instead of your feet. Do you have the moves to skate through a gauntlet of goons all the way to Tony Hawk?


This README file is for setting up and using the code repository. For more general information on how to operate or build Scrapeboard, see the wiki.


The standard controller is a custom platform combined with a modified skatedeck, seen in the above GIF. It can be built using the instructions in the builder's manual and attached to an Arduino. Custom interfaces can be created using an Arduino or Raspberry Pi.

There is also keyboard support built-in. It is meant for testing, but the game can be played with it.


See the software chapter of the Builder's Manual for more detailed instructions

The software requires Python, Pygame, and a custom Python game framework PGFW. The Python version should be 3.9 or higher. The Pygame version should be 1.9.6 or higher. PGFW is a submodule of this repository, so it can be cloned simultaneously using the --recursive flag. Python and Pygame can be installed on any operating system, including Windows, OS X, and Linux.

Installing Python will usually install Python's package manager PIP as well. PIP can be used to install Pygame by running the following from your terminal (for example, PowerShell on Windows).

pip install pygame

Once you have Python and Pygame installed, run the following to download Scrapeboard and PGFW

git clone --recursive

If you have an Arduino connected with the circuit and program prepared, run this to start the game. If the Arduino is not prepared yet, see below.

python OPEN-GAME

If you are using a Raspberry Pi, run this instead. The Pi should have a circuit installed to its GPIO pins. See below for details.

python OPEN-GAME --pi

To run the game in keyboard mode anytime, use the following

python OPEN-GAME --no-serial


See the electronics chapter of the Builder's Manual for more detailed instructions

To run the game using the custom skateboard and metal pads, the Arduino attached to the pads must be plugged into USB, and the pyserial package must be installed on the computer.

If you have Python Package Installer, you can run this to install pyserial:

pip install pyserial

The Arduino must be loaded with the serial program and connected to USB. The game will try to detect the Arduino, but if that does not work, the device location of the Arduino can be specified in the config file.

If you don't have the board, pad and Arduino, you can test the game using keyboard-only mode.

Raspberry Pi

Raspberry Pi GPIO input is also supported. See the Raspberry Pi chapter of the manual for how to install Scrapeboard on a Raspberry Pi. Once the circuit is in place, the game will be able to detect GPIO input. Run with the --pi flag to activate Raspberry Pi mode.

./OPEN-GAME --pi


For testing, there is keyboard input. To run in keyboard only mode use:

./OPEN-GAME --no-serial

The O, P, L, and ; keys simulate the dance pads and your fingers simulate the board

 ___ ___
|  O|  P|  <-- These keyboard keys correspond to the floor pads
|___|___|      O = top left pad, P = top right pad, L = bottom left pad, ; = bottom right pad
 |  L|  ;|

Arrow keys also work

UP    = top left pad
RIGHT = top right pad
DOWN  = bottom left pad
LEFT  = bottom right pad

Other keys

  • The Z key is a shortcut for reset (F8 also resets).
  • The A key force resets the connected Arduino (or does nothing if no Arduino is connected).


The full list of configurable values is in the config file. There are also command line flags that can override config values. Use the help flag to see the possible values:

python OPEN-GAME -h

The --minimize-load-time flag can be useful when testing because it sacrifices some effects to load the game quickly.


Original Scrapeboard code is released without restriction on copying, modifying, or selling, under the zlib license. Art, sound, text, and schematic assets are released under CC BY 4.0. Users are licensed to modify Scrapeboard and even sell their modifications. Scrapeboard code and assets can be used in other projects, even closed source ones. Use of the assets requires attribution is given to Scrapeboard for the original assets. If the source is distributed, the zlib license must be included as the license for the original code. The full license is in LICENSE.txt.

PGFW is included under its zlib license.


Send us a donation through Ko-fi!

Donate at Ko-fi


More information is available at the website. Email us at scrape (at) nugget (dot) fun.