DN Virus Badge

ESP32-S3 Interactive Art Badge

[v1.4] Limited Edition of 30 Units


Features:

  • ESP32-S3FN8
  • Lots of LEDs
  • 6-Axis Motion Sensor
  • Ships with Interactive 'Game'
  • OLED Display connected via I2C
  • 3 Side-Mounted Input Buttons
  • Boot and Reset Buttons
  • USB-C Charging | Battery (optional)
  • Motion Sensor with LED Timeout Settings
  • Bonus 'Extras' 🙂 🦠

The Game:

This simple game uses the ESP-NOW protocol to transmit a basic set of data, including a random integer value and the health level of the broadcasting unit. It is designed as an oversimplified model of biological virus transmission.

Here's how it works:

  1. Broadcasting:

    • Each unit transmits data using the ESP-NOW protocol, which only covers a moderate distance.
    • Data includes a random integer value and the health level of the broadcasting unit.
  2. Game Mechanics:

    • When a device receives a broadcast message, it plays a game similar to the classic card game "War".
    • The broadcasting unit selects a random number within a set range.
    • The receiving unit, with a slight advantage, selects from a slightly larger range.
    • Health points are gained or lost based on the game's outcome, randomized within a set range.
  3. Infection Status:

    • If a device's health value is 0 or less, it is considered 'infected'.
    • Health values range from -100 to 100.
    • The OLED display and LED matrix show the health status. -100 health lights the grid red, while 100 health turns the LEDs green. 😎
  4. Scoring:

    • Points are assigned for specific events and increase continuously, allowing for comparison with other users at the event.
    • Devices powered on and actively playing the longest have the best chance for high scores.

Hacking:

The device uses a simple protocol and transmits a basic data structure. We encourage you to:

  • Sniff the Air: See what kinds of transmissions can affect game outcomes. Good luck!
  • Re-program After DEFCON: Pin numbers are listed inside the PCB. Code for the LEDs on the grid and ring will be provided in the Deepnetstore GitHub.

Pin Definitions:

  • Boot: GPIO0
  • Neopixel Grid: GPIO11
  • Neopixel Ring: GPIO17
  • Button DOWN [SW3]: GPIO36
  • Button CENTER [SW2]: GPIO37
  • Button UP [SW1]: GPIO38
  • I2C SDA: GPIO33
  • I2C SCL: GPIO34
  • IMU Interrupt1: GPIO26
  • IMU Interrupt2: GPIO35
  • IMU Addr: 0xD5U
  • Battery Level: GPIO14
  • On Board LED: GPIO15
  • On Board LED: GPIO15

Photo: