
Tic-Tac-Toe
Tic-Tac-Toe
Play Xs and Os on a 3x3 board.
A 31-game educational console for young children, running as open firmware on a E32R28T-1 touchscreen board. No accounts, no telemetry, no SD card — every game is baked into flash.
Ready-made flashing is for the target board: use this E32R28T-1 / ESP32-32E board.












These 55 stills are rendered mock-ups, redrawn on a PC from the exact rectangles, fonts and colours in the C++ source — the board does not wire the panel's MISO line, so true screenshots are not possible. The flag artwork is the real pixel data the device draws from.
Plug the board into a USB port and flash it here: no toolchain, no PlatformIO, nothing to download by hand.
Use the exact target board for the ready-made image. The web flasher below is built for the E32R28T-1 board. Buy or use this Amazon listing; other ESP32 boards may flash, but the display and touch pins will not match this firmware.
Every build here is also a plain set of .bin files. With
esptool installed:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.bin
| Board | E32R28T-1 (ESP32-32E, sold as a 2.8-inch "cheap yellow display"): ILI9341 320×240 panel, XPT2046 resistive touch, 4 MB flash, no PSRAM, onboard single-cell Li-ion charging. For the ready-made browser flash image, use this board on Amazon. |
|---|---|
| Cable | A USB data cable. Charge-only cables are common and look exactly like a dead board. |
| Driver | A CH340 or CP210x USB-serial driver, if your OS does not already have one. |
| Power | Optional 3.7 V LiPo on the board's battery connector; the firmware reports the charge level. |
Other ESP32 boards will accept the binary, but the pin map, the screen
rotation and the touch controller are compiled in for this one, so a
different board most likely gives you a blank screen. Build from source
with your own pins in include/BoardConfig.h instead.
Every one can be hidden per child. Flags and the three US States games use spaced repetition, so a missed item comes back sooner and a mastered one fades into the background.

Tic-Tac-Toe
Play Xs and Os on a 3x3 board.

Memory
Flip cards to find matching pairs.

Math
Practice arithmetic with timed rounds.

Multiply
Practice multiplication facts.

Time
Read the clock and pick the time.

Whack
Tap the mole before it escapes.

Cinnamon
Watch the pattern, then repeat it.

Microku
Solve tiny Sudoku-style boards.

Shapes
Match each shape to its outline.

Counting
Count objects, tap the number.

Money
Count coins and make change.

Fractions
Match the pie chart.

Maze
Drag the dot to the exit.

Sorting
Order numbers up or down.

Color Mix
Mix two colours.

Slide
Slide tiles into order.

Odd One
Find the one that differs.

Shape Arith
Add and take away shapes.


Fingers
Count on two hands.

Calendar
Days and months in order.

Number Line
Hop along a number line.


Flags
Name the flag, then its capital.

US States
US states and their capitals.


Trace
Trace big and small letters.

State Flags
Name the state flag, then capital.

State Maps
Name the state outline, then capital.

Percent
Percentages on a circle.


GRE Words
Learn GRE vocabulary.

Dice
Throw one, two or three dice.

Coin Flip
Spin a coin, best of 1, 3 or 5.



Elements
Explore the periodic table.
The launcher, profiles, settings, Wi-Fi, scores, About, System Info and the screen saver are shown with the same generated stills as the games.


Runtime screen
Wide and Tall home layouts with live profile, clock, Wi-Fi, BLE and battery status.



System app
Boot-time player choice, five children, Guest mode that deliberately saves nothing, a PIN-guarded admin profile, and per-child game visibility only the admin can set.




System app
Device controls, brightness, screen saver and sleep policy -- readable by anyone, changeable only by the admin.


System app
Optional Wi-Fi for NTP time only, with a timezone picker for daylight-saving rules.


System app
Per-player best and worst scores, plus device-wide records and record holders.


System app
Live board, memory, network, BLE, NVS and watchdog diagnostics for hardware triage.

System app
Parent-readable documentation on the device, including exactly what the radios broadcast.

System app
Opt-in, anonymous score sharing with other Brainos in range -- device tags only, never names.

Runtime screen
Self-playing Pong before panel sleep, with rally colour mirrored on the case LED.
The device collects nothing and sends nothing anywhere. No accounts, no telemetry, no analytics. Scores and mastery data live in the ESP32's own flash and never leave it.
ip-api.com to guess the time zone on first connect. You can
skip Wi-Fi entirely.Braino-<id>) and two bytes of the factory
Bluetooth MAC — and the device shows you a hex dump of the exact
bytes on air, read back from the same buffer that was handed to the
radio.
Braino targets one board properly today. The CYD family has many variants
that differ in ways that fail quietly — different backlight pins,
different touch controllers, the same GPIO meaning different things. If
you own one and want it supported, AGENTS.md has a written
checklist for adding a board.
Much of this firmware was written by coding agents under human direction, so bug reports and code critique are especially welcome. If you spot a mistake, please open an issue — and if you can, say how you would fix it.