Table tennis robot - homemade hobby project

Document created by Sergey Vasyliev on Feb 27, 2017Last modified by Sergey Vasyliev on Mar 3, 2017
Version 7Show Document
  • View in full screen mode

About this project

Table tennis robot with Android Bluetooth controling. Based on STM32F303VCT6 and STM32 PMSM FOC library

Vedroitt gun barrel


Project info

Type : description on how I built my application / description of component or application usage 

Progress : I still have work to do 

Difficulty : Advanced 

License :

The Team :

Things used in this project

Hardware components :

Launch motorBLDC motor with rubber roller. Used for launch tennis balls
STM32 microcontrollerSTM32F303VCT61
ServoHigh torque servo motor. Used for rotate gun barrel left/right and up/down
Bluetooth low energy moduleBluetooth low energy module1
Stepper motorStepper motor. Used for boosting balls to launch motors1
Plastic pipes I've tried a lot of plastic pipes for creating gun barrel :-)...
A lot of electronic components, 3D printed parts, etcI can't describe all those things here - it would be a long list :-)...

Hand tools and fabrication machines :

3D Printer, different instruments, turning lathe, Android phone.

Software Tools :

STM32 PMSM FOC library, Visual Studio, Xamarin Forms, etc...



Sorry my English - I am doing English cource now, but probably I still do a lot of errors :-)

First of all - it's not completed project, I am still working with it in my free time. But since this moment I've done so mush work, so I decided to provide some information about my project here.

If you enjoed with this project, please like my video at "ST embedded Contest 2017" - it will help me to continue my work



1) I began this project in 2013, when I understood that I love table tennis. I have to improve my game skills, but how? I decided to create my own robot for training.  Firstly I used 2 small DC motors (FA-130). For controlling them I've created small PCB with STM8S105 microcontroller and LED indication.

Ttrobot_v1_PCB_top Ttrobot_v1 PCB bottom

It was simple board, and it works as I expected. Board controlled by IR remote, for boosting balls used unipolar stepper motor. But very soon I understood, that FA-130 motor was very bad choice for my purpose. It has small power and it's brushes have small lifetime term. Small unipolar stepper motor didn't have enough torque for rotate more than 30 balls. So, I had to change this  situation.

Actually, robot is a not very difficult thing, but when you think how to create your own robot, you must think about many things. I read a lot of information about robots, that exist on the market, and I found that a lot of them use DC motors.  But in past I had experience with high voltage motor drives, and I knew difference between brushed and brushless motors. So I thought about brushless motor - and I found sollution - it was STM32 FOC SDK library (v3.3. at that time). I began a next stage...


2) At that time ST still not create their STM23F3xx series, so I had only STM32F103RET6 microcontroller for my purpose. But it was great, because I could use it for controlling 2 BLDC motors from one microcontroller. My next board looks like this (I live in Ukraine, where we use Ukrainian and Russian languages, so some videos not in English, sorry):


I was happy, when my motors began their first rotate! I write a lot of modules for LCD, IR remote, stepper motors... It worked! But it's not an ideal, isn't it?


3) My next board already could be programmed with IR remote. I was moving toward my goal.

TtRobot v2

At that time I used this robot for a one month. My skills were improved, I learnt how to do top-spin :-). Here short video, which I created for my friends:

But in 2014 situation was changed. Firstly, situation in Donbass (region in Ukraine) increasingly become similar to war :-(. It was really sad. I couldn't think about hobby at that time.

At same time I started my one year cource for graduated as software developer (my second education) in NURE. So I has not work with robot since this year.


4) I was graduated in the end of 2015. During 2016 I got experience with C# language and .NET framework. I read a lot of books. It was hard, but very interesting time. Then I decide, that I must finish my project, because I don't like to leave my projects without sollution. At that time ST alerady created their STM32F3 series, so I began work again.

I remember all problems that I had with my old boards, so I created universal board with STM32F303VCT6 microcontroller. Here it, some components are removed to the newest board, sorry :-):

TtRobot_v3 PCB


There a lot of interfaces, which are not required for robot, but I added them for testing purpose. This board can operate with 2 BLDC motors, one Bluetooth LE module, bipolar stepper motor, unipolar stepper motor, IR remote, USB/UART, USB, 3 servo motors, sound buzzer, on-board EEPROM, optical sensor. I wrote firmware for it - it was my universal prototype. And I wrote Android application with this board.

This video shows the process of development:

And this video shows testing of gun barrel:


5) So, one month ago I decided, that that's all, I've done major part of my work. And I developed last version of PCB,  which now participate at the "ST embedded Contest 2017"

Vedroitt_v3.1 PCB


Today I receive package with 20 boards from one othe PCB manufacture services.

Vedroitt_v3.3 PCB's

First assembled board works as expected:

Vedroitt_v3.3 assembled PCB



Mobile application :

It is also under construction now. But even now it can do a lot of things: create programs, create presets, tune each part of robot from phone, etc... You can see more here Table tennis robot STM32F303VCT6 

Here few screenshots (of cource app is more difficult, but they can give you some information):

TtRobot_v3.3 Android app1 TtRobot_v3.3 Android app2 TtRobot_v3.3 Android app3

TtRobot_v3.3 Android app4 TtRobot_v3.3 Android app5



As you understood, this part was created wih 3D printer. There are 2 versions of barrel, that I've created since now. Latest has been shown in this video Vedroitt at ST embedded Contest 2017



It's not the end. I still working with my project. But now I need 3D printer for next stage. So if you interesting in my project, please like it here Vedroitt at ST embedded Contest 2017

Thank you very much!

4 people found this helpful