Fox3455
Active Member
For Worlds I decided to make IFF (Identify Friend or Foe) tags for the 405th. This is essentially lights your reticule red or green. It also tells you on your radar blue dots for friends and red for foe.
In this books it is also your team indicator where you have:
Spartan name, status light
I wanted to make something cheap that would show up on a dashboard and was low profile and low power so literally anyone can throw it in their armour at the event without worry. I basically wanted to make it as cheap as possible to propagate as many as I can. For those who don't know what an IFF tag is, how it works, or why the military use such things, the TLDR version is it prevents you from shooting down allied vehicles and aircraft. The long answer is with the speed in which an aircraft flies you need to know much sooner than you can visually confirm whether or not that is a friendly vehicle or not.
To avoid being shot down by both friendlies or avoid putting out unnecessary radio wave, there is a handshake that needs to happen. An interrogator signal is sent by the base to the aircraft. If the signal is recognised, and only if it is recognised, the aircraft responds with a handshake back to the interrogator signal. If this handshake is good your marked as a friendly and if not then you can probably imagine what happens.
For this project I chose to use the ESP-32 Wroom32 which allows for BlueTooth Low Energy (BTLE) which sucks little to no power and really cheap to purchase. It is 18 × 25.5 × 3.1mm, 4 MB flash, and a Xtensa® 32-bit LX7 CPU. The code I wrote uses 81% of the flash memory. It stores the Team ID then computes HMAC(secret, device_id || slot || team_id). BTLE has an effective range of 10m which is done so I am not tracking everyone across Seattle. The difference between an IFF tag in an aircraft and my IFF tag is that is constantly pings out the signal to the server. Obviously this is fine within the context of this project but not practical in real life.
For the event I wanted to make a dashboard to show what friendly Spartans are around at any given time. I wanted to declare the team, whose tag it is, and how far away the Spartan is. I wrote the dashboard in Python so it can run on literally anything. This just opens up BlueTooth and listens for the handshake. Using a simple JSON file for referencing what teams use which secret, then takes the RSSI and does this equation
I will be bringing a laptop and the code to flash other tags for anyone that wants to have one! If you have an HDMI monitor we could spruce up to look like a UNSC monitor that I could plug my Raspberry Pi into then it would be very appreciated! Next steps I am considering making a LoRa Heltec V3 just to make a more accurate version. I am also looking at making a radar to go with it too but this is a post Worlds problem.
In this books it is also your team indicator where you have:
Spartan name, status light
I wanted to make something cheap that would show up on a dashboard and was low profile and low power so literally anyone can throw it in their armour at the event without worry. I basically wanted to make it as cheap as possible to propagate as many as I can. For those who don't know what an IFF tag is, how it works, or why the military use such things, the TLDR version is it prevents you from shooting down allied vehicles and aircraft. The long answer is with the speed in which an aircraft flies you need to know much sooner than you can visually confirm whether or not that is a friendly vehicle or not.
To avoid being shot down by both friendlies or avoid putting out unnecessary radio wave, there is a handshake that needs to happen. An interrogator signal is sent by the base to the aircraft. If the signal is recognised, and only if it is recognised, the aircraft responds with a handshake back to the interrogator signal. If this handshake is good your marked as a friendly and if not then you can probably imagine what happens.
For this project I chose to use the ESP-32 Wroom32 which allows for BlueTooth Low Energy (BTLE) which sucks little to no power and really cheap to purchase. It is 18 × 25.5 × 3.1mm, 4 MB flash, and a Xtensa® 32-bit LX7 CPU. The code I wrote uses 81% of the flash memory. It stores the Team ID then computes HMAC(secret, device_id || slot || team_id). BTLE has an effective range of 10m which is done so I am not tracking everyone across Seattle. The difference between an IFF tag in an aircraft and my IFF tag is that is constantly pings out the signal to the server. Obviously this is fine within the context of this project but not practical in real life.
For the event I wanted to make a dashboard to show what friendly Spartans are around at any given time. I wanted to declare the team, whose tag it is, and how far away the Spartan is. I wrote the dashboard in Python so it can run on literally anything. This just opens up BlueTooth and listens for the handshake. Using a simple JSON file for referencing what teams use which secret, then takes the RSSI and does this equation
round(10 ** ((RSSI_AT_1M - rssi) / (10.0 * PATH_N))
to tell you how far away someone is in meters. Then splash some Falsk and a little bit of style to make it look as in universe as possible:I will be bringing a laptop and the code to flash other tags for anyone that wants to have one! If you have an HDMI monitor we could spruce up to look like a UNSC monitor that I could plug my Raspberry Pi into then it would be very appreciated! Next steps I am considering making a LoRa Heltec V3 just to make a more accurate version. I am also looking at making a radar to go with it too but this is a post Worlds problem.