Close
0%
0%

Build a Talking Quiz About Animals

A reusable template for makers: touch UI, instant reaction, and MCU-based neural speech. CrowPanel UI + TinyTTS voice: instant offline speec

Similar projects worth following
0 followers
Kids love quizzes — especially when the screen actually talks back to them. In this project, we turn a simple animal quiz into a small interactive console: the child reads a question on the Elecrow CrowPanel, taps an answer, sees the animal on the display, and then hears a short explanation spoken aloud by the TinyTTS module. Everything runs completely offline, with instant response and no cloud connection. For makers and educators, this build is more than just a demo. It’s a reusable pattern: a touch UI on a CrowPanel plus a local TinyTTS speech module. You can keep the animal theme, or reuse the same structure for geography quizzes, museum exhibits, classroom posters, or any other “picture + short story” content.

 

In this project, you’ll build:

  • A touch-driven animal quiz running on the Elecrow CrowPanel 5" (ESP32-S3).
  • A simple two-screen flow: Question → Answer with image → “Learn more” text.
  • An offline TinyTTS speech module that speaks both the quiz question and the “Learn more” explanation through a speaker or headphones.
  • A reusable template where you can swap animals, text, and images to create your own themed quizzes or educational displays.

What you’ll need

For the full bill of materials, check the “Things used in this project” section. In short, you’ll need a CrowPanel (5" or 7"), a TinyTTS Kit, UART wires, a USB-C power source, and a speaker or headphones.

System Overview

Architecture

  1. CrowPanel (ESP32-S3) Runs the entire quiz: displays questions, answer options, and animal images on the touch screen.
  2. TinyTTS Kit Handles all speech output. The CrowPanel sends plain text over UART, and TinyTTS speaks both the quiz questions and the detailed explanations.
  3. Data Storage Animal images are stored in SPIFFS and loaded into PSRAM for display.

In short: the quiz logic and UI run on the CrowPanel, while all voice output is generated by TinyTTS from text received over UART.

Repository Structure

  • firmware/ – Flash Tool and prebuilt binaries (application, bootloader, partitions, SPIFFS image).
  • main/ – ESP-IDF application code: UART communication with TinyTTS, asset loading, system setup, and integration logic.
  • components/ui/ – SquareLine Studio project and all UI-related code: LVGL screens, widgets, and the quiz flow (questions, answers, navigation).
  • assets/ – RAW image frames that are packed into the SPIFFS partition and displayed during the quiz.
  • images/ – Images used in the project documentation (README), not source material for the quiz.
  • readme_edit_scenario.md – Notes explaining how to modify the quiz content and structure.

What else can you build with this template?

Adding real voice to a simple quiz makes it far more fun and memorable — kids get curious, tap the screen, listen, and stay engaged. Because everything runs offline and reacts instantly, the experience feels smooth and a bit magical.

Here are a few variations you can build on the same foundation:

  • Interactive lessons – Use the talking quiz in primary school to make animal learning more engaging.
  • Language practice – Kids see text on the screen and hear it spoken by TinyTTS — great for early language learning.
  • Maker workshops – Let students add their own content and rebuild the quiz as a hands-on LVGL + TTS project.
  • Museum-style exhibits – Replace animals with artifacts — each item can speak a short story when tapped.
  • STEM demos – A clear way to show how a UI device and an offline TTS module communicate over UART.

You can remix the project in minutes by swapping text and images — no logic changes needed.

If you create your own version, share it on Hackster!

Resources & Links

  • 1 × TinyTTS kit: The First Neural Speech Module TinyTTS kit: The First Neural Speech Module https://www.elecrow.com/grc-tinytts-kit.html
  • 1 × CrowPanel Advance 7“ HMI| ESP32-S3 AI-Powered IPS Touch Screen (800x480) |With Acrylic Case https://www.elecrow.com/crowpanel-advance-7-0-hmi-esp32-ai-display-800x480-artificial-intelligent-ips-touch-screen-support-meshtastic-and-arduino-lvgl-micropython.html

  • 1
    Option A — Run the ready-made firmware (no coding required)

    f you just want to run the quiz immediately, use the prebuilt firmware — no toolchain needed.

    1. Download the prebuilt firmware bundle from the firmware/ folder.
    2. Run the included Flash Tool — it will automatically flash all images with the correct layout.
    3. Connect the TinyTTS Kit over UART (TX↔RX, GND, VCC) and attach a speaker or headphones.
    4. Power the CrowPanel — the quiz starts and TinyTTS speaks both the question and the explanation.

  • 2
    Option B — Build from Source

    If you want to explore the internals or adapt the project for your own ideas, you can build the firmware from source and modify both the UI and the quiz content.

    This compiles the LVGL UI, quiz logic, and generates the required SPIFFS image.

    The project uses ESP-IDF:

    1. Install ESP-IDF v5.4.
    2. Open the project directory in ESP-IDF.
    3. Build and flash:
      idf.py build
      idf.py -p PORT flash

  • 3
    Customization - Editing Text and Images

    You can fully customize the quiz to create your own theme.

    1. Add or change objects in the text.

    1. Add new case IDs in components/ui/include/builtin_texts.h.
    2. Write the spoken riddle text for each case in components/ui/builtin_texts.c.
    3. Add the on-screen question and answer options for each case in components/ui/ ui_events.c

    2. Connect each object to its image.

    1. Convert your PNG/JPG to an LVGL RAW .bin and place it into assets/
    2. Add the matching ui_img_*.c wrapper to components/ui/
    3. Map your case ID to this image in kVisuals[] in components/ui/ui_events.c

    For exact file names, code snippets, and conversion steps, refer to the detailed guide in readme_edit_scenario.md.

View all 3 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates