Blog - Sketching with Hardware


Published on: | Author: Tobias Fütterer | Categories: 2018a, Best Projects, Projects, Terms

The Idea

Our topic „robotanics“ also included machines, that make staying outside more ejoyable. Since my partner Philip and myself are not considering ourselves to have a green thumb, we were trying to improve activities with technology, that we love doing in the garden, when it came to brainstorming. 

As we were thinking about water battles, we quickly realized, that there is a huge potential of improvement opportunities. Wouldn’t it be nice to know, who won the battle? And why it shouldn’t be able, to play water battles, in the same way as you play lasertag? Thats what we wanted to create! A new gadget, that would allow the user to play our  new garden activity: Watertag.

We orientated towards the way, lasertag works and our project took pretty fast its shape: We wanted to create a vest, that could:

  • trigger water jet hits
  • give the player feedback with different lightning, sound and vibration
  • be wireless ported
  • impress with its design & functions


Triggering Hits

Right from the beginning, it was clear, that the critical aspect of our project would be to trigger the hits of a water gun. So we started by experimenting with different kinds of sensors, that we hoped would give a proper result. Our first idea was to trigger the hits by the pressure they produce. For this approach, we started experimenting with a FSR Resistive Pressure Sensor. We poured water on a foil, that protected the sensor from the water, but were not satisfied with the given results. The data was not matching the activities perfectly, and when the sensor got a bit wet, the recorded data was unusable.

The next approach was to trigger the hits by the vibration they produce! In order to do so, we installed a piezo sensor on a piece of a printer casing and attached it to the arduino. When we were testing it with our new bought water pistol, we were amazed, about how fine it worked. 


Building our first prototype

Now that we had found a working method to trigger the water jet hits, it was time to build our first, stripped down prototype.

Since the sensor is reacting really sensible to vibrations, it was important to find out, if the movement of the body while playing, would trigger the sensor and distort the data.

To test it, we installed a piezo sensor on the top of a plastic box and attached foam above it in order to minimize the transmission of  body movement to the construction. We finished our prototype with mounting a belt on it and took it outside for a test. 

Although it was freezing cold and Philip was getting the water everywhere (especially in his face), the test was a great success!  The foam prevented the distortion of the triggered data better than both of us had expected it and our prototype was able to trigger water hits, that were shot from up to 8 meters. At that point, our doubts have changed into pure euphorism, because testing it made already so much fun and the triggering system worked better than we both had expected it!    



The problem of triggering the water jet hits was solved, and it was time to take watertag to a new level! Being good in time, we developed a vision of how our watertag-vest should be like and started to realize it step by step. The first step was to prepare all the necessary material and elements that would be attached. 

The majority was available in the lab, but we needed to get:

  • The perfect base material for our vest, that would be thin enough, so that the impulse of the water jet, would come through with a minimum of energy loss. Additionally is should be stable and waterproof, because all the other elements would get attached on the back of it. Our solution was a  1,5mm thick plate of plastic (polystyrol).
  • Other piezo sensors, because the solder didn’t made a firm connection with the ones that were available in the lab. Since it it the most important element that is connected to the arduino for our vest, it needed to be really stable and reliable. The piezo sensors we bought were made out of copper and did a much better job!
  • Foam 

The other components, were found in the lab or were provided by Bernhard Slawik himself: 

  • Arduino uno
  • 2 waterproof LED strips
  • 1 piezo speaker
  • 1 vibrating motor
  • 2 zener diods
  • 2 resistances (1 Megaohm for piezo)
  • 1 resistance (500 ohm for LED Strips)
  • capacitor (1000 µF)
  • switch
  • power bank
  • small sac for the powerbank
  • small piece of plexiglas
  • 4 belts
  • acrylic paint
  • foils
  • a lot of different tapes
  • hot glue
  • two components glue
  • platine
  • a lot of cables
  • usb cable


Building the essential

At first we designed the skeletal structure of our vest on paper and translated it in photoshop. Then we used the laser cutter to cut it out of our plastic plate.

We were obsessed with the idea of an iron man touch on the vest, so we cut out a circle in the middle of it and glued a bigger circle out of plexiglas with two components glue right behind it. In order to light it up, the plexiglas was wrapped around with a waterproof led strip (we called it iron man strip), that was glued on the plastic with hot glue. In order to get a more even lightning, the plexiglas was getting sanded.

Originally it was planned to cut out small holes into the plastic, where the LEDs of our lifepoints LED strip were located, but after discovering that the plastic was thin and transparent enough to let the LEDs shine through it, we changed our minds and just glued it to its place.

lifepoints LEDs shining through the plastic

After we tried out all the different elements (vibration motor, piezo speaker, LED Strips, piezo sensor) on the Arduino individually and made our fritzing plan, it was finally time to bring everything together.


Our fritzing plan


