Pocket talking creature · v5.27.28

There's a giant
in this box.

NEW wireless peer-to-peer multiplayer between two Atlases

Atlas is an open-source handheld built on an ESP32-S3 — 34 modes, 19 of them games, a face that never stops talking, and five head-to-head games over Bluetooth. Plug a board into USB and flash it right here in your browser.

SH1106 128×64 ATLAS_BOARD_S3

01

Flash it from your browser

No Arduino IDE, no command line, no Python. A supported browser talks to the board over Web Serial and writes the firmware directly. Takes about ten seconds.

  1. Use Chrome, Edge, or Opera on a desktop — Web Serial isn't in Safari or Firefox, and not on mobile.
  2. Plug the Waveshare ESP32-S3 Mini into a USB port with a data-capable cable. A new serial port should appear.
  3. Hit Install Atlas and pick that port in the browser dialog.
  4. If nothing flashes: hold BOOT, tap RESET, release BOOT — that forces download mode — then try again.
  5. The board reboots into Atlas. The OLED shows the boot splash within two seconds.
FIRMWARE · v5.27.28 · ESP32-S3
This browser can't do Web Serial. Use desktop Chrome / Edge / Opera, or flash with the scripts below.
Prefer the command line? The batch & Python flashers are still here.
It can't brick your board. Atlas doesn't persist settings to flash, and nothing you flash can physically harm the hardware — a bad build is always one re-flash away from fixed. Worst case, hold BOOT + tap RESET and flash a known-good version.

Chip
ESP32‑S3 FH4R2
Display
128×64 SH1106 OLED
Modes
34 — 19 games
Firmware
~37k lines, one file

02

Two Atlases. One Bluetooth link. Play.

Atlas Social mode. Two units find each other over BLE — no internet, no accounts, no servers. Hit Social, pick a three-letter handle, drop into a lobby, and play. Host-authoritative physics with client-side prediction so motion stays smooth and inputs feel instant even over a wireless link.

How the link works. One Atlas hosts, the other joins. The host runs the authoritative physics; the client renders smooth motion from snapshot interpolation and predicts its own inputs locally so the controls feel live. No pairing. No setup. No persistent identity. Walk out of range and the connection ends; walk back and you reconnect. The whole stack is open source and runs on NimBLE-Arduino.

03

Build, modify, vibe-code it

Atlas is meant to be torn open. The full firmware source lives here as one file — downloadable whole, or sliced into chunks small enough to hand an AI assistant whose context window can't swallow the lot.

// SOURCE

The firmware, browsable

All 37,090 lines of atlas_v5_27_28.ino. Download the whole file, or browse it section by section — each chunk shows a token estimate so you know what'll fit.

Open the source →
// PRIMER

The AI dev primer

Hand this to Claude or ChatGPT first. It pins down the hardware, the pin map, the firmware layout, and the non-negotiable rules so the model's code actually compiles.

Read the primer →
// TOOLCHAIN

Command-line flashers

flash_atlas.py (cross-platform, with a batch mode) and flash_atlas.bat for Windows. Plus the full Arduino IDE build & wiring guide.

Get the tools →
The vibe-coding workflow: open a chat with your assistant, give it the primer plus the source (whole file if it fits, relevant chunks if it doesn't), then describe the mode or animation you want. It already knows the screen size, the pin map, and the house style — so it stops guessing and starts building.