gitwtfhub

wtf is esp32-tamagotchi?

derdacavga/esp32-tamagotchi — explained in plain English

Analysis updated 2026-05-18

3C++Audience · developerComplexity · 4/5LicenseSetup · hard

TL;DR

A DIY open-source Tamagotchi clone you build with an ESP32-C3 microcontroller and a small screen, with fully editable pet logic, animations, and sprites.

Mindmap

mindmap
  root((Esp32 Tamagotchi))
    What it does
      Virtual pet
      Feed play clean sleep
      Restarts on neglect
    Hardware
      ESP32-C3 board
      ST7789 display
      Buttons and buzzer
    Tech stack
      C++
      Arduino IDE
      Custom display library
    Customization
      Custom sprites
      Adjustable game speed
      Modular code files
    Audience
      Hobbyists
      Makers

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

Why would anyone build with this?

REASON 1

Build a physical virtual pet toy from scratch using cheap microcontroller hardware.

REASON 2

Learn embedded C++ and display programming through a small, self-contained project.

REASON 3

Swap in your own pixel art to create a custom-looking pet character.

What's in the stack?

C++Arduino IDEESP32-C3

How it stacks up

derdacavga/esp32-tamagotchibong-water-water-bong/npu-gpu-cpucloudcompare/normals_hough
Stars333
LanguageC++C++C++
Last pushed2018-02-23
MaintenanceDormant
Setup difficultyhardhardmoderate
Complexity4/55/53/5
Audiencedeveloperresearcherresearcher

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

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires soldering or assembling a custom ESP32-C3 board plus a separate display library from the same author.

You can copy, modify, and share the code freely, but any redistributed versions must stay open source under the same GPL-3 license.

Wtf does this do

This project shows you how to build your own physical Tamagotchi style pet using an ESP32-C3 microcontroller board, a small ST7789 screen, and the Arduino IDE. You feed it, play with it, clean it, and let it sleep, and if you neglect its stats too long the pet dies, though you can just restart and try again. The hardware is simple and hand buildable: a homemade ESP32-C3 board, a 1.69 inch display, three tactile buttons wired without needing extra resistors, and a small buzzer for sound. The author also mentions that swapping in a smaller ST7735 screen can free up memory if you want more animation frames. The code is organized into separate files for the character logic, button input, display drawing, hardware setup, and sprite images, so someone new to the project can find the piece they want to change without reading everything at once. You can adjust how fast the character moves, how animations tick, and how the mini games behave, all from within the code. To use your own pet artwork, you draw or generate 90x90 pixel images, convert them into a hex array using an online image to hex converter, and paste that array into the sprites file. To compile the project without errors, the author recommends specific versions of the Arduino IDE and the ESP32 boards manager, and building it also requires installing a companion display library the same author published separately for the ST7789 screen. The project is released under the GPL-3 license, so you are free to copy, modify, and share your own version of the device and its code. The README also links to a video tutorial that walks through the whole build step by step, along with a handful of separate mobile games by the same author that are not part of this repository.

Yoink these prompts

Prompt 1
Walk me through wiring an ESP32-C3, an ST7789 display, and three buttons for this Tamagotchi build.
Prompt 2
Help me convert a 90x90 pixel image into the hex array format this project's sprites file expects.
Prompt 3
Explain how the character, input, display, and hardware files in this codebase work together.
Prompt 4
Show me where to change the game speed and animation tick settings in this project.

Frequently asked questions

wtf is esp32-tamagotchi?

A DIY open-source Tamagotchi clone you build with an ESP32-C3 microcontroller and a small screen, with fully editable pet logic, animations, and sprites.

What language is esp32-tamagotchi written in?

Mainly C++. The stack also includes C++, Arduino IDE, ESP32-C3.

What license does esp32-tamagotchi use?

You can copy, modify, and share the code freely, but any redistributed versions must stay open source under the same GPL-3 license.

How hard is esp32-tamagotchi to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is esp32-tamagotchi for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.