update builder's manual supplies and instructions, add introduction

This commit is contained in:
ohsqueezy 2023-01-20 19:40:10 -05:00
parent d0cb0706a7
commit 4a076a72d0
3 changed files with 206 additions and 124 deletions

View File

@ -3,7 +3,7 @@ Code
Original source code is released under the zlib license:
Copyright (c) 2021-22 Frank DeMarco, Blake Andrews, and Dr. Clement Shimizu <scrape@nugget.fun>
Copyright (c) 2018 Frank DeMarco, Blake Andrews, and Dr. Clement Shimizu <scrape@nugget.fun>
This software is provided 'as-is', without any express or implied warranty. In
no event will the authors be held liable for any damages arising from the use of

View File

@ -1,47 +1,86 @@
Scrapeboard Builder's Manual
============================
Scrapeboard is a Dance Dance Revolution inspired alternative controller game that uses a real skateboard deck and metal floor pads for input. Rather than doing moves in time to a rhythm, the goal of Scrapeboard is to do combinations of moves in series as quickly as possible to defeat each level's boss. This manual covers how to build a full Scrapeboard system in sequence from preparing and testing the software to fabricating a controller using a skateboard deck, metal pads and plywood.
Scrapeboard is an alternative controller game that uses a skateboard deck and metal floor pads for input. The goal is to do combinations of moves in series as quickly as possible. This manual covers how to build a full Scrapeboard system. It includes how to install and test the software, how to build the electronics, and how to fabricate a controller using a skateboard deck, metal pads and plywood.
It is intended for a general audience. No coding or fabrication experience is required. The code, electronics, and manual are released as open source, so the resulting system is officially licensed to be modified and used for personal, educational, or even commercial use.
Audience
--------
An accompanying Instructable and video is currently in production.
It is intended for a general audience. No coding, electronics, or fabrication experience is required.
Purpose
-------
The builder's manual was created so more Scrapeboard systems can be built, whether by the core team or other members of the community. With their own Scrapeboard system, players can challenge themselves and their friends outside of events and host their own events. It is released with open licensing so that the finished system is free to be used in any context, including being modified or used commercially in an arcade or bar.
License
-------
The code, electronics, and manual are released as open source, so the system is licensed to be modified and used for any purpose, including commercial. See [LICENSE.txt](../LICENSE.txt) for details.
Introduction
------------
Scrapeboard started in 2017 as a side project of the exhibition STORE 2 at Babycastles, which Frank, Blake, and Clement, the creators of Scrapeboard, worked together on, along with curator Mushbuh and a team of volunteers. The team received a donation of a signed skatedeck from Tony Hawk to be added to the exhibition. After the exhibition, in preparation for MAGFest 2018, Frank and Blake decided, in the tradition of Babycastles, to turn the skatedeck into a game controller with the basic concept of making something similar to Dance Dance Revolution but using a skatedeck instead of the player's feet for input.
The original prototype was created using the skatedeck, cardboard, aluminum foil, copper tape, and a Makey Makey. The skatedeck was turned into a conductive device by applying copper tape to the bottom of the deck and placing it on a platform made of cardboard and layered aluminum foil. In the center of the platform was a cross section of aluminum foil, separated from four other sections of aluminum foil outside the cross section. The four outside sections and cross section were connected to the Makey Makey with alligator clips. This served as a proof of concept for the game and even lasted through multiple events.
The next version of Scrapeboard used four aluminum street signs, a rug, an aluminum sheet, and an Arduino. Four rectangles were cut into the rug to frame the aluminum signs, which were taped to the bottom of the rug with carpet tape. The aluminum sheet was drilled into the bottom of the signed skatedeck. The Arduino circuit was designed using pull-up resistors and a program loop which turned each input low each loop so that it didn't require a ground connection anymore. This version was used for a few years for many events but required a lot of repair and maintenance before and after each event.
A newer model was made in preparation for GDC 2022, using wood, aluminum street signs, steel anchor rings, and the same Arudino circuit. The aluminum street signs were drilled into four pieces of wood which were bracketed together on the underside. The steel anchor rings were fastened to the underside of the skatedeck using machine screws. By the end of 2022, this version had been refined to the point where it could last multiple events without needing repair, a significant milestone for the project because it opened up the possibility of the game being able to run without constant supervision.
Although there are still improvements being worked on, the 2022 model is what this manual is based on and what the instructions will create if the optional sections are skipped. Since that model has proven to be relatively durable, we can recommend the steps to reproduce it as a simple method for Scrapeboard players to construct a system of their own. Further improvements are covered by optional steps and more will likely be added in the future.
Supplies
--------
#### Electronics
* [Arduino][3] or [Raspberry Pi (v4 2GB or higher)][4]
* Desktop or laptop computer (not required if using Raspberry Pi)
* Monitor
* 4 × [birch plywood pieces](https://www.homedepot.com/p/Handprint-3-4-in-x-2-ft-x-4-ft-Birch-Plywood-154148/203504324) pre-cut to 15" × 21" × 3/4" each
* 4 × [metal sheets 12" × 18"](https://www.ebay.com/sch?_nkw=12"+x+18"+metal+sheet)
* HDMI cable
* [Breadboard](https://www.amazon.com/dp/B07LFD4LT6)
* [Jumper wires](https://www.amazon.com/dp/B01EV70C78)
* 4 × [4.7k resistors](https://www.amazon.com/dp/B07QJB3LGN)
* 4 × [5mm screw terminals](https://www.amazon.com/dp/B088LSS14J)
#### Hardware
* 4 × [plywood](https://www.homedepot.com/p/203504324) pre-cut to 15" × 21" × 3/4" each (oak or birch recommended)
* 4 × 12" × 18" metal sheets ([aluminum composite sheet](https://www.homedepot.com/p/308670310) cut into 4 pieces, [street signs](https://www.ebay.com/itm/134245723578), or if insetting with a router, [thin metal sheets](https://www.homedepot.com/p/204225782) are also an option)
* 52 × [Flat-head wood screws #8 × 5/8"](https://www.amazon.com/dp/B08F75F6BV)
* 4 × [#8 washers](https://www.homedepot.com/p/204276449)
* 8 × [Flat metal brackets with 5/8" screws](https://www.amazon.com/dp/B07Z8YLFCN)
* 20' [16 AWG wire](https://www.ebay.com/itm/272488348389)
* [Skateboard deck](https://www.ebay.com/sch?_nkw=blank+skateboard+deck)
* 2 × [Surface-mounted anchor rings](https://www.harborfreight.com/4-piece-surface-mounted-rope-rings-97767.html)
* Drill
* HDMI cable
* [Breadboard](https://www.amazon.com/DEYUE-breadboard-Set-Prototype-Board/dp/B07LFD4LT6)
* [Jumper wires](https://www.amazon.com/Elegoo-EL-CP-004-Multicolored-Breadboard-arduino/dp/B01EV70C78)
* 4 × [4.7k resistors](https://www.amazon.com/EDGELEC-Resistor-Tolerance-Multiple-Resistance/dp/B07QJB3LGN)
* 4 × [5mm screw terminals](https://www.amazon.com/Tnisesm-0-2inch-Terminal-Connector-Spliced/dp/B088LSS14J)
* 52 × [Flat-head sheet metal screws #8 3/4"](https://www.amazon.com/dp/B08F75F6BV)
* 4 × Metal washers
* 20' [16 AWG wire](https://www.ebay.com/itm/272488348389)
* 8 × Brackets ([Flat metal brackets with 5/8" screws](https://www.amazon.com/dp/B07Z8YLFCN) if not using a router or [Latches with mounting screws](https://www.amazon.com/Stainless-Mounting-MERYSAN-Premium-Overall/dp/B07GKHD61X) otherwise)
* [Non-slip floor padding](https://www.amazon.com/dp/B09QS47P21)
* 6 × #10-24 3/4" Flat-head machine [screws](https://www.amazon.com/dp/B08474HKMT) with [hex nuts](https://www.amazon.com/dp/B082D6FV5H)
* 6 × [#10-24 × 3/4" machine screws](https://www.amazon.com/dp/B08474HKMT) with [hex nuts](https://www.amazon.com/dp/B082D6FV5H)
* 5 × [#8-1/2" Wood screws](https://www.amazon.com/dp/B09D952RV5)
* [Thin metal strip](https://www.amazon.com/dp/B00745VXN2)
* [Non-slip floor padding](https://www.amazon.com/dp/B09QS47P21)
* [Carpet tape](https://www.amazon.com/dp/B07H88SWCM)
* [WD-40](https://www.amazon.com/dp/B00IOX8M0A/) (recommended for drilling into metal)
#### Tools
* Drill
* Straight edge
* Pencil
* Measuring tape
* Hot glue gun (recommended)
* Countersink bit (recommended)
* Wire strippers (recommended)
* [WD-40](https://www.amazon.com/dp/B00IOX8M0A/) (recommended)
* Wrench (recommended)
* Screwdriver (recommended)
* Sandpaper (recommended)
* [Carpet tape](https://www.amazon.com/dp/B07H88SWCM) (optional)
* [Router](https://www.amazon.com/dp/B01M0J08MF) (optional)
* [Straight bits](https://www.amazon.com/dp/B09HSVD9H2) (optional)
#### Optional
* Use a [router](https://www.amazon.com/dp/B01M0J08MF) to create insets for the metal panels, inner screws, brackets, and wires
* [3/4" straight bit](https://www.amazon.com/dp/B07ZC974L1)
* Replace 26 of the sheet metal screws with [#10-24 × 5/8" flat head machine screws](https://www.homedepot.com/p/310449137), [#10-24 nuts](https://www.homedepot.com/p/204274479), and [#10 1/2" washers](https://www.homedepot.com/p/204276450)
* Replace flat metal brackets with 8 [latches](https://www.amazon.com/dp/B07GKHD61X) and 32 [#4 × 1/4" round head screws](https://www.homedepot.com/p/204275185)
Preparing a computer
--------------------
@ -51,15 +90,13 @@ Choosing the computer depends primarily on whether an Arduino or Raspberry Pi is
* ordinary desktop or laptop with 2GB or more RAM, along with an Arduino for the electronics
* 2GB RAM or higher Raspberry Pi 4 to run both the game and electronics
There is support built into the game for both Arduino and Raspberry Pi, so the decision can be based on what is available or familiar, and whether or not the game needs to be portable. The Arduino option is a bit more beginner friendly since a personal computer can be used and the Arduino is a beginner friendly electronics platform.
### Non-Raspberry Pi
Systems other than Raspberry Pi don't need special preparation. They are expected to be used as is with an Arduino connected. The OS can be anything that runs Pygame, like a desktop computer or laptop running Windows, OS X, or Linux. It can be used like any ordinary computer by downloading the game software and attaching an Arduino, which will connect to the Scrapeboard pad.
Systems other than Raspberry Pi don't need special preparation before installing the software. They can work as is with an Arduino connected. The OS can be anything that runs Pygame, like a desktop computer or laptop running Windows, OS X, or Linux. It can be used like any ordinary computer by downloading the game software and attaching an Arduino, which will connect to the Scrapeboard pad.
### Raspberry Pi
If using a Raspberry Pi, it must have 2GB or higher RAM, and only the Raspberry Pi version 4 has been tested. This manual covers in detail how to install everything from scratch on an empty SD card using a Raspberry Pi OS Lite.
If using a Raspberry Pi, it must have 2GB or higher RAM, and only the Raspberry Pi version 4 has been tested. This manual covers how to install everything from scratch on an empty SD card using a Raspberry Pi OS Lite.
#### Supplies
@ -75,37 +112,37 @@ If using a Raspberry Pi, it must have 2GB or higher RAM, and only the Raspberry
##### Imager
* Get Raspberry Pi imager from <https://www.raspberrypi.com/software/> and launch it (note: must be run as authorized user)
* Choose `"Raspberry Pi OS (other)" -> "Raspberry Pi OS Lite (64-bit)"` under `"Operating System"`
* Connect your SD card and choose it under `"Storage"`
1. Get Raspberry Pi imager from <https://www.raspberrypi.com/software/> and launch it (note: must be run as authorized user)
2. Choose `"Raspberry Pi OS (other)" -> "Raspberry Pi OS Lite (64-bit)"` under `"Operating System"`
3. Connect your SD card and choose it under `"Storage"`
##### Imager settings tab
* Click the gear button to open the settings
* Check off "Set hostname" and change to "scrapeboard"
* Check off "Enable SSH" with "Use password authentication"
* Check off "Set username and password" and choose your own username and password
* Check off "Configure wireless LAN" and set the SSID and password for your wi-fi network (if wi-fi is unavailable, you can use the Raspberry Pi's ethernet connection or transfer the Scrapeboard files onto the SD card manually later)
* Check off "Set locale settings" and set to your time zone and keyboard layout
1. Click the gear button to open the settings
2. Check off "Set hostname" and change to "scrapeboard"
3. Check off "Enable SSH" with "Use password authentication"
4. Check off "Set username and password" and choose your own username and password
5. Check off "Configure wireless LAN" and set the SSID and password for your wi-fi network (if wi-fi is unavailable, you can use the Raspberry Pi's ethernet connection or transfer the Scrapeboard files onto the SD card manually later)
6. Check off "Set locale settings" and set to your time zone and keyboard layout
##### Begin installation
* Click "WRITE" in the Imager window
Click "WRITE" in the Imager window
#### Boot
* Insert the SD card into the Raspberry Pi
* Connect the Pi to an external HDMI display
* Connect a keyboard
* Power up the Pi
* Login with the username and password set during installation
* Optional: run `sudo apt update && sudo apt upgrade` to update the operating system
* The system is ready for [installing the game software and other software requirements][]
1. Insert the SD card into the Raspberry Pi
2. Connect the Pi to an external HDMI display
3. Connect a keyboard
4. Power up the Pi
5. Login with the username and password set during installation
6. Optional: run `sudo apt update && sudo apt upgrade` to update the operating system
7. The system is ready for [installing the game software and other software requirements][]
Installing the game software and other software requirements
------------------------------------------------------------
These instructions depend on the operating system, so they are divided into different sections per OS.
These instructions depend on the operating system, so each section is divided into subsections by OS.
### Requirements
@ -124,8 +161,8 @@ Most likely Python 3 is already installed. If not, install it from the package m
#### Windows, OSX, other
* Download the appropriate installer from <https://python.org> and follow the system-wide installation instructions.
* If prompted, choose to install pip (the Python package installer) alongside Python.
1. Download the appropriate installer from <https://python.org> and follow the system-wide installation instructions.
2. If prompted, choose to install pip (the Python package installer) alongside Python.
### Git
@ -166,14 +203,17 @@ Install Pygame using the package manager, and it will install Pygame 1.9.6 with
In `/boot/config.txt`
* Comment out the line `dtoverlay=vc4-kms-v3d`
* Set the framebuffer resolution
* `framebuffer_width=800`
* `framebuffer_height=450`
1. Comment out the line `dtoverlay=vc4-kms-v3d`
2. Set the framebuffer resolution by adding these lines to the file
framebuffer_width=800
framebuffer_height=450
##### Pygame 2+ and SDL 2 custom installation
To set the resolution, edit `/boot/cmdline.txt` by adding a custom video definition at the end of the file `video=HDMI-A-1:800x450M@60`.
To set the resolution, edit `/boot/cmdline.txt` by adding a custom video definition to the end of the file
video=HDMI-A-1:800x450M@60
Install initial Pygame dependencies
@ -220,7 +260,7 @@ Build Pygame
python3 setup.py -config -auto
python3 setup.py install --user
This is a general Raspberry Pi audio issue and may not be necessary on all Raspberry Pi OS Lite installations, but it may be necessary to configure sound by replacing the contents of `~/.asoundrc` with
It may be necessary to configure sound by replacing the contents of `~/.asoundrc` with
defaults.pcm.card 1
defaults.pcm.device 0
@ -244,7 +284,7 @@ For checking if pip needs to be installed and how to install it, see <https://pi
### Scrapeboard and PGFW
Use Git to clone Scrapeboard with the `--recursive` flag to clone PGFW as well
Use Git clone with the `--recursive` flag to download both the game and framework from the command line (or PowerShell, Terminal, etc.). This can also be done from a Git GUI.
git clone --recursive https://git.nugget.fun/scrape/scrapeboard
cd scrapeboard/
@ -253,7 +293,7 @@ Use Git to clone Scrapeboard with the `--recursive` flag to clone PGFW as well
It should be possible to run in keyboard mode and test input with key presses now. The `--no-serial` flag is used to indicate keyboard mode.
#### Linux, Windows, OS × (except Raspberry Pi Lite OS)
#### Linux (except Raspberry Pi Lite OS), Windows, OS X
./OPEN-GAME --no-serial
@ -271,14 +311,14 @@ A simple circuit constructed with either an Arduino or Raspberry Pi is necessary
### Supplies
* Arduino with USB cable or Raspberry Pi
* [Breadboard](https://www.amazon.com/DEYUE-breadboard-Set-Prototype-Board/dp/B07LFD4LT6)
* [Jumper wires](https://www.amazon.com/Elegoo-EL-CP-004-Multicolored-Breadboard-arduino/dp/B01EV70C78)
* 4 × [4.7k resistors](https://www.amazon.com/EDGELEC-Resistor-Tolerance-Multiple-Resistance/dp/B07QJB3LGN)
* 4 × [5mm screw terminals](https://www.amazon.com/Tnisesm-0-2inch-Terminal-Connector-Spliced/dp/B088LSS14J)
* [Breadboard](https://www.amazon.com/dp/B07LFD4LT6)
* [Jumper wires](https://www.amazon.com/dp/B01EV70C78)
* 4 × [4.7k resistors](https://www.amazon.com/dp/B07QJB3LGN)
* 4 × [5mm screw terminals](https://www.amazon.com/dp/B088LSS14J)
### Circuit
Four input pins on the microcontroller need to be connected to the game's four input pads, with a 4.7k resistor in each connection. With the program loaded onto the microcontroller, when a connection is made between two pads with any conductive material, they are registered as connected. The way it works is the code constantly is switching one of every four pads to low output and the others to high input. The low output will pull down the high input if it is connected to it, so if a high input is actually read as low, that means the two pins are connected.
Four input pins on the microcontroller need to be connected to the game's four input pads, with a 4.7k resistor in each connection. With the program loaded onto the microcontroller, when a connection is made between two pads with any conductive material, they are registered as connected. During each loop of the program, each of the four pads is set to low output while the others are set to high input. The low output pulls down the high input if they are connected, so if an input set high is read as low, that means the two low pins are connected.
#### Arduino
@ -296,7 +336,7 @@ Four input pins on the microcontroller need to be connected to the game's four i
#### Arduino
Download the [Arduino IDE](https://www.arduino.cc/en/software) and connect it to the Arduino. Open [serial/serial2/serial2.ino](serial/serial2/serial2.ino) in the IDE and load it onto the Arduino.
Download the [Arduino IDE](https://www.arduino.cc/en/software) and connect it to the Arduino. Make sure the Arduino is connected in `Tools -> Port`. Open [serial/serial2/serial2.ino](serial/serial2/serial2.ino) in the IDE. Load the program into the Arduino using `Sketch -> Upload`.
#### Raspberry Pi
@ -304,7 +344,7 @@ The program will run automatically using a Python library that reads the Raspber
### Testing the circuit
For both of these steps, remember that if the game is running on Raspberry Pi Lite OS, it must also have the `--kms` flag.
If the game is running on Raspberry Pi Lite OS, the commands below must also have the `--kms` flag.
#### Arduino
@ -312,7 +352,7 @@ Launch the game without any flags to indicate Arduino (or serial) mode. Serial d
./OPEN-GAME
Connect any two screw terminals using a jumper wire, and the lizard should appear on screen.
Test the connection between any two screw terminals using a jumper wire, and the lizard should appear on screen.
#### Raspberry Pi
@ -320,120 +360,161 @@ Launch the game with the `--pi` flag to indicate that input is coming through th
./OPEN-GAME --pi
Connect any two screw terminals using a jumper wire, and the lizard should appear on screen.
Test the connection between any two screw terminals using a jumper wire, and the lizard should appear on screen.
Building a Scrapeboard and platform
-----------------------------------
The controller hardware has two parts: a custom built platform and a modified skatedeck. The platform consists of four metal plates and must be capable of supporting the weight of a person and should not move even under constant friction. The skatedeck is a regular skatedeck with two metal pads drilled into the bottom, connected by a metal strip.
The controller hardware has two main parts:
This manual describes how to build the controller hardware using a router to cut channels for insetting the metal plates, brackets, and wiring. However, the routing parts are optional. The original build of this board and controller did not use routing and is still in good working shape after being used for many events. The supplies and instructions are marked optional if they include routing.
* a custom built platform
* the scrapeboard, a modified skatedeck
The platform consists of four metal plates capable of supporting the weight of a person that should not move even under constant friction. The scrapeboard is a regular skatedeck with two round metal pads connected by a thin metal strip attached to the underside.
This manual describes how to use four pieces of plywood as the base for the metal plates. However, it is not necessary to use any specific base, as long as the metal plates are spaced correctly, don't move, and allow the round metal pads on the scrapeboard to scrape over them. The metal could be fastened directly to the floor or a single piece of plywood if the platform doesn't need to be portable.
If using plywood, a router may be used to carve channels for insetting the metal plates, brackets, inner screws, and wiring. These channels can help with portability and durability, but they are not necessary. Steps for doing this are included, but they are marked as optional.
The electronics are assumed to be installed in front of the platform, near where the screen is. If installing the electronics behind the platform, adjust wire lengths and wire channel orientations as necessary.
### Supplies
* 4 × [birch plywood pieces](https://www.homedepot.com/p/Handprint-3-4-in-x-2-ft-x-4-ft-Birch-Plywood-154148/203504324) pre-cut to 15" × 21" × 3/4" each
* 4 × [aluminum metal sheets 12" × 18"](https://www.ebay.com/sch?_nkw=12"+x+18"+metal+sheet)
* 52 × [Flat-head sheet metal screws #8 3/4"](https://www.amazon.com/dp/B08F75F6BV)
* 4 × Metal washers
* [20' 16 AWG wire](https://www.ebay.com/itm/272488348389)
* 8 × Brackets ([Flat metal brackets with 5/8" screws](https://www.amazon.com/dp/B07Z8YLFCN) if not using a router or [Latches with mounting screws](https://www.amazon.com/Stainless-Mounting-MERYSAN-Premium-Overall/dp/B07GKHD61X) otherwise)
* [Non-slip floor padding](https://www.amazon.com/dp/B09QS47P21)
#### Hardware
* 4 × [plywood](https://www.homedepot.com/p/203504324) pre-cut to 15" × 21" × 3/4" each (oak or birch recommended)
* 4 × 12" × 18" metal sheets ([aluminum composite sheet](https://www.homedepot.com/p/308670310) cut into 4 pieces, [street signs](https://www.ebay.com/itm/134245723578), or if insetting with a router, [thin metal sheets](https://www.homedepot.com/p/204225782) are also an option)
* 68 × [Flat-head wood screws #8 × 5/8"](https://www.amazon.com/dp/B08F75F6BV)
* 4 × [#8 washers](https://www.homedepot.com/p/204276449)
* 8 × [Flat metal brackets with 5/8" screws](https://www.amazon.com/dp/B07Z8YLFCN)
* 20' [16 AWG wire](https://www.ebay.com/itm/272488348389)
* [Skateboard deck](https://www.ebay.com/sch?_nkw=blank+skateboard+deck)
* 2 × [Surface-mounted rope rings](https://www.harborfreight.com/4-piece-surface-mounted-rope-rings-97767.html)
* Drill
* 6 × #10-24 3/4" Flat-head machine [screws](https://www.amazon.com/dp/B08474HKMT) with [hex nuts](https://www.amazon.com/dp/B082D6FV5H)
* 2 × [Surface-mounted anchor rings](https://www.harborfreight.com/4-piece-surface-mounted-rope-rings-97767.html)
* 6 × [#10-24 × 3/4" machine screws](https://www.amazon.com/dp/B08474HKMT) with [hex nuts](https://www.amazon.com/dp/B082D6FV5H)
* 5 × [#8-1/2" Wood screws](https://www.amazon.com/dp/B09D952RV5)
* [Thin metal strip](https://www.amazon.com/dp/B00745VXN2)
* [Non-slip floor padding](https://www.amazon.com/dp/B09QS47P21)
* [Carpet tape](https://www.amazon.com/dp/B07H88SWCM)
* [WD-40](https://www.amazon.com/dp/B00IOX8M0A/) (recommended for drilling into metal)
#### Tools
* Drill
* Hammer
* Straight edge
* Pencil
* Measuring tape
* Hot glue gun (recommended)
* Countersink bit (recommended)
* Wire strippers (recommended)
* [WD-40](https://www.amazon.com/dp/B00IOX8M0A/) (recommended)
* Wrench (recommended)
* Screwdriver (recommended)
* [Carpet tape](https://www.amazon.com/dp/B07H88SWCM) (optional)
* [Router](https://www.amazon.com/dp/B01M0J08MF) (optional)
* [Straight bits](https://www.amazon.com/dp/B09HSVD9H2) (optional)
* Sandpaper (optional)
* Sandpaper (recommended)
#### Optional
* Use a [router](https://www.amazon.com/dp/B01M0J08MF) to create insets for the metal panels, inner screws, brackets, and wires
* [3/4" straight bit](https://www.amazon.com/dp/B07ZC974L1)
* [Router edge guide](https://www.amazon.com/dp/B0771Y41W6) (recommended)
* Replace 26 of the sheet metal screws with [#10-24 × 5/8" flat head machine screws](https://www.homedepot.com/p/310449137), [#10-24 nuts](https://www.homedepot.com/p/204274479), and [#10 1/2" washers](https://www.homedepot.com/p/204276450)
* Replace flat metal brackets with 8 [latches](https://www.amazon.com/dp/B07GKHD61X) and 32 [#4 × 1/4" round head screws](https://www.homedepot.com/p/204275185)
### Platform
The platform for a standard Scrapeboard build consists of four evenly spaced metal pads, about 12" × 18" each, spaced 5" apart. The metal pads can be mounted in any manner, as long as they are firmly attached. This manual describes how to mount the metal to four 15" × 21" × 3/4" pre-cut pieces of birch plywood and bracket the pieces together. It also describes how to use a router to inset the metal parts and wiring, but those parts are optional.
The platform for a standard Scrapeboard build consists of four evenly spaced metal plates, about 12" × 18" each, spaced 5" apart. The metal plates can be mounted in any manner, as long as they are firmly attached. This manual describes how to mount the metal to four 15" × 21" × 3/4" pre-cut pieces of plywood and bracket the pieces together. It also describes how to use a router to inset the metal parts and wiring, but those parts are optional.
#### Measuring
The most significant measurement is the amount of space between the metal plates. This measurement should be consistent among builds using a standard skatedeck. Having the right amount of space ensures that the plates are close enough together that diagonals will be easy to do and far enough apart that a single metal pad underneath the skatedeck won't be able to touch two pads simultaneously. Since the metal pads for the skatedeck are 4" in diameter, the metal plates should be slightly farther apart, about 5" from each horizontal and vertical neighbor.
First, measure an outline for the metal, making sure to keep the correct amount of space between the metal plates, close enough together that diagonal moves will register but far enough apart that a single round metal pad on the scrapeboard won't be able to touch two plates simultaneously. Since the round metal pads for the scrapeboard are 4" in diameter, the metal plates should be slightly farther apart, with a 5" gap between each horizontal and vertical neighbor.
1. For each of the wood pieces, measure 2.5" inward from the two inner edges, going along each edge, marking off 2.5".
2. Draw a line parallel to the edge of the wood piece on each of the two inner edges. These lines mark where the metal plate should be attached.
#### Inset (optional)
In order to get the metal plates flush with the platform, it is necessary to remove a thin layer of wood from where the metal will be attached. This manual describes how to use a router to cut away a thin layer from all parts of the wood other than the cross section between the metal plates, meaning everything other than the 2.5" just measured on each piece. For a more advanced build, the router could be used to make precise insets into the wood pieces that fit the metal plate exactly.
In order to get the metal plates flush with the platform, it is necessary to remove a thin layer of wood from where the metal will be attached. A router can be used to cut away a thin layer from all parts of the wood other than the cross section between the metal plates, everything other than the 2.5" previously measured on each piece.
1. Insert a 3/4" diameter (it can be any diameter, but the larger it is, the less time it will take) straight bit into the router.
2. Adjust the router so it is set to exactly the thickness of the metal (the thickness that will be removed to make the metal flush).
3. Remove a thin layer of wood from the entire region outside the lines previously measured. To do that, set the router along the edge of the wood piece near the farthest corner. Turn on the router and start cutting, moving inward toward the lines. In order to get an even cut and stop the router from going past the lines, a straight edge can be held firmly in place parallel to the lines to stop the router. A straight [edge guide for routers](https://www.amazon.com/dp/B0771Y41W6) can also be used to cut a channel precisely the right amount away from the edge.
1. Insert a 3/4" diameter straight bit into the router.
2. For thinner metal, if it is thin enough to get caught and bent, set the router depth to 1/16" so the metal will be slightly recessed. This is done to ensure the edges of the metal won't get caught on the scrapeboard and pried from the wood. For thicker metal that can remain flat even when being scraped against, set the router depth to the thickness of the metal.
3. On each panel, route two straight channels into the wood, one along each inside part of the lines previously drawn where the metal will be set. Use a router edge guide if possible to make a straight cut.
4. Use the router to remove the rest of the inner wood from the channels to the edge of the wood, leaving only the cross section. In the end, there should be a recess exactly the shape of the metal plate on each panel.
#### Machine screw channels (optional)
Using machine screws and nuts to fasten the metal to the wood has a few advantages over drilling the metal directly into the wood with wood or sheet metal screws. Since machine screws and nuts can be regularly tightened, there is a better chance of them keeping the metal firmly in place throughout the lifetime of the platform, even under heavy friction. Also, they will not be affected by the screw holes stripping if the screws ever need to be removed and reinserted.
In order to use machine screws, there must be 3/4" channels routed into the underside of the platform, so the nuts won't stick out and prevent the platform from sitting flat on the ground. It is only necessary to do this for the inner sides of each metal plate, the sides that touch the cross section, because those are the sides that will be receiving heavy friction.
1. Insert a 3/4" diameter straight bit into the router.
2. On each panel, using the lines already measured into the top of the panel, measure out 3/4" wide channels on the underside of the panel along the two inner edges under each metal plate. The channels should each start at the edge and come 3/4" inward. The line marking the outer edge of each channel can be drawn by drawing a line along the side edge of the panel, connecting the top of the panel with the bottom, indicating on the bottom where the metal edges are. Draw lines from the mark straight in along the bottom of the panel to indicate where to route.
3. Use the router to carve two channels with the outside of each channel along the lines drawn.
#### Wire channels (optional)
In order to keep the wood pieces separable, the wire routing isn't too complex. It just involves carving out channels near the outer corners of wood pieces where the wires can be inserted. However, if the wood pieces don't need to be portable, the channels can be adjusted so that all wires come out of the front of the platform.
Putting wire channels under the metal plates can help prevent the wire from being accidentally cut or torn by foot traffic or the scrapeboard.
1. On each wood piece, at the outermost corner, measure inward to a point that will be about 1" in from the corner of the metal plate and mark the point.
2. Insert a 1/4" diameter bit into the router.
3. On the two front wood pieces (the two closest to the screen), use the router to carve a 3/8" deep channel straight in from the front edge.
4. On the other two wood pieces, do the same, but carving in from the side edges, so the wires will come in from the side of platform, rather than the back.
5. If the metal plates are conductive on both faces, it may be sufficient to stop here and later clamp the wire between the wood and plate when drilling the plates in. However, if the metal plates are conductive on only one face, a hole will need to be drilled near, but not above, the wire channel. The wire can then be inserted into this hole to be clamped by a screw that is drilled through the metal plate and into the wood. To make this hole, mark a point on the metal plate 1/2" away from the channel toward the outer edge. Use a 1/4" drill bit to drill a hole into the metal at this point (since the hole is for only the metal, it might work best to use a piece of scrap wood instead of the platform piece as the backing when drilling into the metal).
In order to be able to separate the panels, the wire routing is done separately for each panel with just a short channel on each corner. However, if the platform doesn't need to be portable, the channels can be customized so all wires emerge from the front of the platform.
#### Wires
1. On each panel, mark a point 1 sq. inch inward from the outermost corner.
2. Optionally, the 3/4" bit can be swapped for a smaller 1/4" bit.
3. Set the depth of the router to 1/4".
4. On the two front panels, assuming they are the panels closest to the electronics and screen, route a channel straight in from the front edge to the 1" mark, so the wire will be sticking out the front of the platform.
5. On the other two wood pieces, do the same, but carving in from the side edges, so the wires will be sticking out the side of the platform.
6. Place the metal plate on the panel temporarily. Mark a point on the plate 1/2" away from the channel, going toward the outer edge, and use a 1/4" drill bit to drill a hole there. Since the hole is for only the metal, use a piece of scrap wood instead of the platform piece as the backing when drilling into the metal. This is the hole where the metal contact in the wire will be threaded through.
#### Wire preparation
There will be four wires total, one for each metal plate. They should be cut long enough to reach the Arduino or Raspberry Pi. To have them all terminate at the same point, the back two wood pieces should have longer wires than the front two.
1. Measure the distance between the Arduino or Raspberry Pi and the platform. This will vary depending on the setup, and it is a good idea to measure extra distance just in case.
2. Cut two wires at the measured distance for the front pieces with some extra inches for inserting and running diagonally.
3. Cut two wires at the measured distance plus an extra 3 or 4 feet for the back pieces.
4. For each wire, at one end use wire strippers to cut off the sheathing and expose about 1/4" of wire. These ends will be inserted into the screw terminals.
5. For each wire, at the other end, use wire strippers to cut off the sheathing and expose 1" or more of wire. These ends will be attached to the metal plates.
1. Measure the distances between the Arduino or Raspberry Pi and each metal plate. This will vary depending on the setup, and it is a good idea to measure extra distance.
2. Cut wire at the measured distance for each plate with an extra 4" - 6" for inserting and running the end of the wire into the plate.
3. For each wire, at one end use wire strippers to cut off the sheathing and expose 1/4" of wire. These ends will be inserted into the screw terminals.
4. For each wire, at the other end, use wire strippers to cut off the sheathing and expose 2" or more of wire. These ends will be attached to the metal plates.
#### Metal pads
The metal plates need to be drilled into the platform with the measured cross section between them. The wires then need to be attached to the metal plates.
The metal plates need to be screwed into the platform, leaving the measured cross section of bare wood between them. The wires then need to be attached to the metal plates. To attach the metal plates to the wood, 16 screws are used per plate, all along the edges, 3/8" inward from the edge. Additionally, one screw is placed in the far corner of each plate for attaching the wire.
1. Insert a 7/64" drill bit into the drill.
2. If optional wire channels were carved,
3. For each wood piece, place the metal plate along the measured lines. If using wire channels, the wire should now be inserted into the channel because it will be clamped during the drilling. The wire should be exposed and making contact with the metal, and it should be pinched between the metal and wood.
4. Along the borders of each metal plate, drill 12 evenly spaced sheet metal screws into both the metal and wood. In order to do this, for each screw, first spray a bit of WD-40 at the drill point to help with drilling into metal. Then, pre-drill a small hole through the metal and into the wood. Finally, drill the screw through the metal and into the wood.
5. If not using wire channels or if the metal is only conductive on one face, one more screw and a washer will be needed. The wire should be attached near the outermost corner for each plate. Drill the screw as usual, but this time place a washer between the screw and plate. Drill the screw in but not completely. Wrap the wire around the base, under the washer. Finish drilling the screw in. This should clamp the wire between the washer and the plate.
1. On each panel, place the metal plate along the measured lines. If the optional wire channel step was done, the wire should be inserted into the channel, and its contact part should be threaded through the hole drilled for it. In the end, just the contact part of the wire should be sticking out a hole at the far corner with enough slack to wrap around a screw a couple of times.
2. Each of the 16 main screws should be 3/8" away from the edge of the metal. Mark points for the screws so they are evenly spaced around the edge of the metal. With one mark at each corner, there should be two marks between the corners on the short edges, and four marks between the corners on the long edge.
3. Insert a 7/64" drill bit into the drill.
4. Pre-drill a hole for each screw through the metal and into the wood at each mark. For the wire hole, pre-drill into the wood under the hole. If using machine screws on the inner edges, these holes should go all the way through the wood and out the underside. If the channels were routed correctly, each hole will emerge in the center of its channel on the underside. For any holes not using machine screws, the pre-drill holes do not need to go deep into the wood.
5. Screws that stick out of the metal can catch the round metal pads of the scrapeboard when it scrapes over them, causing the metal to pry out. Because of that, countersinking should be done on the two inner edges of each plate before drilling in the screws. This will allow the screw heads to be drilled flush with the panel. If the metal plate is thin, the countersink should be on the wood under the plate, so the metal itself will sink into the hole. If the metal is thick, ideally as thick as the screw head, the countersink should be on the metal, so the screw head will drill flush with the metal. If using a countersink bit, insert it into the drill and create a countersink at each previously drilled hole that matches the size of the screw heads. If not using a countersink bit, use a large drill bit to simulate a countersink bit and drill a shallow hole on top of the previously drilled holes.
6. Insert a screw into each non-wire hole and drill it in.
7. The contact part of the wire should still be sticking out through its hole from under the metal plate. Place a washer over the hole, with the wire under it. Place a screw in the pre-drilled hole in the wood. Screw in the screw a bit, then wrap the wire around the screw under the washer. Drill the screw in fully. The wire should now be clamped tightly between the washer and the metal plate.
#### Brackets
The brackets should be attached to the underside of the platform. They are necessary for keeping the pieces together. With 8 - 12 brackets total, the pieces will hold together firmly. The brackets may be inset into the wood using a router. If using the clasp style brackets, this step is necessary. Ordinary flat brackets can be either inset or not.
The brackets should be attached to the underside of the platform. They are necessary for holding the pieces together. With 8 - 12 evenly spaced brackets, the pieces will hold together firmly. The brackets may be inset into the wood using a router. If using the clasp style brackets, this step is necessary. Ordinary flat brackets can be either inset or not.
1. Flip the platform onto its backside, keeping all four pieces arranged in their proper orientation.
2. Along the cross section seam, place the brackets so they are evenly spaced, covering as much area as possible, without getting too close to the edge or the center.
3. If using clasp style brackets, in order to get a tight hold, the two sides of each bracket should be drilled so they are very slightly farther apart than the neutral state they come in, separated about 2mm farther. To do this, unclasp the bracket after placing it, and move each side back about 1mm.
3. (Optional) If doing routing, trace around the bracket to mark where the channel will go.
4. (Optional) Use the router to carve a channel in the same way the wire channels were carved, just deep enough to the bracket will not come out farther than the wood.
4. (Optional) Use the router to carve a channel in the same way the wire channels were carved, just deep enough so the top of the bracket will not come out farther than the wood and place the brackets again.
5. Directly drill the brackets into the wood using the appropriate screws.
6. If using clasp style brackets, clasp the brackets and ensure they are able to close and hold tightly. If not, remove the screws, adjust their positions, and drill them in again until the brackets are tight.
#### Non-slip padding
#### Non-slip padding (optional)
The non-slip padding is necessary for keeping the platform from slipping on many surfaces. If the platform is placed on a very non-slippery surface like carpet, it may not be necessary. The non-slip padding can be attached to the underside of the wood pieces or it can be placed on the floor between the platform and floor.
The non-slip padding is necessary on many surfaces to keep the platform from slipping. If the platform is placed on a very non-slippery surface like carpet, it may not be necessary. The non-slip padding can be attached to the underside of the wood pieces or it can be placed on the floor between the platform and floor.
1. If attaching the non-slip pad to the wood pieces, first cut the padding into four pieces, each the size of a wood piece.
2. For each wood piece, put carpet tape along the underside of the wood piece, in strips, covering as much area as possible, something like five or so strips along the length of the piece.
3. Firmly press the non-slip padding onto the carpet tape.
1. On each panel's underside, measure areas for non-slip padding to attach. If there are channels from routing, either measure around the channels or include them in the measurement and cut off the non-slip padding over the channels after attaching it. Depending on how the padding is going to be applied and the size of the non-slip padding material, this may mean making multiple measurements or one big measurement. Either way, measure so the padding covers as much area as possible while allowing the panel to rest as flat as possible on the ground.
2. Cut the non-slip padding material into the shapes measured.
3. Apply carpet tape to the back side of each piece of non-slip material.
4. Firmly press each piece of non-slip material into its measured place on the underside of the panel.
#### Connecting
The platform is now finished. It can be connected to the Arduino or Raspberry Pi and tested before moving on to building the board.
1. Carefully flip the platform back over, taking care near the seams because the bracketing will make it susceptible to snapping.
2. For each wire, insert its exposed end into the appropriate screw terminal. Going clockwise from the top left plate, for Arduino, the wires connect to pins 2, 4, 6, and 11. For Raspberry Pi, the wires connect to pins 11, 13, 15, and 16.
1. Carefully flip the platform back over, taking care near the seams because the underside bracketing can make it susceptible to snapping.
2. For each wire, insert its far end into its appropriate screw terminal. Going clockwise from the top left plate, for Arduino, the wires connect to pins 2, 4, 6, and 11. For Raspberry Pi, the wires connect to pins 11, 13, 15, and 16.
3. Use any metal conductor to touch one metal plate to another. The lizard should appear on the screen.
### Scrapeboard
The board for a standard Scrapeboard build is a skatedeck with two metal pads drilled into either end of the bottom and connected with a flat metal strip. The metal pads are actually anchor rings, ordinarily used to hook cargo to a tow cable. They are used because their unique disk shape and slightly raised edges allow for the best motion with the board. Even more than the platform, the board takes a lot of abuse in the standard build, so it's recommended to follow this manual unless building a heavily modified version of the controller.
The standard scrapeboard is a skatedeck with two round metal pads drilled into either end of the bottom. The pads are connected by a flat metal strip, creating a conductive contact across the length of the underside of the board. The recommended metal pads to use are actually anchor rings, ordinarily used to hook cargo to a tow cable. They are used because their unique disk shape and slightly raised edges allow for the best motion with the board. The board is subject to a lot of friction and pressure, so it's recommended to follow this manual unless intending to build a heavily modified version of the controller.
#### Wire strip
@ -447,12 +528,13 @@ The wire strip is used to connect the metal pads to each other so the signal can
The metal pads should be placed slightly farther out than the truck holes and held in place by machine screws and nuts.
1. If using the recommended anchor rings, first remove the ring from the base. Pry up the center flap slightly with a screwdriver or other tool, and the ring should slide out.
2. For each metal pad, place it directly in the center of the underside, with its center about 1" farther toward the end of the board than the truck holes. The center hole of the pad should be directly above the metal strip, ideally lined up with an existing hole in the strip.
3. Insert a 1/4" drill bit into the drill.
4. The center hole of the anchor can be used as a drill point. Use this hole to guide drilling a hole through the wood so that a 3/8" machine screw can fit snugly through. The hole should also pass through the metal strip.
5. Insert the machine screw from the top of the deck through the underside. Attach a nut to the underside and tighten with a wrench and screwdriver.
6. Two more holes need to be drilled on either side of the center hole, through the wood, and out the other side of the deck. The holes must be perpendicular to the length of the board. For each hole, spray some WD-40 and then drill all the way through both the metal and wood.
7. Repeat step 5 for the new holes.
2. Use a hammer on the center flap to flatten it as much as possible.
3. For each metal pad, place it directly in the center of the underside, with its center about 1" farther toward the end of the board than the truck holes. The center hole of the pad should be directly above the metal strip, ideally lined up with an existing hole in the strip. If the hammering of the center flap caused the hole to move off center, it is fine to leave the hole off center a bit.
4. Insert a 1/4" drill bit into the drill.
5. The center hole of the anchor can be used as a drill point. Drill a hole through the wood so that a 3/8" machine screw can fit snugly through. The hole should also pass through the metal strip.
6. Insert the machine screw from the top of the deck through the underside. Attach a nut to the underside and tighten with a wrench or pliers and screwdriver.
7. Two more holes need to be drilled into the metal on either side of the center hole, through the wood, and out the other side of the deck. The holes must be perpendicular to the length of the board. For each hole, spray some WD-40, then drill all the way through both the metal and wood.
8. Repeat step 5 for the new holes.
#### Connect

View File

@ -370,10 +370,10 @@
<div id="calendar">
<p>
Play Scrapeboard at an upcoming event!
<!-- Check back soon for upcoming events! -->
<!-- Play Scrapeboard at an upcoming event! -->
Check back soon for upcoming events!
</p>
<div class="date upcoming">
<div class="date past">
<div class="day-of-week">
Thu - Sun
</div>
@ -387,7 +387,7 @@
<a href="https://super.magfest.org">MAGFest, Maryland</a>
</div>
</div>
<div class="date current">
<div class="date past">
<div class="day-of-week">
Mon
</div>