Introduction: Basketball Training Machine

This is the basketball training machine. You can infer from its name that it can help you train and improve your basketball skills. You will put this under the basketball rim, and when the ball gets in and falls down from the rim, then it will hit the machine, and the machine will count how many goals you have made. It is to train your stability when shooting the ball and controlling where it would fly. You can first start with a close place to the rim, then move farther and farther away. It worked using the button to add points. When the ball falls on the machine, the button will be activated, and it will add points in the LCD display. You can press the button outside to restart and the points will be back to 0 again. The target player is people who want to play basketball better, including people who are new to basketball and professional basketball players.


- Cardboard (2)

- Tape (Different types)

- Arduino Leonardo board (1)

- USB cable (1)

- Resistors (2~3)

- Jumper wires (20)

- Breadboard (1)

- Computer (1)

- Buttons (3)

- Baskets (2)

- Ethylene Viny Acetate (1)

- Utility knife (1)

- Arduino LCD display (1)

Step 1: Circuit

There are pictures of the circuit, one created using Tinkercad and another one pictured using my Arduino board. The pictures should be clear for you to connect the board right. However, I used Arduino Leonardo, but in Tinkercad, there is only the Arduino Uno board. So there might be a little difference between the two. By the way, the jumper wire connecting outside is connecting to the button. Be aware of the negative and positive of the button!

P.S. If your board is Arduino Unom, then plug SDA and SCL into 4 and 5, not 2 and 3.

Step 2: Coding

The code of this machine is stated clearly with explanations after each line in the website link under, just copy the same code.


Step 3: Dig Holes in Basket 1

We need to dig holes in the basket that has the identical area as the button so the button could be stuck in it.

Step 4: Board 1

Use the utility knife to cut cardboard for the base of the machine. With this base under all the things, it would be easier and safer to lift it and move. Without the board, the Arduino breadboard may be easily broken from the power of a basketball.

Step 5: Basket 1 in Position

This basket's uses are both protecting the Arduino board and giving another layer of support for the buttons. With this layer of protection, the Arduino board won't be harmed or affected by the power of the ball falling from the rim. It reduces the pressure and strength from the basketball.

Step 6: Board 2

Cut the second board the same as the first board. This board will be put on the top of the machine.

Step 7: Basket 2

This basket can be used to protect the buttons from getting harmed or destroyed by the ball. If the ball fell on the button with its full strength, then the button will definitely be broken. If the button is broken, then the whole machine can't work. However, we can't just put the basket on top of the buttons, since the basket has weight too, and that weight would trigger the button. Therefore, we can cut some cardboard and stick it under the basket to make the basket higher, not triggering the button even when nothing fell on it. But the basket also shouldn't be too high that it can't trigger the button even if the ball fell on the basket. So the height of the basket needs to at the medium, not always triggering the button while triggering the button when the ball fell on it.

Step 8: Adjustment & Beautify

You can make any adjustments or beautification in this step. For me, I added cardboard on the top layer so the contact area for the ball can be bigger. Also, I use tape to stick the button and the LCD display on top of the 1st board tightly so it won't fall so easily. You can also make the machine more beautiful or stable.

Step 9: Final Product & Testing Video

Congratulations! You Finished!

Here is the link to the testing video!