{"product_id":"finished-tamafi-smart-virtual-pet-firmware-version-v2-0-esp32-s3-wifi-interactive-virtual-electronic-pet","title":"Finished TamaFi Smart Virtual Pet Firmware Version V2.0 ESP32-S3 WiFi Interactive virtual Electronic Pet","description":"\u003ch2 dir=\"auto\" class=\"heading-element\" tabindex=\"-1\"\u003e🌟 About the Project\u003c\/h2\u003e\n\u003cp dir=\"auto\"\u003eTamaFi is a modern, WiFi-aware virtual pet.\u003cbr\u003eV2 rebuilds the original project with\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003enew hardware\u003c\/strong\u003e,\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003esmarter logic\u003c\/strong\u003e, and a\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eclean, compact PCB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003ethat actually feels like a finished device.\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003eThe pet lives on an ESP32-S3, eats nearby WiFi, evolves over time, and makes its own decisions based on the environment around it.\u003c\/p\u003e\n\u003cdiv dir=\"auto\" class=\"markdown-heading\"\u003e\n\u003ch2 dir=\"auto\" class=\"heading-element\" tabindex=\"-1\"\u003e✨ Highlights (V2)\u003c\/h2\u003e\n\u003ca href=\"https:\/\/github.com\/cifertech\/TamaFi#-highlights-v2\" aria-label=\"Permalink: ✨ Highlights (V2)\" class=\"anchor\" id=\"user-content--highlights-v2\"\u003e\u003csvg aria-hidden=\"true\" height=\"16\" width=\"16\" version=\"1.1\" viewbox=\"0 0 16 16\" class=\"octicon octicon-link\" data-component=\"Octicon\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e⚙\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eESP32-S3 based\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– more performance, native USB, better room for future features\u003c\/li\u003e\n\u003cli\u003e🖥\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eTFT ST7789 240×240\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– full-color UI, custom sprites, status bars, menus\u003c\/li\u003e\n\u003cli\u003e🧠\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eAutonomous behavior engine\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– the pet hunts, explores, rests, and reacts on its own\u003c\/li\u003e\n\u003cli\u003e📶\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eWiFi-fed\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– nearby networks affect hunger, happiness, and health\u003c\/li\u003e\n\u003cli\u003e🎛\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eFull menu system\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Pet Status, Environment, System Info, Controls, Settings, Diagnostics\u003c\/li\u003e\n\u003cli\u003e💾\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003ePersistent state\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– age, stats, stage, settings stored in flash (Preferences)\u003c\/li\u003e\n\u003cli\u003e🌈\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e4× WS2812-2020 NeoPixels\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– mood \u0026amp; activity feedback (happy\/sad\/wifi\/rest patterns)\u003c\/li\u003e\n\u003cli\u003e🔊\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRetro sound engine\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– non-blocking chiptune-style beeps and sequences\u003c\/li\u003e\n\u003cli\u003e🔋\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eBattery-ready\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– TP4056 charger + MOSFET-controlled TFT backlight\u003c\/li\u003e\n\u003cli\u003e🖱\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e6 soft tactile switches\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– three on each side for navigation and shortcuts\u003c\/li\u003e\n\u003cli\u003e🛠\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eDisplayKit-ready UI workflow\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– UI graphics can be designed\/exported via DisplayKit\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv dir=\"auto\" class=\"markdown-heading\"\u003e\n\u003ch2 dir=\"auto\" class=\"heading-element\" tabindex=\"-1\"\u003e🧩 How TamaFi V2 Behaves\u003c\/h2\u003e\n\u003ca href=\"https:\/\/github.com\/cifertech\/TamaFi#-how-tamafi-v2-behaves\" aria-label=\"Permalink: 🧩 How TamaFi V2 Behaves\" class=\"anchor\" id=\"user-content--how-tamafi-v2-behaves\"\u003e\u003csvg aria-hidden=\"true\" height=\"16\" width=\"16\" version=\"1.1\" viewbox=\"0 0 16 16\" class=\"octicon octicon-link\" data-component=\"Octicon\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp dir=\"auto\"\u003eTamaFi isn’t just a sprite animation loop. It runs a small decision engine that constantly evaluates:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePet stats:\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ehunger\u003c\/code\u003e,\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ehappiness\u003c\/code\u003e,\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ehealth\u003c\/code\u003e\n\u003c\/li\u003e\n\u003cli\u003eTraits: curiosity, activity, stress\u003c\/li\u003e\n\u003cli\u003eEnvironment: number of nearby networks, open\/hidden networks, average RSSI\u003c\/li\u003e\n\u003cli\u003eTime: age (minutes → hours → days)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp dir=\"auto\"\u003eFrom that, it decides whether to:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e🍖\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eHunt\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– use WiFi scan results to “feed” and adjust hunger\/happiness\/health\u003c\/li\u003e\n\u003cli\u003e👁\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eExplore\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– react to open\/hidden networks and network diversity\u003c\/li\u003e\n\u003cli\u003e😴\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRest\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– enter a sleep cycle with special egg animation and recovery stats\u003c\/li\u003e\n\u003cli\u003e😐\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eIdle\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– chill on the home screen with mood-based idle animations\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv dir=\"auto\" class=\"markdown-heading\"\u003e\n\u003ch3 dir=\"auto\" class=\"heading-element\" tabindex=\"-1\"\u003eMood system\u003c\/h3\u003e\n\u003ca href=\"https:\/\/github.com\/cifertech\/TamaFi#mood-system\" aria-label=\"Permalink: Mood system\" class=\"anchor\" id=\"user-content-mood-system\"\u003e\u003csvg aria-hidden=\"true\" height=\"16\" width=\"16\" version=\"1.1\" viewbox=\"0 0 16 16\" class=\"octicon octicon-link\" data-component=\"Octicon\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp dir=\"auto\"\u003eThe pet mood changes based on stats + environment:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003ccode\u003eHUNGRY\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– low hunger\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003eHAPPY\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– good stats + decent WiFi\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003eCURIOUS\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– hidden\/open networks nearby\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003eBORED\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– no WiFi for too long\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003eSICK\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– low health or bad conditions\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003eEXCITED\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e\/\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eCALM\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e– good conditions \u0026amp; variety\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp dir=\"auto\"\u003eMood affects:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIdle animation speed\u003c\/li\u003e\n\u003cli\u003eLED patterns\u003c\/li\u003e\n\u003cli\u003eHow often it wants to hunt \/ explore \/ rest\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv dir=\"auto\" class=\"markdown-heading\"\u003e\n\u003ch3 dir=\"auto\" class=\"heading-element\" tabindex=\"-1\"\u003eEvolution\u003c\/h3\u003e\n\u003ca href=\"https:\/\/github.com\/cifertech\/TamaFi#evolution\" aria-label=\"Permalink: Evolution\" class=\"anchor\" id=\"user-content-evolution\"\u003e\u003csvg aria-hidden=\"true\" height=\"16\" width=\"16\" version=\"1.1\" viewbox=\"0 0 16 16\" class=\"octicon octicon-link\" data-component=\"Octicon\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp dir=\"auto\"\u003eAge is tracked in\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eminutes, hours, and days\u003c\/strong\u003e:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003ccode\u003eBABY\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e→\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eTEEN\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e→\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eADULT\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e→\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eELDER\u003c\/code\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp dir=\"auto\"\u003eEvolution depends on:\u003c\/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTime alive\u003c\/li\u003e\n\u003cli\u003eAverage of hunger \/ happiness \/ health\u003c\/li\u003e\n\u003cli\u003eEnvironment quality\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp dir=\"auto\"\u003eReaching a new stage triggers special SFX + animations.\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\n\u003ch3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\"\u003eHome Screen\u003c\/h3\u003e\n\u003ca id=\"user-content-home-screen\" class=\"anchor\" aria-label=\"Permalink: Home Screen\" href=\"https:\/\/github.com\/cifertech\/TamaFi#home-screen\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePet sprite (idle \/ hunt \/ rest \/ special states)\u003c\/li\u003e\n\u003cli\u003eBackground image\u003c\/li\u003e\n\u003cli\u003eStats bars: Hunger, Happiness, Health\u003c\/li\u003e\n\u003cli\u003eMood + Stage text\u003c\/li\u003e\n\u003cli\u003eActivity label in the top bar (\u003ccode\u003eIdle\u003c\/code\u003e,\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eHunting…\u003c\/code\u003e,\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eResting…\u003c\/code\u003e, etc.)\u003c\/li\u003e\n\u003cli\u003eOverlays for special effects (e.g. hunger effect)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\n\u003ch3 class=\"heading-element\" dir=\"auto\" tabindex=\"-1\"\u003eMenus\u003c\/h3\u003e\n\u003ca id=\"user-content-menus\" class=\"anchor\" aria-label=\"Permalink: Menus\" href=\"https:\/\/github.com\/cifertech\/TamaFi#menus\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp dir=\"auto\"\u003eNavigation is done using the left 3 buttons (UP \/ OK \/ DOWN).\u003c\/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eMain Menu:\u003c\/strong\u003e\u003c\/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cstrong\u003ePet Status\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– stats, mood, age, stage, short description\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnvironment\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– WiFi network counts, hidden\/open, “signal mood”\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSystem Info\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– firmware version, uptime, battery (if implemented), etc.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eControls\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– brightness, LED level, sound on\/off, NeoPixel on\/off\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSettings\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– auto-sleep, auto-save interval, soft reset options\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDiagnostics\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– debug info, test modes (non-destructive)\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eBack to Home\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"My Store","offers":[{"title":"White","offer_id":52106651042012,"sku":null,"price":40.0,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":52106651074780,"sku":null,"price":40.0,"currency_code":"USD","in_stock":true},{"title":"Red","offer_id":52106651107548,"sku":null,"price":40.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0823\/8442\/1084\/files\/44_6150b4c3-16ef-4836-bc31-a56d5e36484c.jpg?v=1784972356","url":"https:\/\/makinggk.com\/products\/finished-tamafi-smart-virtual-pet-firmware-version-v2-0-esp32-s3-wifi-interactive-virtual-electronic-pet","provider":"MK SIGNAL","version":"1.0","type":"link"}