We assigned the elements to their place with double-sided adhesive tape and soldered everything together on a platine. In order to prevent loosing the overview, we labeled every cable and tied everything together. Don’t be lazy here! This can save a lot of time and nerves.



Making it waterproof

Electronics and water are not the best friends as you might have expected. To prevent the electronics we needed to make it waterproof! After we have checked, that everything was working fine, we started by testing if a piezo still works, when it is simply surrounded with hot glue (Yes it does!) and glued it on the plastic. For the other parts, we developed a different technique. Since they should be recyclable and don’t take hot glue too well, we covered everything with a foil and glued only the edges on the plastic with hot glue. Some foils that we used did melt from the high temperature of it, so we either put tape above the foil (Arduino), or were really careful (platine).

platine with only foil and hot glue

Arduino with tape, foil and hot glue

For the power supply we attached a usb cable to the Arduino before we made it waterproof so that we could either power the vest by a power bank, or connect it to a computer to update the software. In order to switch it on and off a power switch was installed on the usb cable.


USB cable attached to the Arduino

Everything else, that should be waterproof was getting wrapped up with a lot of foil and tape. One big disadvantage of it was, that the piezo speaker had so much around it to ensure that it would not get wet, that the sound was finally too quiet to be noticeable.

Final touch

To create a even stronger light effect, we sealed the iron man LED circle with a bit bigger circle, that we cut out of our plastic plate. After we glued it on, the lightning was a lot brighter and smoother! To offer a wireless power supply, we glued a small sac on the plastic, where a power bank could be inserted in. In the sac was a small plastic bag, that prevented the power bank from the water.

Finally we mounted four different belts on the watertag-vest so that it could stick to the player.

And suddenly all the beauty of electronics and cables was hidden, when we attached the foam to our construction! Only the vibration motor gave a small example of what was hiding behind the four centimeter thick foam. To finish it off, the vibration motor (we called it vibrator), was hided in a small hole, that we cut into the foam and the backside of our vest suddenly looked pretty unexciting. 

Hiding the vibration motor

But we wanted everything, except something unexciting, so we finished our hardware with giving it a superhero look on the frontside. Inspired from different hero costumes, Philip polished the frontside with some acrylic paint!


What an upgrade! 


Codewise, the watertag-vest is kept pretty straight. A player has an set amount of lifepoints and three different states of life, that are symbolized by the lifepoints LED strip. The created damage gets subtracted from the lifepoints until the player is dead (lifepoints = 0). The LEDs of the lifepoint LED strip, are changing the colours individually from green to red until they go out depending on the percentage of left lifepoints for their state.

A player is always in one of four states:

  • the initial phase, where the player is immune to damage and the LED circle is animated to do at first green circles, and a rainbow circle seconds before the game starts and the state changes into the normal state.
  • the normal state, where the LED circle is simply blue and the system is waiting for a deflection from the piezo sensor. When the piezo sensor is triggered, the state changes into the under-fire state. 
  • the under-fire state, where the LED circle is blinking really fast in red and the damage is summed up over time, until a timer stops it (after about 500ms) and changes to the recover state. In order to let the LED blink, while listening with the piezo sensor, we had to fake concurrency with an other custom timer. The time limit where you can be damaged, was implemented so that a player can’t die out of only one close attack.
  • the recover state, where at the beginning the LED circle blinks either in red or green depending on the amount of damage that has been charged. If it blinks red, the level for a critical hit has been exceeded. While the circle blinks, the piezo speaker makes a tone and the vibrator motor does his job. In this phase, the player is immune and the piezo sensor is ignored. On the one side it helps the player to find a new place to hide and on the other hand it ensures, that the vibration of the vibration motor does not disturb the triggering of the piezo sensor.
  • the critical state, which has the same functions as the normal state, but signals with the red instead of blue LEDs, that the player is wounded heavily.
  • the game over state, which is reached, when the lifepoints equal zero, where again a rainbow shows the players, that the dead player is out of the game. After the animation is over, the state changes into the shut down state.
  • the shut down state, where the system gets shut down


Example of how well the triggering system worked


If you want a closer look to our code, you can download it here 

The used pitches file can be found here

Final Thoughts

I am convinced, that watertag is an awesome activity in the summer! It made so much fun to build, experiment and play with it during the internship, and you have to consider, that it was fucking cold outside. Still I have to admit, that it doesn’t come near to the precision of lasertag, as the transmission of  body movement to the construction is not low enough, to set up the piezo sensor so sensible, that it could trigger shots, that were fired from a larger distance. We needed, to define a limit of value for the output level of the piezo sensor, where a deflection can be considered as a hit from a water jet. Otherwise a player would damage himself, when he is jumping around. That is the huge advantage of lasertag, since the triggering doesn’t work with physical movement but with lightning.

Still it was an awesome time and everybody was really excited with the final product and I can fully recommend to build your own watertag vest!









linked categories 2018a, Best Projects, Projects, Terms


Write a comment