Introduction: Fencomat - Arduino Based Fencing Trainer

The second two apes started fighting with sticks tying to poke each other - fencing was born.

Some hundred thousand years later we are using the same concept embedded in the concept of sports. Which makes each fight fair and their fore more exciting.

The flexible blade of the epee measures 90 cm from the bell to the tip. The tip actually is a switch. That indicates a hit when a force of 750 grams ( or 7,4 Newton) applied. The entire body acts as valid target area - even the hand holding the weapon. And can be hit at any time during a fight. To be able to score accuracy and speed are two key features.

Both can be improved with the device.

Step 1: List of Parts & Tools


  • Arduino nano
  • 8 LED WS2813-RGB
  • USB plug
  • Cocodile clip
  • Some wire
  • A resistor 500 Ohm
  • Wire grid
  • Acrylic glass or plastic plate
  • Fake lether
  • Scrap fabric
  • PVC pipe 2,5 cm x 5 cm


  • Hot glue gun
  • Sewing machine
  • Scissors
  • Jigsaw or handsaw
  • Soldering iron

Step 2: Basic Parts

Step 3: Electronic Wiring

Step 4: Hit Area

The eight hit areas have three functions

  1. to act as a switch
  2. to protect the LED
  3. to mount it on the cushion

Assembly of the hit area

  1. The ground plates cut form acrylic glass. 5 by 6 cm.
  2. The corresponding wire grids measure 4 by 5 cm.
  3. 7 mm hole in the middle to fit the LED.
  4. A wire is soldered to the middle of the wire frame and fed trough the hole.
  5. Hot glue keeps the wire grid in place on top of the acrylic glass.
  6. Wires are solder to each side of the LED except for the last one that is shown in the picture.
  7. mark the direction LED on the back to ease the assembly later on.
  8. Hot Glue holds the LED on the back of the acrylic glas.
  9. more Glue sticks some fabric to each side of the back of the acrylic glass.

Step 5: The Cushion

  • Cut the fake leather to a fitting shape. I choose to have like a square top to resemble the torso and a thinner line with 3 extra pads as an arm or leg like target
  • The wires of each hit plate are fed trough two small holes in the leather. You can use a small screwdriver to punch the holes.
  • The LED are connected as described before . on the back of the leather
  • The 3 remaining LED cables and each cable from each wire grid are guided to the lowest point of the leather where the Arduino will be placed in the next step
  • Test all connections and label the wires at the bottom end. Especially the wires from the hit plates.
  • Sew the excess cloth of the hit areas on the fake leather. Be careful not to damage the wires.
  • Sew a matching peace of fabric on the back of the leather but leave some gap to stuff the cushion.
  • Stuff the cushion with whatever you have at hand. You can take apart an old cushion or in my case I cut old T-Shirts in little peaces and stuffed that in.
  • Close the last gap
  • Attach some handles on top. I used two because I did not want it to wiggle around while training.

Step 6: Connect the Aruino

Connecting the LED

  • Connect + from the LED to the 5v output of the Arduino.
  • Connect - of the LED to ground on the Arduino.
  • Place the 500 Ohms resistor between the data-wire and Pin D13 on the Arduino. If you do not use a resistor you might fry the LEDs.
  • Connect the cable of the first wire grid to input 2, the second grid to input 3… and so und up to grid 8 that is connected to input 9.

Connecting the blade

  • Solder the crocodile clip to one end of a looooooong peace of wire and solder the other end to ground on the Arduino.

Connecting the Power (USB)

  • The Arduino and LEDs are run with 5 Volts. Using very little energy. Therefore they can be run by a phone charger or a power bank. To ease connection I decided to add a USB plug at the end.
  • Do not use the internal usb-port for power supply since it can not handle the force very long.
  • Connect a USB-Plug to the 5v input and ground of the Arduino. Be sure to ad a strain relief.

Step 7: Strain Relief

The electronics will be shaken a lot when the system is in use.

Therefore do not use the built in USB plug to supply power. Use an extra cable.

To protect the soldering joints from stress I mounted the Arduino and USB-plug to a plate and fed the wires through two holes as strain reliefs.

Step 8: The Code

To make it work you have to program the Arduino attached.

To run the LED you also need this Library:

Have fun fencing!

Step 9: The Video