explaingit

power-pill/ascii-aquarium

Analysis updated 2026-05-18

37C++Audience · generalComplexity · 2/5Setup · easy

TLDR

Firmware that turns a cheap ESP32 touchscreen board into a tiny animated ASCII fish tank with tap-to-feed fish and an optional Wi-Fi clock.

Mindmap

mindmap
  root((ASCII Aquarium))
    What it does
      Animated ASCII fish tank
      Runs on Cheap Yellow Display
    Features
      Tap to feed fish
      Bubbles and seaweed
      Optional Wi-Fi clock
      SD card screenshots
    Tech stack
      C plus plus
      Arduino
      ESP32
      TFT eSPI
    Use cases
      Desktop novelty aquarium
      Beam splitter cube display
    Audience
      Electronics hobbyists
      Maker community

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Turn a Cheap Yellow Display board into a decorative animated fish tank for a desk.

USE CASE 2

Flash the firmware from a browser without installing any development tools.

USE CASE 3

3D print a case or beam splitter stand to display the aquarium as a small glass-look object.

USE CASE 4

Show the time on the same screen using the optional Wi-Fi synced clock.

What is it built with?

C++ArduinoESP32TFT_eSPI

How does it compare?

power-pill/ascii-aquariummolaorg/rosbag_timing_inspectorqiufuyu123/positron
Stars373737
LanguageC++C++C++
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires owning a supported Cheap Yellow Display board and a USB data cable, the browser flasher only works in Chrome or Edge.

In plain English

ASCII Aquarium is firmware for the ESP32-2432S028R, a small and inexpensive touchscreen board sometimes called the Cheap Yellow Display. It turns the 320x240 screen into a live animated ASCII fish tank. The scene is not a video. The ESP32 renders it in real time: fish wander, school, turn around, change brightness, avoid each other, and chase food when you tap the screen. The tank includes animated ASCII fish in multiple character species with colors and depth shading, rising bubbles, swaying seaweed, and occasional visiting characters including an octopus and a seahorse. Tapping the screen drops food flakes that nearby fish chase down. Fish count, bubble count, seaweed behavior, visitor spawn rates, and background style are all adjustable through a touch settings menu. Background options include solid black, blue or purple gradient fades, and a randomized Spongebob-style flower backdrop. An optional on-screen clock can show the time in 12 or 24-hour format. The clock can sync to internet time over Wi-Fi. The Wi-Fi panel includes a network scanner, a saved credentials store, an on-screen keyboard, and automatic reconnection handling. Settings persist across power cycles using the ESP32's built-in storage. The firmware also supports SD card capture for saving screenshots or full frame sequences as BMP files. The easiest way to install it is through a browser-based flasher page using Chrome or Edge, which requires no local tooling. For those who prefer to build from source, the Arduino sketch and required library configuration files are included. The repository also documents an optional use with a 50 mm beam splitter cube, which creates an optical effect that makes the fish appear to float inside the glass rather than sit on a flat screen.

Copy-paste prompts

Prompt 1
Walk me through flashing ASCII-Aquarium onto my Cheap Yellow Display board using the browser flasher.
Prompt 2
Explain how the fish movement and schooling behavior works in POWER-PILL/ASCII-Aquarium.
Prompt 3
Show me how to build ASCII-Aquarium from source in the Arduino IDE instead of using the web flasher.
Prompt 4
Help me set up the beam splitter cube accessory described in this project's README.

Frequently asked questions

What is ascii-aquarium?

Firmware that turns a cheap ESP32 touchscreen board into a tiny animated ASCII fish tank with tap-to-feed fish and an optional Wi-Fi clock.

What language is ascii-aquarium written in?

Mainly C++. The stack also includes C++, Arduino, ESP32.

How hard is ascii-aquarium to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is ascii-aquarium for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.