Introduction: Control a Repeating Crossbow Remotely Using an Android Phone

The Chinese continuous crossbow, commonly referred to as the repeating crossbow, stands as an ingenious ancient weapon with origins in China. Its design was tailored for manual operation, enabling rapid firing of multiple shots. The primary goal of this project is to achieve remote control over the crossbow through an Android app, utilizing Bluetooth communication.

Supplies

Crossbow:

·       1/8” plexiglass

·       A handful of 2mm bolts and nuts

·       Bow (I use a fiberglass rib from a broken umbrella)

·       String (I use 90lb fishing line)

Electronics:

·       A pan and tilt mechanism (I use base and shoulder from a Lynxmotion robotic arm)

·       A MG966r servo (for activating the shoot)

·       A microcontroller (I use Arduino UNO)

·       A Sensor shield 5.0 for easy wiring

·       A 5mW laser module

·       A Bluetooth module such as HC-05

·       Some jumper wires

·       Power bank

·       An Android phone (I am using an OPPO F1s)

Step 1: Building the Crossbow

I have provided an illustration of the blueprint for my crossbow above. In the diagram, the length of 65 mm represents the size of the arrows I use, which are fashioned from Q-tips or toothpicks. If you're considering constructing a larger crossbow, you can proportionally scale up the dimensions based on the size of the arrows you intend to use.

My crossbow is crafted using 1/8” Plexiglas and assembled with 2mm bolts and nuts. The bow itself is fashioned from a segment of fiberglass rib that I salvaged from a broken umbrella. The upper part of the bow is connected to the lower portion through a lever mechanism. You can observe a prototype of this design above.

Key Components of the Crossbow including:

Magazine: Holds multiple arrows.

Lever: Connects the upper and lower parts, draws the bowstring, and places it in the cocked position.

Ridge and Groove: Guides the upper part as it slides through the bottom part.

Notch: Catches the bowstring when the pin is in the lower position.

Pin: Moves up and down. When lowered, it allows the bowstring to be positioned for firing; when raised, it releases the bowstring from the cocked position, with the spring force of the bow returning it to its original position.

Step 2: How It Works:

The three firing steps, as shown in the video above are:

Cock: The notch catches the string, and the arrow is positioned for firing.

Draw: The lever pulls the string back, applying tension.

Release: The pin pushes the string out, causing the arrow to shoot forward.

Step 3: A Working Manually Operated Crossbow

Congratulations, you have successfully built a hand-operated repeating crossbow. The video above showcases it in action. While this is a weapon with limited destructive potential, it's important to exercise caution and avoid aiming it at people. To take your project further, the following steps require a certain level of coding knowledge in Arduino IDE and experience with MIT App Inventor. Additionally, hands-on experience in wiring microcontrollers like the Arduino UNO will be beneficial.

Step 4: Connecting the Electronics and Writing Code


To facilitate remote control of the crossbow, we will replace the manual lever operation with a servo mechanism. This servo will be strategically positioned at the pivot point of the crossbow. Following this, I secure both the crossbow and the servo onto a piece of plexiglass using two angle brackets. Additionally, I integrate a 5mw laser module at the front to enhance the precision of aiming. Depending on the specific design of your crossbow, you'll need to determine two servo positions: one for raising the pin and another for engaging the string. These positions are demonstrated above and are crucial inputs for the main program.

I've included a small Arduino program that facilitates control of the servo angles via the serial monitor using the Arduino IDE. To successfully run this program, ensure that you have chosen "no line ending" in the serial monitor and then follow the on-screen instructions. You can access the program for download on my GitHub repository.


I repurposed the base and shoulder components of a Lynxmotion robotic arm to design a pan-tilt mechanism for mounting the crossbow, as depicted. The integration of the Sensor shield has significantly simplified the wiring process. In essence, three servos are connected to pins 9, 10, and 11, while the laser is connected to pin 8. The 5V power bank is linked to an external power inlet of the Sensor shield, providing power to both the UNO and the servos. The program is well-documented with explanatory comments placed alongside lines to clarify their functionality. Fundamentally, this program responds to Bluetooth commands received from a phone, enabling precise adjustments to the crossbow's orientation.

For your convenience, the program is readily accessible for download on my GitHub repository.

Step 5: App Development

I've crafted my application using MIT App Inventor, and you can observe the layout in a screenshot provided above. The user interface showcases two prominent buttons at the top – one dedicated to Bluetooth connection establishment and the other for disconnection. Additionally, the interface incorporates two slide bars, skillfully regulating the movement of the pan and tilt servos. You'll also find two buttons for activating the laser and firing shots respectively. Towards the end, there's a display that facilitates error checks for Bluetooth connections.

To access the *aia file, it's available for download from my GitHub repository. To ensure the seamless functioning of the app, make certain that the Bluetooth module on your Arduino UNO is paired with your phone, enabling it to appear as a viable option within the app.

Step 6: Conclusions

The video above provides a demonstration of the crossbow in action. Rest assured, no blondies were harmed during the production of this video. Likewise, the apple featured was not wasted either.