Skip to content

worksasdesigned/1D-RGB-Invader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ This is just the short version of documentation ⚠️

check for detailed docu&howto @ instructables.com

Find all files and 3D Model here:

3D Model: https://makerworld.com/de/models/2254346-1d-rgb-invader-retro-game#profileId-2455425
Howto: https://www.instructables.com/-Ultimate-1D-RGB-Invaders-ESP32-Edition-Arcade-Act/

Source Code is latest "release". In the bin folder you'll find the latest updates (for OTA updates).

👾 Ultimate 1D RGB Invaders 👾

ESP32-powered WS2812B 1D arcade shooter inspired by Space Invaders

Turn a LED strip into a playable arcade game.
One pixel is your ship. The rest is hostile.

---titel_NEU

⚠️ Project Status & Version Recommendation (READ FIRST)

This project exists in two hardware variants:

✅ Recommended & Actively Developed

Sound Edition – ESP32-S3

  • Full arcade sound via I2S amplifier
  • Web UI, OTA, highscores, bosses
  • Actively developed and extended
  • This is the version you should build

🎮 Features (ESP32-S3 Sound Edition)

  • Old-school arcade sound (I2S)
  • Boss fights
  • Highscore system
  • Web configuration interface
  • OTA firmware updates
  • Adjustable difficulty
  • Preset kids mode
  • Single .ino file (Arduino)

☠️ POWER & SAFETY – DO NOT SKIP ☠️

🚫 NEVER power the LED strip via the ESP32 USB port
WS2812B strips can draw several amps.
The ESP32 cannot supply this.

🔥 DO NOT connect the ESP32 to a PC via USB while the LEDs are externally powered

Correct workflow:

  • Flashing firmware → NO external LED power
  • Playing the game → NO PC USB connection

Failure results in:

  • Burnt USB ports
  • Dead ESP32
  • Potential PC damage

🛠 Hardware – ESP32-S3 Sound Edition

Core Components

Part Description
MCU **ESP32-S3 DevKitC-1 **
LED Strip WS2812B , 60 LEDs/m --> silicon coated / with diffusor recommended
Audio Amp MAX98357A I2S
Speaker 4 Ω / 3 W
Buttons 3× 60 mm arcade buttons
Menu Button 1× 12 mm momentary
Power USB-C PD trigger (fixed 5 V)
PSU USB-C power supply (≥3A recommended)
Misc Wires, connectors, 3D printed case Hotglue as for every DIY project

Typical LED length: 4 m
Estimated total cost: ~35–50 €


🔌 Wiring – ESP32-S3 Sound Edition

kabelsalat_diagramm

General Rules

  • Buttons: GPIO ↔ GND (internal pullups used)
  • LED Power: directly from 5 V PSU
  • ESP32 GND and LED GND must be common
  • LED data line only goes to ESP32

Pin Mapping (ESP32-S3)

Function GPIO Notes
Button Blue 15
Button Red 16
Button Green 17
Menu Button 18 Hold for WiFi
LED Data 7 WS2812B
I2S BCLK 4 MAX98357A
I2S LRC 5 MAX98357A
I2S DIN 6 MAX98357A
Amp Power 5 V / GND External 5 V

💻 Software Setup – ESP32-S3 (Critical)

Arduino IDE

  • Arduino IDE 2.x
  • Library:
    • FastLED (Daniel Garcia)

ESP32 Board Package (IMPORTANT)

⚠️ Audio requires a specific ESP32 core version

  • Board package: esp32 by Espressif
  • Required version: 2.0.17
  • ❌ Do NOT use 3.x

Board Settings

  • Board: ESP32S3 Dev Module
  • Flash Mode: DIO 80 MHz
  • Flash Size: 16 MB
  • Partition: 16M (3MB APP / 9.9MB FATFS)
  • PSRAM: Disabled
  • USB CDC on Boot: Disabled These settings are compatible with cheap ESP32 S3 boards. Many AliExpress boards having issue with OPI RAM :-(

🚀 Uploading Firmware (ESP32-S3)

  • Use USB port labeled UART / COM
  • If upload fails:
    1. Hold BOOT
    2. Press RST
    3. Release BOOT
    4. Upload sketch

🌐 First Start & Web Configuration

  1. Power system using external 5 V
  2. Hold menu button for 4 seconds
  3. LED strip turns blue
  4. Connect WiFi:
    • SSID: ESP-RGB-INVADERS
    • Password: 12345678
  5. Open browser:
    • http://192.168.4.1
  6. Configure:
    • LED count
    • Brightness
    • Sound options
  7. Save → automatic reboot

play1

📦 Files & 3D Models

https://makerworld.com/de/models/2254346-1d-rgb-invader-retro-game#profileId-2455425

video1.mp4

🎮 Have fun saving the galaxy.

Versions and Updates

Major Version as source code, minor updates as *.bin file in the bin folder (use OTA Update of Firmware in Web Config)

Version Datum Beschreibung
V.10.2 16.02.26 small balancing adjustments
V.10.6 26.01.26 Boss 1, Boss 2 adjusted. Endless mode now possible after RGB Overlord was beaten once (level 11–20)
V.10.7 27.01.26 balancing of RGB Overlord. Bonus Stage (Beatsaber-style) now possible. Little easter egg in "show level screen" (boss bars)
V.10.9 28.01.26 second bonus stage added "Simon says" both possible when reaching full points, boss coding adjusted to avoid missfire in case of very rapid shots

About

ESP32 powered WS2812B 1D Space Invader game

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages