Tennis Ball Machine with Remote

Hello all,

I have kept my eye on the Arduino for many years, but have never attempted any projects with it yet.

I have recently started playing tennis. I am still a terrible player, but I do want to improve by getting a tennis ball machine. However, these are quite expensive ($500+ for a basic model, $1000+ for something more normal). Therefore I figured this would be a good DIY project.

I was thinking of using an Arduino to control the launcher. As I am not familiar with all the optional boards available, I would like to ask you guys what would be needed to implement this.

What needs to be controlled:

2x DC motors:
These are to shoot the balls. They will be constantly spinning, but I would like to control their speed together. I figured DC, as I want this to be battery powered (no AC plugs at the nearby tennis courts). I want to use 2 motors to reduce mechanical complexity. Arduino should turn them on and off. I might use a dial resistor to control speed.

2x LEDs:
One for showing the device as being on or off.
One for showing if it is in shooting or non-shooting mode.
Both will be a simple on/off.

1x remote control with 1 button:
1 button to toggle the machine between shooting and non-shooting mode. I want the player to be able to attach a 1-button remote control to their racket or wrist so that they will be able to start and stop the firing of tennis balls without having to go to the machine.

1x solenoid:
This will block or allow the balls to feed to the spinning wheels. Controlled by the Arduino, simple on/off control, but with a timer between each change of state.

Any suggestions on what is the minimum Arduino hardware I need to pull this off?


Any suggestions on what is the minimum Arduino hardware I need to pull this off?

Nothing in your requirements suggests you would need anything more (or less) than an Uno.

I think the the hardware side is likely to need considerable research and development - the software side seems quite straight forward.

I suggest for the remote control that you use separate buttons for start and stop to avoid situations where you accidentally stop and restart it when you only meant to stop it - and vice versa.

For the 'Mark 2' you could add a couple of servos to steer the launcher, and something with a bit more processing power to track you with a video camera and shoot balls at you - or away from you. :slight_smile:

Regarding the remote, what is available for the Arduino that is relatively simple to use? I saw some IR receivers (separate boards and simple diodes). Is there any other type, like RF?

For the IR setup, I guess I could use any IR remote, such as one for a stereo or TV, right? If there is an RF option, are there any suggestions on what type of remote to use?

The nRF24L01+ radio transceivers are dirt cheap and would give you a range of tens of yards with direct line-of-sight. They're easy to drive using an Arduino and don't use much power.

That's a great project. I was looking at the spinfire pro 2 machine, which looks like it's actually using an Arduino board, but at a cost of about $1800usd! I have to wonder how much it would cost for parts to make this. This is what the controls on it looks like:


Hello there
Any updates on this project? I have started my own similar project with an interface with android for real time control and programming of the machine. It would be great to have similar enthusiasts to help build that :slight_smile:

Which motors do you guys use for your projects?