The Beyblade Burst Arena is an arena with light and sound effects for toy tops with blades. As my son came to me and showed me his "Beyblade" tops and as we saw them circling around each other, crashing into each other and bursting in pieces, we both agreed that we want to have an arena like no one else. But we had so much fun with this project that we decided to share it with you and we hope you have as much fun as we have with this arena.
When we thought about arena types we had a look at dozens of Youtube videos. Most arenas are made of cardboard boxes or something like that. Then one day, working in my garage, an old and unused satellite dish came into my view. I called my son and his eyes lightened up - yes, this will be a great basis for our arena project.
Step 1: What You Need to Build This Arena...
For the arena
- Satellite dish 40 cm to 60 cm in diameter
- Enamel (e.g. white, black, orange, grey)
- Hot glue
- 10 plastic shot glasses
- Clear coating material
For the rack
- 1 Power supply 5V or USB cable for connecting it to a 5V source
- 10 LEDs for the area event lighting program (2 of each white, yellow, red, blue and green)
- 1 LED spot (white)
- 10 Resistors for the 10 LEDs (220 Ohm)
- 1 Resistor for the LED spot (220 Ohm)
- 2 SN74HC595 8-Bit output shift register
- 1 SN74HC165 8-Bit input shift register
- 1 DFPlayerMini (MP3 player)
- 1 Micro-SD card for the MP3 player
- 1 Resistor (1k Ohm)
- 1 Speaker, 4 Ohm
- 1 Arduino Uno or Nano
- 4 Momentary switches (Battle Start, Survivor Finish, Ring Out Finish, Burst Finish)
- 2 Momentary switches (Volume down, volume up)
- 6 Resistors for the momentary switches (pulldown)
- 1 On-/off switch
- 1 PCB for mounting the electronics on it
- 1 IKEA plastic box
- Arduino IDE 1.8.5
Step 2: Preparing and Coloring the Satellite Dish
Before painting the satellite dish it is necessary to clean it. Just after that we painted it twice with white enamel. Then we used old newspapers and adhesive tape to mask the wished pattern on the dish and painted it with colors. Repeat these steps for each pattern or pattern part.
We had a black crosslines, a grey circle near the border of the dish. In addition we painted an orange circle nearby the center. The center itself was painted in red.
When all paint dried we had used clear coat to create a protection layer for the colors. This protects the arena from color splittings.
Step 3: Adding Lighting
As our arena should provide an attractive lighting program, we decided to add a couple of LEDs near the edge of the satellite dish. We numbered it in clockwise to keep in mind where to connect which lamp to the integrated circuits.
Mount the LEDs to the dish simply drill 5mm holes in regular distance around the circle. Glue them with hot glue. Then mount the shot glasses to protect the LED from the top toys swirling around.
Wire the LEDs on the backside of the dish, ideally connect them to plugs.
For controlling the LEDs we use two 8-Bit output shift registers (SN74HC595) to enhance the capacity of our Arduino digital pins, one for the right half of the lighted circle (LED 1-5) and one for the left half (6-10). In addition to these lights, we later added a single white LED spot at the satellite dish's arm and connected it as the sixth output. Both SN74HC595 are connected to the Arduino with only three pins. Within the Arduino we use a 16-bit unsigned integer to store the status of the LEDs. To enlighten two or more LEDs simple add their values.
We have the following lighting programs.
Booting the arena
Every LED is lightened up for 50ms in a circular manner. Then all LEDs are switched on for 1,5 seconds, the LED spot blazes 2 seconds longer.
Start battle (3...2...1...let it... rip!)
Both red LEDs light for 1 second each, then switched off for 200ms. Then the red LEDs are switched on for 1 second and then off. After 200ms the yellow LEDs are switched on for 1 second and for 200ms off. Right after that die yellow LEDs light for 1 second and then switched off. After 200ms the green LEDs and the LED spot light for 2 seconds, the LED spot lights 2 seconds longer.
Ring out finish
10 rounds each and every LED lights for 25ms and is switched off for 25ms.
The left half of the LEDs and the right half alternate 10 times.
The white LEDs light for 200ms with a pause of 100ms. Then all LEDs light for 2 seconds and sequentially in 750ms pulse the white, red, yellow, green and blue ones switched off.
Step 4: Creating the Control Panel
The control panel is a piece of painted wood or if you like a slat. Just drill four holes for the momentary switches (Start Battle, Ring Out Finish, Survivor Finish and Burst Finish) and mount them onto your control board. As my son and I fought a few battles with the first prototype of the arena we discovered that volume regulation is a good idea. Indeed it is possible to program it in the Arduino but it is somehow more cool to control the volume by two additional momentary switches. So, drill two more holes for Volume+ and Volume-.
At least add a switch for switching on or off the arena electronics.
Step 5: Building the Heart With Arduino
Building the hardware for our arena feels like something comes to life. See the Fritzing plan for connecting the Arduino to the SN74HC595 and SN74SN165, the DF player mini, the momentary switches and the LEDs. It is highly recommended to work on the breadboard first for getting familiar with the circuit and its functionality.
After building the prototype the shift registers and the resistors solder them to a blank circuit board. Add the DF player mini to this board, too. Let enough space for connecting the wires of the dish mounted LEDs.
Connect the momentary switches of the front control panel and the power of switch.
Step 6: Programming Light and Sound Programs
The software (arena.zip) consists of the arenas sound and lighting program. Download it and upload it via the Arduino IDE to your Arduino.
Die ArenaButton class encapsulates the access to the six momentary switches in connection to the parallel input chip, the SN74HC165 (8 bit input shift register).
The ArenaLighting class implements the light programs by accessing the parallel output chip SN74HC595 (8 bit output shift register).
ArenaSound class implements the sound program by accessing the DF player mini. For accessing the MP3 player you have to include the library (download it from DFRobot) into your Arduino project. Don't forget to copy MP3 files to the SD card (MP3 files are not provided) for the boot sequence, the start of a battle, a ring out finish, a survivor finish and a burst finish.
You can find the Arena class as and abstract class for ArenaLighting and ArenaSound, because these implementations have common method names, so the structure of the main loop remains quite simple.
Step 7: Putting It All Together
Mount the electronics into the plastic box. Be careful with all the wires not to break some of them or have cold soldering joints. Otherwise you will have a very dirty hardware debugging job. On the front mount the control panel.
Now mount the entire box to the wooden rack. The satellite dish should - of course - be mounted on top of the rack and connect all the LED wires.
Step 8: Have Fun!
Now it is time to create the first magic moment. Switch on the arena and see the arenas awakening. Enjoy this exhilarating moment!
The last thing you have to do now is to invite your friends and be the host of epic tournaments!
Now enjoy your own battles in the most exciting toy top arena ever!
3...2...1....let it .... rip!