Laser Tag Project

Over the last couple of months, I have started development of a new microcontroller project in my spare time.

The aim of my project is to produce an inexpensive “Laser Tag” system that can be used to play multiplayer games. Of course, you can buy such systems from a toy shop, see here…

But this is a very simple “point score” implementation of the concept that does not allow for the creation of custom games such as “Capture the flag” or team based games.

My aim is to produce a system where a centralised server (think Raspberry Pi or a laptop) controls the game, all devices communicate with the game server over WiFi and the game devices (such as a tactical vest or gun) simply send messages to, or receive command messages from the main server.

This will allow for a great deal of flexibility in the game creation and should make for a very exciting platform that can be expanded upon.

I have a few criteria that must be met.

  • The hardware must be cheap
    (we are talking < £100 for enough equipment to run a five-person game)
  • It must be possible to write games without a knowledge of microcontrollers or electronics.
  • The game must perform well
  • The game should allow the possibility that it may be integrated with external systems and frameworks (such as a mobile application or Unity3D app)
  • Audio should be considered at some point during the implementation.

I am currently doing experiments with the ESP8266 microcontroller to assess it’s suitability for this project, it seems like a good candidate as it has Wifi, a number of GPIO pins and runs at a decent clock speed (up to 240Mhz under normal “warranty safe” conditions)

Specifically, I am looking at these areas at the moment;

  • Infrared send & receive
  • Wifi communication speed & latency via various techniques
    • Which one is most reliable, HTTP, UDP packets, MQTT?
    • Can a good message rate be sent to the microcontroller and is it dealt with in a timely fashion?
    • Can the microcontroller send messages to the central server at an adequate rate?

These questions are deliberately vague on the details so that I can explore these questions from a few different angles and hopefully come up with the best way of establishing “real-time” communication between the server and game devices.

I will write more as I work on this.






To introduce myself, I am Paul Maidment and I am a software engineer. By day, I write and maintain software in Java and sometimes PHP for a leading affiliate marketing company. In my leisure time I have diverse interests, including electronics and microcontrollers (at this time ESP8266, ESP32 and Atmel 328 devices) C#, Java, Unity3D, Virtual & Augmented reality, this list is by no means exhaustive.

I finally decided to start writing a blog so that I can share some of the things I am doing on social media and with my friends from the MakerSpace I am involved with.

My current project is “Laser Tag” powered by ESP8266 microcontrollers, it is very much at an early phase where I am deciding how I will build the platform from a high level, running experiments on breadboards and so on.

It is my intention to keep this blog up to date with information on different parts of the project as I work on them, hopefully this will be of interest to some readers.