ESP32-S3 Firmware

Flash Your LED Matrix

Install the mood atom visualizer directly from your browser. No software installation required.

Requirements

  • βœ“ Chrome or Edge browser (Web Serial API)
  • βœ“ ESP32-S3 board with USB connection
  • βœ“ 8Γ—8 WS2812B LED matrix on GPIO 2

Your browser doesn't support Web Serial

Please use Chrome or Edge browser (v89 or later)

Web Serial access denied

Check browser permissions and allow serial port access

1

Connect USB

Plug in ESP32-S3

2

Click Button

Press Flash above

3

Select Port

Choose serial port

4

Wait

~30 seconds

Flashing Failed? Try Manual Boot Mode

If the device won't enter flash mode automatically, manually trigger boot mode:

  1. 1. Press and hold the BOOT button on your ESP32
  2. 2. While holding BOOT, press and release the RESET button
  3. 3. Release the BOOT button
  4. 4. Click "Flash Firmware" again

This puts the ESP32-S3 into download mode for flashing

🎭

6 Team Moods

Upbeat, Flow, Calm, Uncertain, Stressed, Frustrated - psychology-backed team climate states

✨

Comet Trails

Beautiful fading tails (45β†’20β†’10β†’5β†’1 brightness) for smooth animations

🌊

Fluid Motion

30 FPS with momentum-based trajectories and Pac-Man style wraparound

πŸ“‘

WiFi Provisioning

Beautiful captive portal for easy WiFi setup - no hardcoding credentials!

πŸ’‘

LED Status Feedback

Corner LED shows WiFi status with pulsing blue (AP), flashing yellow (connecting), green/red flashes

πŸ”

mDNS Discovery

Find your device at howdo.local once connected to WiFi

What Gets Installed

Visual Features

  • Proportional color scaling (preserves hue)
  • Additive color blending for overlapping atoms
  • Exponential brightness fade on trails

Movement System

  • 8-directional quantized movement
  • 85% directional bias with 15% randomness
  • Periodic 45Β° turns every 2-6 seconds

After Flashing

1. Mood atoms start immediately - watch the colorful particles dance!

2. Device creates "Howdo" WiFi network - password: howdo2024

3. Connect your phone/laptop - captive portal opens automatically

4. Select your WiFi & enter password - device reboots and connects

5. Find it at howdo.local - or check your router for the IP

Remote Team Polling

Sync your display with a central mood API - perfect for distributed teams!

🌐 How It Works

  • Device polls your HTTPS endpoint at regular intervals
  • Endpoint returns JSON: {"moods": ["upbeat", "calm", ...]}
  • Device spawns atoms at random positions with mood-based colors
  • Multiple devices can display the same team moods uniquely

πŸ” Secure with BIP39

We recommend using 12-word BIP39 passphrases for authentication:

  • 128 bits of entropy (secure against brute force)
  • Human-readable (easy to share verbally)
  • Simple monthly rotation (revoke access for leavers)

Example passphrase:

abandon ability able about above absent absorb abstract absurd abuse access accident

Firmware Build Info

Loading version info…

File Checksums (SHA256)

Loading checksums…

What's New in v1.4.5

  • ⚑ Lighter dashboard: pauses polling on hidden tabs, slower refresh
  • πŸš€ Compact framebuffer endpoint - no per-request heap allocation
  • 🎨 Fixed WiFi portal signal bars and oversized status icons
  • πŸ”’ Diagnostics log now escapes remote server text