
I built a pocket computer inside an Altoids tin using an ESP32-S3
I shoved an esp32 s3 into a altolids tin and heres what happened next!
https://www.youtube.com/playlist?list=PLgJKX8mp4p18ppYaszsPgn20gP01L1Byf
Parts:
ESP32-S3-WROOM-1 N16R8 — 240MHz dual-core, 16MB flash, 8MB PSRAM
2.3" ILI9341 TFT (320×240) driven over SPI with async DMA
Custom 30-key matrix keyboard — 3 rows × 10 columns
MAX98357A Class-D amp + small speaker for audio output
SD card for ROMs, music, movies, WADs
It boots into a DOS-style shell and you type commands to launch apps.
Apps so far:
- doom — DOOM via a PrBoom port
- nes — NES emulator (nofrendo fork)
- gb — Game Boy + GBC (gnuboy)
- mp — MP3 player with a file browser
- movie — plays MJPEG+MP3 AVIs from SD using a dual-core pipeline (demux+decode on core 0, JPEG decode+display on core 1). Has a portrait mode that software-rotates the frame so you can tilt the tin sideways to watch stuff
- radio — streams internet radio over WiFi (SomaFM, any Icecast HTTP stream)
- ask — Grok AI chat via xAI API, responds in synthesized voice through the speaker
- speak — HTTP endpoint so you can POST an MP3 and it plays it out loud
- eyes — animated googly-eyes avatar, because why not
- sats — a Fallout VATS-style targeting mini-app that locks onto a wireframe cockroach and plays a slow-mo kill-cam
- ota — type it and push new firmware over WiFi with a single curl command, no USB needed
Happy to answer questions about any of it.