The brain: why ESP32-S3?
My first instinct was a Raspberry Pi. Familiar territory, runs Linux, tons of tutorials. But for a dedicated single-purpose device like a Tamagotchi, it's overkill. Slow boot times (10ā30 seconds), power hungry, and way more complexity than needed.
The ESP32-S3 is purpose-built for this kind of thing. It boots instantly, sips power (great for battery life later), and has more than enough horsepower for driving a small display and running game logic. The dual-core 240MHz processor with 8MB PSRAM is honestly absurd for a virtual pet, but it means I won't hit any performance walls.
The screen: 1.9" IPS LCD
I went back and forth on screen size. Too small and the pixel art loses detail. Too big and it stops feeling like a handheld toy. The 1.9" IPS display (170Ć320 resolution) on the LILYGO T-Display-S3 hit the sweet spot.
Quick note for anyone confused by "IPS vs LCD": IPS is a type of LCD. It just has better viewing angles and color accuracy compared to cheaper TN panels. I also looked at AMOLED options (deeper blacks, gorgeous contrast), but at nearly double the price for a first project, it wasn't worth it.
The board: LILYGO T-Display-S3
Instead of buying an ESP32 and a screen separately, I went with the LILYGO T-Display-S3. It's an all-in-one board with the ESP32-S3 and 1.9" IPS display already integrated: dual-core LX7 at 240MHz, 16MB Flash, 8MB PSRAM, USB-C for power and programming, a JST battery connector for a future LiPo, and a built-in programmable button on IO21.
That built-in button means I only need 2 external buttons instead of 3 for my Left / OK / Right control scheme. Strong community support with tons of Arduino and PlatformIO examples sealed the deal.
Additional components
Beyond the board, I need surprisingly little: two tactile push buttons for Left and Right, one passive buzzer (3Vā6V, 16 ohm) for sound, a mini breadboard for prototyping, and short jumper wires. I'm skipping the LiPo battery and 3D printed case for now — USB-C power is fine during development.
Total cost
Living in Indonesia, components on Tokopedia run higher than international prices. The LILYGO T-Display-S3 was Rp 435,000, buttons and buzzer ~Rp 5,000, breadboard and wires ~Rp 31,000, soldering kit ~Rp 88,000. Total: roughly Rp 560,000 — about $35 USD.