← All toys
Fairground attraction · toy concept

Fairy-TaleBarrel Organ

You crank the story out of it: fast for cheerful, slow for spooky. Crank it backwards and the story rewinds and takes a different path.

admission: ages 4–10~2,010 CZK of electronics (about €80)a paper scroll that maps your choices
Behind a tree, something moved… ↩ horn = sound box AS5600 + gears (1:3, covered) cylinder slot (NFC) thermal printer + tear-off bar case ~220×140×180 mm MMU: red, gold, cream ESP32-S3 + speaker (grille)
Try it

Turn the crank

Drag the crank around in a circle (with a mouse or a finger). Every third of a turn = one phrase. Fast = cheerful and golden, slow = dark and spooky. Once the fork chimes, try cranking backwards.

Cylinder “Little Red Riding Hood” is in. Turn the crank.
tempo 0 °/sphrase version 1.0position start
— A FAIRY TALE —
cylinder: Red Riding Hood

The demo uses the sentences from the concept. In the real toy, Claude writes the whole story tree in advance and every phrase exists in three pre-rendered tempos.

The wow moment

My 6-year-old daughter is cranking away, and out of the horn slides a strip of paper with a picture of a wolf. The wolf is about to knock on the door. She doesn’t like that one bit, so she cranks backwards. The narrator slows down: “Wait, wait… let’s go back to the path.” A little ↩ arrow prints on the paper, and under it: “…and the wolf changed his mind and went blueberry picking instead.”

Sample scroll
Little Red Riding Hood walked through the woods to Grandma’s.
Behind a tree, something moved…
↩ turned back
…and the wolf changed his mind and went blueberry picking instead.
Meanwhile Grandma was baking a bundt cake as big as a cartwheel.
How it plays

Six rules of the barrel organ

The cylinder

The child slots in a “cylinder”: an NFC token that picks the genre, or casts a creature from the Hatchery (another toy idea) as the hero. A wish said out loud can go on top.

Phrase by phrase

The tale is told in phrases of 2–5 words, and each one plays as the crank covers part of a turn. Stop cranking and the phrase finishes, then the narrator waits.

Speed = mood

Fast: the quick, cheerful version and a major-key tune. Slow: the quiet, slow version in a minor key. The average tempo of one paragraph sets how cheerful or spooky the next one will be.

The fork

A chime announces a fork in the story. Cranking backwards after a fork rewinds the story to the last fork, and the narrator carries on down the second branch, already prepared.

Printing after the fork

The thermal printer prints a panel (a picture from the library + a sentence) only once the story has passed a fork, so the scroll records the path actually taken, rewinds included.

A scroll for the wall

At the end you tear off the scroll with the map of your choices and color it in.

Why a tenth time

Can you bear to crank it slowly?

Every time you crank, it’s a different story, and the child steers it with their hands, not with buttons. Cranking slowly is a game of courage. Rewinds are exploration (“what would happen if…”). The scrolls get collected on the wall, each one a map of the child’s own choices. With creatures from the Hatchery, the hero is a character the child made up.

What AI makes new

The story as a tree, the mood from the hand’s tempo

The story is generated ahead of time as a tree (a main branch plus an alternative at every fork), and the physical tempo of the cranking sets the mood of whatever text comes next.

Claude builds the pictures from a parent-approved library of outlines, so an unexpected picture can never appear.

woods, tree fork main: wolf at the door alternative: blueberries ↩ Grandma
How it’s built

Cabinet, crank, cylinders

Cabinet

~220 × 140 × 180 mm · MMU

Red, gold and cream, with ornaments. A horn as the sound box, a paper slot with a tear-off bar (PETG), a cylinder slot.

Crank

1:3 gearing to the sensor shaft

An AS5600 magnetic angle sensor reads the position smoothly, direction included, with no wear. The gearing is covered.

Cylinders

Ø 40 × 20 mm · NTAG added in a print pause

Embossed with the genre. Each cylinder carries a genre, or a creature from the Hatchery as the hero.

PartWhat forPrice (CZK)Source
ESP32-S3-DEVKitbrain, plays phrases from PSRAM448platforms list
AS5600 magnetic angle sensor + magnetsmooth sensing of the crank and its direction, no wear60(estimate; not in the catalog)
(alternative) KY-040cheaper, but 20 clicks per turn29#33
CSN-A2 thermal printerthe scroll928#67 (~Oct 23)
RC-522 + NTAG213cylinder67#30, #31
INMP441 + buttonwish out loud138#27 + (estimate)
MAX98357 + 40 mm speakervoice + organ music187#48, #50
9 V/2 A power supply + step-downprinter + ESP180(estimate)
Totalwithout the KY-040 alternative · about €80~2,010

Architecture

cylinder + wish → Gateway
MODELClaude → story tree as JSON {nodes[{id, phrases[], outline_ids[], fork:{main, alternative}}]}
Gateway
CODEvalidates the outlines, Piper renders every phrase 3× (tempo 0.8 / 1.0 / 1.3) → the ESP32 downloads 2 paragraphs ahead (alternatives too, speculatively)
crank (AS5600) → ESP32
CODEangle → phrase queue, speed → variant, backwards → jump to the fork
average tempo → Gateway
MODELnext paragraph with a mood parameter CODEclamped by age
passing a fork
CODEprints a panel

Model

Writes the story tree and picks the outlines.

Code

Tracks the position in the story, picks the branch, maps tempo to a variant and enforces the spookiness cap.

Why not smooth time-stretching: speeding up speech in real time on an ESP32 sounds bad and is hard to do. Three pre-rendered versions of every short phrase feel convincing and keep things simple. A phrase never stops halfway (it always plays to the end), which is nicer to listen to.
Safety and offline

Plays without a network

Every cylinder keeps 3 pre-generated story trees (phrase MP3s + bitmaps) in flash. Without the microphone it still plays in full. Code enforces an age-based spookiness cap. BPA-free paper, covered gearing, and a printer with a covered print head.

Roadmap
A weekend

First playable prototype: crank + phrases + one pre-generated tale, no printing.

A month

Full version: story tree, rewinds, printed panels, mood from tempo.

9novelty
8engagement
7feasibility

Cranking backwards to rewind works as branching, with printing only after a fork (the paper records the path), and the sync stays realistic thanks to phrases pre-rendered in three tempos.