Ascii Aquarium CrowPanel Advance-Voice Assistant,3 modes,!Now Halloween mode with scare!

Story

# ASCII Aquarium for ESPHome (CrowPanel 7") An ESPHome external component that renders an ASCII aquarium on a display: swimming fish, bubbles, a seabed and clocks. It started on a CYD (ESP32, 320x240) and was ported to the **Elecrow CrowPanel 7" (ESP32-S3, 800x480)with a voice assistant.

## Features

- Fish swim forward and also up/down, each with a random color -

- A temperature fish showing a live value from a sensor

- A “text” fish -

- Feeding: falling flakes that the fish chase (triggered from Home Assistant) -

- Header with a small clock and date, a big ASCII clock, and a boxed clock with a transparent background (each can be toggled with a switch in HA)

  • Adjustable number of fish and speed -

  • Space mod

  • Halloween mode:**

  • MDI icons swim instead of fish (pumpkins, ghosts, skulls, spiders, spider web)

  • Scare effect:a blinking ghost/skull image on the display,spooky sound played by a Home Assistant automation

  • Voice assistant The panel doubles as a voice satellite for Home Assistant: -

  • Wake word (`micro_wake_word`) and `voice_assistant` talk to HA - Microphone: I2S (PDM), speaker: I2S, sounds are played through a `speaker` `media_player` -

  • The assistant state is shown under the header on the display: `LISTENING` → `THINKING` → `SPEAKING` (driven by the `va_state` variable) -

  • The speaker is shared by the assistant and the spooky sounds from Home Assistant (`media_player.play_media` with `announce: true`)

  • Backlight and amplifier are controlled over I2C (address 0x30), touch is a GT911 (0x5D) > Pins and audio settings were taken from my own working configs .

  • Adjust them if you use different hardware.

Structure

my_components/ascii_aquarium/ \__init_\_.py
config schema (width, height, char_width, line_height) ascii_aquarium.h 
logic, fish physics, clock drawing crowpanel-aquarium.yaml 



added HA mode.