Stackmat and Timer Program

 
 Cube Home

 Beginner Solution

 My Notation

 Color Terminology

 Multicolor Cross

 Intro F2L

 Advanced F2L

 OLL

 Multicolor PLL

 Blindfold Cubing

 My Records

 Videos

 Speedcubing Tips
 and Special Grips

 Stackmat and
 Timer Program

 Miscellaneous
 
Stuff

A Stackmat is a timing device originally used for timing cup stacking, but it's also great for timing cube solving. When timing a solve, we generally time the hands rather than the cube. The idea is that once the hands leave the timing device, the timer starts (at this point you pick up the cube and start solving). The timer keeps running until both hands return to the touch pads of the timing device.

The problem is Stackmats are expensive, but they are relatively easy to make. You can use almost any kind of USB game controller. Try to get the cheapest one since you will be disassembling it anyways. Secondly, I  needed a way of using it with my computer. I found a simple program called BurgetMat from Gilles Roux (look under "workshop" for the program) - I basically made a fancier version which calculates rolling averages, imports or randomly generates scrambles, exports times, etc. My program is at the bottom of this page.

 

How to Build Your Own Stackmat

This project was done in 2006. Since then, I've built another Stackmat because the buttons do eventually fail. Also, I finally decided to get a real Stackmat since my home made Stackmat requires a computer, so it's not that portable. First, get a cheap USB controller. The best place to find these are the computer stores that deal directly with the manufacturers. At most this should only cost about $10, I got this one for $5.

You'll need other materials as well. I used a piece of wood (left over from some shelving) as the base of the Stackmat. If you don't have this, be creative, you could use a lid from a large plastic container or the cardboard from a binder. I also needed a material for the touch pads. I decided to go with a binder divider (stiff plastic makes for better pads since the pads move and thereby compress or release the buttons under them). You'll also need some spacers - I used popsicle sticks but you'll need super heavy duty scissors or even a hand saw to cut them to the appropriate size. Here are the materials I used:

The first thing to do is to disassemble the game controller. If this is the first time you are taking apart a controller, do it slow and be careful not to damage any of the electronics. You may also need a screw driver to take out screws and a flat head screw driver to yank the controller apart.

Then separate the parts you need from the frame. On my controller, there are 2 trigger buttons (the two buttons at the top of the controller, meant to be pressed by the index fingers). These are the only buttons on my controller that have wires leading away from the main board. The other six buttons are located right on the board itself. These will not be useful because they're too close together. The 2 trigger buttons will become the sensors to go under the touch pads. These are the 2 buttons/wires sticking out at the front.

You can trim off the wires leading to things you won't need, like the analog joystick (the black ball), and the motor unit (meant for creating vibration). The next step is to enclose the main board (the green board with some circuit stuff on it). I used a few popsicle sticks trimmed to the width of the wood base, then cut a piece of the binder divider to enclose this. Make sure the USB wire and the 2 buttons are still on the outside. To make the buttons more robust, I taped up the ends (so the gray plastic part doesn't fall off).

Next, make the touch pads. The buttons will go on the under side of the touch pads. At rest, the touch pads have enough stiffness to them that the buttons are not compressed. On the side of the touch pads closer to you in the picture below, the popsicle sticks hold up the touch pad. On the side farther away, the buttons are on the bottom side of the touch pads so that when they are pressed, they get compressed between the touch pads and the wood base, therefore giving the same response as pressing the button in an intact controller.

Finally, I added some artistic touches. Use scotch tape on top of the marker otherwise it will eventually come off on your hands (I found this out the hard way and I used permanent marker).

 

Jasa Stackmat Simulator and Cube Timer Programs

My 2 programs below are almost identical. The Stackmat Simulator requires a USB game controller (which acts as the Stackmat) to be plugged in to work. This game controller is the only thing that starts and stops the timer. However, the Cube Timer program uses the keyboard/mouse to start and stop the timer (it has no hardware support for the USB controller). Both programs have the same core algorithms, just a slightly different user interface. They are written in Java, so you'll need the Java Run Time Environment. I included the source code if you'd like to make any changes (you'll need the Java Developer's Kit to recompile).

Both programs have the same features:
- Randomly generate scrambles for cube sizes 2x2x2 to 5x5x5
- Computes trimmed rolling averages
- Import scrambles from a text file
- Export completed time trials to a text file (this will save the times, scrambles and a few stats)
- Change the timer colors (digits and background)

In addition, the Stackmat Simulator program has a USB game controller configuration utility so that you can see which buttons are being pressed or not. You can also change which buttons are used for "accept" and "cancel".

Download the Jasa Stackmat Simulator v2.0 (40 KB zip file)

Download the Jasa Cube Timer v2.0 (28 KB zip file)

To run the program, click on "run" (the ms-dos batch file). Don't try to run the program while the contents are still zipped, it won't work. There's also a font called digital in the package. This is the font for the digits - you'll need to install it by copying and pasting it into the Windows font directory (for most people this should be C:\Windows\Fonts). If anyone had downloaded my older version timer, I've since found a few glitches. All the problems that I've noticed (since May 2006) are now fixed in the new version. The entire program has been rewritten.

Screenshots of the programs (too big to fit properly on this page)

 

This page was last updated January 21, 2008 at 20:18 EST.

blog counter