Foam Dart Blaster Shooting Gallery: DIY Arcade-Style Target Range
by ryanchakajodda in Circuits > Gadgets
843 Views, 5 Favorites, 0 Comments
Foam Dart Blaster Shooting Gallery: DIY Arcade-Style Target Range
Bring the thrill of an arcade right into your home or backyard with this interactive, light-up foam dart shooting gallery. Youβll build three colorful targets wired to an ESP32 brain, program pulse-pounding game modes, and compete for top scores under a countdown timer. Whether youβre hosting a party or practicing your aim, this project turns every foam dart into a ticket to fun.
What Youβll Build
- Three 3D-printed targets in blue, red, and orange
- LED strips with dynamic lighting effects
- Piezo sensors to register every impact
- An ESP32 controller running three unique game modes
Game Modes at a Glance
- Seek Mode: Tag lit targets as fast as you can.
- Shooting Gallery: Hit any target to rack up points.
- Color Hunt: Follow the color cueβonly hit the matching target for maximum points.
Gear up, load your code, and prepare to blast your way up the leaderboard!
π Estimated Build Time: 3-4 hours depending on experience not counting 3D print time.
Supplies
Electronics
- 8 Segment LED Stick (3x)
- ESP32 (1x) (suggested you get the dev kit board to reduce soldering)
- Wire for breadboard (breadboard wire is optional, but makes the connections easy)
- Assorted Wire Connectors (recommend WAGO, but wire nuts will work as well)
- USB Cable that connects to your ESP32.
- 3x 330 Ohm resistor (Mine came from this kit)
- 3 Piezoelectric Sensors
Hardware
- Assorted M3 nuts and bolts
- Super Glue
Tools
- Wire cutters / Stripers
- Soldering Iron
- 3D Printer
- Electrical Meter (optional)
Start Printing 3D Parts
Start printing the 3D models from the Printables website for the Blaster Shooting Gallery.
Use these print settings:
- No supports are needed for any of the files.
- 3 perimeters
- 40% or higher infill
Print in Black PLA or PETG:
- 1x Case Left
- 1x Case Middle
- 1x Case Right
- 1x ESP 32 Holder
- 3x Led Holder
- 2x Pipe
- 3x Switch Holder
- 3x Target Mount
- 3x Foot
Print in Red PLA or PETG:
- 1x Target
Print in Orange PLA or PETG:
- 1x Target
Print in Blue PLA or PETG:
- 1x Target
Print in Black PETG (recommended to survive many impacts):
- 3x Lid
Solder Led Sticks
In this step you will prepare the LED Sticks for installing in the targets later. Each stick needs a signal wire with a 330Ξ© resistor, a ground wire, and a power wire. Note it is important that you solder the wires onto the correct end. Solder onto the "DI" (Data In) side.
- Create a length green of wire to reach from one target to another - about 12 inches, strip both ends.
- Create a length red of wire to reach from one target to another - about 12 inches, strip both ends.
- Create a length purple of wire to reach from one target to another - about 12 inches, strip both ends.
- Before you start soldering, note that when you are done you want the wires routed towards the middle of the stick not towards the edge. Note the picture below showing what it should look like when done.
- Solder the green wire onto the ground terminal.
- Solder the red wire onto the +5V terminal.
- Solder the purple wire onto the DI terminal.
- Solder the 330Ξ© resistor onto the purple wire.
- Solder a small length of purple wire onto the resistor.
- Cover the resistor and exposed wire with electrical tape. Be gentle and don't bend or flex this wire.
Mount Feet
In this step you will attach the feet to all of the cases. For this step you can attach 2 feet to each case (for aesthetics), or you can put one foot on each case.
- Attach left foot to middle case using 2 M3 nuts and 2 M3 bolts.
- Repeat for left case and right case.
Mount ESP32 Board
In this step you will mount the ESP32 Board to the ESP32 Holder, and install it in the middle case. These steps are designed for ease of installation, but will use extra wire. These steps will have you attach the wires to the ESP32 Board leaving connectors available to attach to components later.
Suggested Color Code for Wires
Power and Ground
- Red: VIN Port
- Green: Ground Port
Left Case
- Purple: Port 25 for Piezo S wire
- Brown: Port 2 for LED
Middle Case
- Orange: Port 33 for Piezo S wire
- Blue: Port 4 for LED
Right Case
- White: Port 32 for Piezo S wire
- Gray: Port 26 for LED
Steps
- Create 8 wires following color code above. For each wire you will strip one end, and leave a female breadboard connector on one end.
- Connect the wires to the marked locations on the ESP32.
- Mark the wires with tape and a label if you were unable to get colored wires as suggested.
- Prepare the ESP32 holder by inserting a screw into each of the 4 corners, and then removing them.
- Connect the ESP32 to the holder upside down (so the pins for wires are UP) (see the photo) using M3 screws.
- Insert the small end of USB through the hole in the back of the middle case. (Note, you need to do this now, because the hole is too small to stick the big end through the back.
- Plug in the USB into the ESP32.
- Before mounting double check the wires are installed into the correct pins, and the wires are firmly attached.
- Install the holder into the middle target case using M3 nuts and short M3 bolts. Use the picture to find the mounting holes.
- Use a zip tie to secure the USB cable. (this is meant to prevent stress on the USB and ESP32 connector)
Mount the Target Backstops
In this step you will mount the target backstop in each of the cases.
1) Place the backstop in the middle of the left case, with the flat side facing forward.
2) Secure with M3 nuts and screws.
3) Repeat for left and right cases.
Mount the Targets
In this step you will assemble the targets, and mount them in the cases. It is important the colored targets in the correct case, otherwise the "color hunt" mode won't work. The left case should have a blue target, the middle should have a red target, and the right should have an orange target.
- Attach the target to the mount. Note that the target mount has a side designed for threads, and another side for sliding the nut through. Insert a long M3 bolt into the target mount, through the side that slides freely.
- Put the Red target in the middle case, and slide the bolt through the target.
- Tighten the M3 bolt securing the target to the mount.
- Attach the target mount to the middle case using M3 bolt and nut.
- Repeat for the putting the Blue target on the left case, and the Orange target on the right case.
Install the LED Sticks
In this step you will install the LED Sticks into each case.
- Secure the LED mount to the middle case using M3 nut and bolts below the target (see picture).
- Place LED stick in the hole, feeding the wires through the hole.
- Note, the LED stick is loosely held in place until the lid is attached.
- Repeat for the left case and right case.
Install Piezo Sensors
In this step you will install the piezo sensors into all 3 targets.
- Connect the wire from the center of the piezo disc to the "INPUT" on the piezo board. This was the black wire in my kit.
- Connect the wire from the edge of the piezo disc to the "GND" on the piezo board. Note: In this kit, red is used for ground, which differs from standard conventions.
- Attach a black wire to to - terminal with a female connector, this wire need to reach to the middle case.
- Attach a red wire to the + terminal with a female connector, this wire need to reach to the middle case.
- Attach a yellow wire to the S terminal with a female connector, this wire need to reach to the middle case.
- On the left case, flip the target up so the backside is visible.
- Use super glue to attach the piezo disc onto the backside of the target.
- Let the glue dry.
- Place the piezo board in the case (it is not secured).
- Repeat these steps for the middle case and right case.
Install Pipes and Run Wires
In this step you will attach the pipes and run the wires from the left case and right case into the middle case.
- On the left case, slide the pipe into the connector. (see picture).
- Secure the pipe using a short M3 bolt and nut to the left case.
- Slide the pipe onto the middle case.
- Secure the pipe using a short M3 bolt and nut to the middle case.
- Repeat with the second pipe, with the right case.
- Feed the wires from the left case and right case into the middle case.
Connect Wires
In this step you will connect the wires from the left case, right case, middle case to wires from the ESP32. If you have followed the coloring recommendations then the connections are listed below. The attached image also shows the same information.
- Connect All Red wires together.
- Connect all Green wires together.
- From the Left Case
- Piezo S (yellow) β ESP32 Port 25 (purple)
- LED (purple) β 330Ξ© resistor β ESP32 Port 2 (brown)
- From the Middle Case
- Piezo S (yellow) β ESP32 Port 33 (orange)
- LED (purple) β 330Ξ© resistor β ESP32 Port 4 (blue)
- From the Right Case
- Piezo S (yellow) β ESP32 Port 32 (white)
- LED (purple) β 330Ξ© resistor β ESP32 Port 26 (gray)
- Connect the wires per the guide above.
- Attach lids to each of the cases.
Load Software on the ESP32
To load the software on to your device, the simplest way is to use this website:
https://ryanch.github.io/blaster_shooting_gallery_loader/
However, if you would rather load the firmware using your own loader, you can download the firmware from the printables project website.
Last, if you want to build the code the source is here:
Plug in and Setup Game
When you reach this step, you've completed the build and are ready to use the blaster shooting gallery.
When you turn on the blaster shooting gallery it will enter setup mode. When in setup mode targets are used as buttons. The buttons have the following functions:
| Target Color | Location | Function |
|---|---|---|
| π΅ Blue | Left | Cycle through game modes |
| π΄ Red | Middle | Set game duration (1β8 minutes) |
| π Orange | Right | Start the selected game |
Game Mode 1: Seek Mode
- Game Mode Selector Indicator: Selector will show red lights moving towards the center on a white background.
- Length Of Game: 1-8 minutes depending on setting.
- Object Of Game: Shoot lighted targets as quickly as possible.
Game Mode 2: Shooting Gallery
- Game Mode Selector Indicator: Selector will show yellow lights.
- Length Of Game: 1-8 minutes depending on setting.
- Object Of Game: Shoot any target
Game Mode 3: Color Hunt
- Game Mode Selector Indicator: Selector will show 3 colors red/orange/blue
- Length Of Game: 1-8 minutes depending on setting.
- Object Of Game: Based on the color of the lights, shoot the target that matches that color. So blue lights, mean shoot the blue target - regardless of which position the lights are lighting in.
Game Scoring
At the end of each of the games, the targets will flash white to indicate the end of the game. Then, your score will be displayed. Your score has multiple tiers, and a point value in that tier. So, for example if you scored 25 points, the game would display 8 Green lights, and 1 Blue light. After the score is displayed the game will restart the current selected game mode.
| Points Range | Tier Color |
|---|---|
| 1β24 | π© Green |
| 25β48 | π΅ Blue |
| 49β72 | π£ Purple |
| 73β96 | π Orange |
| 97β120 | π‘ Yellow |
| 121β144 | π΄ Red |
Troubleshooting
If you are having issues - these ideas might help.
- Check that wires firmly plugged into the ESP32 board.
- Check that wire connections are good
- If you are using Wago connectors, if your wires are stripped too short, you may not be making contact.
- If you are using wire nuts, make sure you are twisting the wires before you put the nut on.
- Check that the wires are connected to the correct pin on the ESP32 board.
- Check that the LED wires did not come loose from the back of the LED.
- Check if the resistor soldering came loose.