Shooting Gallery

From Ace Monster Toys Wiki
Gallery at Maker Faire 2012


In March 2012, we were contacted about entering a East vs. West Hackerspace Challenge. The challenge was sponsored by Radio Shack and showcased by Popular Mechanics. The premise was to build something fun and creative with $250 gift card from Radio Shack. Our competition turned out to be Artisan’s Asylum based in Somerville, MA. Geeks think alike because both groups decided to use lasers as the centerpiece of the challenge. Artisan's Asylum built a laser harp and we built a laser Shooting Gallery Game. Having taken the game to multiple events, including the Bay Area Maker Faire, it's consistently been a huge hit. If you've not yet voted for AMT, click this link and do it now! Voting closes 15 August.

[NOTE: Still gathering information on project investment and more images from Maker Faire]

The Team

Project Lead: Dave
Members: Crafty, Terry, Ara, Aaron, Heph, Chris, Anup


Terry did much of the design and building of the frame. We wanted something light and easy to assemble/disassemble while supporting all the different elements in a reasonable manner. The frame is a front and back rectangles made out of wood strips with sides made of standard pegboard stock.
Frame1 Frame2

After assembly a simple coat of black paint was applied to keep the artwork and targets as the focus. Velcro backing strips are applied to each face that provide mount points for the art skins.


Design goals, Art sets with asset links

BASIC DIMENSIONS: -Box Frame: -Size of Targets: -Height of Levels: -Space in between Levels:


-Creating an overall theme that is cohesive between shoot targets, hid panels, backdrop, and foreground is a traditional approach when designing a shooting gallery. In the Radioshack competition, there was only one other competitor, from the East Coast, so inherintly it was important to represent the West Coast/Best Coast.

-Secondary goals included strategically placed lights and fog machine during our initial construction, but definitely created more stunning visual dimension as well as giving fair play for seeing the farther shoot targets in the back level. Colored LED strips and detachable light sources were considered. Nobody refuted the coconut scented fog juice. The fog was a bit too thick within the contained frame space, but appreciated by players.

-Materials options are endless, but consideration of the material's reflection rate and weight are necessary for a mobilized, laser-based arena. But seriously, the possibilities to achieve an eye-pleasing interactive display are endless! The first shooting gallery (Byte Blaster: Escape from Alcatraz with shark targets) was made in Adobe Illustrator, printed on bond with a Canon laser jet printer, then heat-set mounted onto foam core. All mounted foam core pieces were hand-cut. The second model (spooky carnival with deadly duck targets) was hand-painted and spray painted onto laser-cut corrugated cardboard. Not all targets must be uniform in size, however it is highly suggested to consider the size of the laser receptor and its placement within your design. Some strongly suggested materials include: -Basswood, chopsticks, popsicle sticks -Cardboard, Foam core, matt board, chip board -Paint, markers, airbrush, puffy paint, moderately placed glitter -Zip ties, industrial velcro, E-6000, hot glue gun

-Spacial restrictions during the Byte Blaster construction included the space required between targets depending on the direction each target is intended (example: Left to Right/ Rising from Back to Front and vice versa) as well as from which the target's axis is sourced in relation to its neighbor target. That means as long as the basic housing frame allows, construction of a shooting gallery can consist of multiple levels; AMT made only two for Byte Blaster, but there can be more made the deeper and taller the frame. If targets were considerably smaller and more levels were to be utilized within the suggested frame size used by AMT, on the other hand, it is possible make a more challenging shooting gallery for builder and for player. And if this is the case for ambitious hackers, please consider player targeted age group, aesthetic sacrifice, and the appropriate means of timing/scoring per hit.


Design goals

Must be based off an arduino

Should be solderable by hand, don't use any tiny surface mount components -- in the interest of time, so we wouldn't need a custom PCB fabbed

Modular target electronics -- So we could just build six copies of the same thing for the separate targets

High level architecture

Shooting Gallery block diagram.png


Target module board

Display driver

Laser gun


Custom wiring shield

Display driver (with one display digit)

Laser gun internals

Target module board (full target module)


Design goals

Work with the Arduino libraries

Able to calibrate sensors without recompiling

All configuration settings located in a single central place, to make it simple to reconfigure servo settings etc

High level architecture

TargetStruct targets[] - stores configuration information for the six target modules, including which I/O pins each target is connected to, the timing values for the servo PWM, the "alive" and "dead" angles for the targets, the light levels for "light" and "dark", and a variable that stores the current 'state' of the target (down, up, rising, falling)

setup() - initializes the input/output pins

updateDisplay() - display one of the two digits on the score display (each time it's called, it toggles between the two displays. They are multiplexed to cut down on the number of I/O pins needed to drive it)

procTargets() - runs a mini state machine for the targets. It's coded to just handle one target at a time, so other code can run in between handling each target

checkSensors() - checks the light sensor for a target, only when the target is up

checkGun() - checks if the gun trigger was pulled, plays a sound effect, and prevents the gun trigger from being held down continuously

AvailableProcessorTime() - main logic function, calls other stuff depending on the current game mode. gets called by loop() or by the sound library inbetween playing sound bits

updateScroller() - logic to scroll "A C E" across the 7 segment display

loop() - calls AvailableProcessorTime() and the sound library, keeps things moving

Source code

Temporary upload -- will put on github soon

Parts List

Arduino Mega 2560

Sound Shield

9x small perf boards

2x 7-segment displays

soldering gun

green laser pointer

lots of CAT-5 cable

1 big red button

2x4's for the frame

pegboard for the outside of the frame

6x servo motors

6x LEDs

6x photoresistors

7x transistors

31 resistors

14x 6-pin connectors

6x 3-pin connectors


A large collection of images taken during the build process are stored on our old Picasa archive - link
Zip archive of images taken by Ara during art creation and assembly - [NOTE:need to find alternate upload location due to archive size]

Future Improvements

The types of cables we used, while they plug nicely into a standard 0.1" grid, were a lot of extra work to solder together. Next time we will use something easier such as standard RJ-45 plugs.

We can have custom PCBs made, which would eliminate the tons and tons of yellow wires everywhere, only wiring needed would be the cables between boards.

Miscellaneous Assets