Project 04 · Milo
Year Jan 2023 to May 2023
Context University of Edinburgh
Role With Quentin Bachelot · concept, prototyping, code

A connected memory game for people who live apart.

A pair of small, tactile devices that let two people play Simon together across any distance, in light and rhythm. No screens, no chat, just a quiet conversation that builds over days.

Connected Things Tangible UX Emotional Tech Interaction Design Prototyping
The Milo pair, two small wooden devices with four pastel buttons and a glass-blown diffuser top, sitting side by side
§ 01 Problem distance, quietly

Loved ones live apart, and most ways of keeping in touch are loud.

Screens, scheduled calls, and piled-up texts have no equivalent for small signals of closeness. Milo leaves those signals, played as a game.

"I love how nostalgic and calming it feels. I'd actually use it with long-distance friends."
Play tester · Edinburgh, 2023
92%
of international students in the US miss the familiarities of home (UNESCO)
70%
of men and 55% of women aged 18 to 34 say games help them stay connected (ESA)
65%
of players play with others, connection more than competition
§ 02 Concept like Simon, across distance

A rhythmic conversation, played in light and memory.

Two devices, paired over the cloud. One taps a sequence of colours; the other watches it play back, repeats it, adds one more. Get it right and play on; get it wrong and a new round begins.

A pair of small wooden Milo devices, one with a white connector top and one with a black, four pastel buttons on each, with a dashed paper-airplane arrow between them showing how a sequence travels from one to the other
A sequence travels between the two devices, one round at a time. Watch demo ↗
  1. 01

    Start the sequence

    Player 1 taps three colours to start.

  2. 02

    Receive the sequence

    A blue light signals your turn. Press the side button when ready.

  3. 03

    Watch and remember

    The ring plays back the sequence sent by the other player.

  4. 04

    Repeat, then add one

    Tap the sequence back, then add one colour to extend the round.

  5. 05

    Nailed it

    Flashing green, a rising beep. The longer sequence travels back.

  6. 06

    Miss it

    Flashing red, a falling beep. The other player scores and starts fresh.

A rhythmic conversation, played across time and space.

§ 03 The pivot when the rough one won

The cardboard prototype kept winning the tests. We listened.

The first design was fixed, sized for a shelf, with a turn-light readable across the room. Almost complete, until testing told a different story.

First direction

Fixed and visible.

The fixed Milo prototype: a larger, almost-complete enclosure with the four pastel buttons on its top surface, sitting on a desk
What testers chose

The cardboard rig.

The cardboard electronics test rig: an exposed circuit on a rough cardboard housing with four buttons within a hand-sized footprint
"Testers, including ourselves, kept preferring the cardboard prototype over the actual one. We'd been biased by the original Simon and hadn't designed for how young adults actually pick things up."
Design journal · Iteration review, mid-project
Resolution

Translated, not redesigned.

The new direction kept the language, rounded square, wood, pastel buttons, shrunk to hand size. Two units, visually distinct: white for Player 1, black for Player 2.

Sketch resolution sheet exploring rounded square forms with rounded buttons, annotated with critiques
Resolution sketches: rounded square, hand size.
§ 04 Making wood, glass, and pastels

Playful, but not childish.

Milo is an "adult toy," tricky to CMF. Pastel on wood gave playfulness without tipping into youth product, nodding to the original Simon: nostalgia without imitation.

Form

Operated with the thumb.

Sized to be held like a small controller. The side button sits under the index finger.

Palette

Pastel over bright.

Bright primaries would read as a children's toy. Muted pastels keep the Simon-coded memory but feel calmer.

Diffuser

Glass-blown, sandblasted.

The blown-glass cap diffuses the NeoPixel into a soft glow. White = Player 1, black = Player 2.

From flat sheets to a working pair.

Rebuilt from scratch in roughly two weeks: laser-cut MDF for the housing, hand-blown glass for the diffuser, layered laser-cut button caps.

Sheets of MDF being laser cut into the parts that form the rounded square casing
01 Laser-cut MDF Casing parts cut from flat sheets, glued and sanded into the rounded form.
Hot glass being blown into a wooden mold to form the square diffuser caps
02 Glass-blowing A wooden mold gave the shape; a diamond saw cut it to height; sandblasting diffused the light.
Laser-cut layered MDF button caps in pastel colours, glued together to achieve the required thickness
03 Layered button caps MDF laser-cut and stacked, then primed and painted in the four pastel tones.
The finished pair being assembled: glass cap joined to MDF connector piece with epoxy, then bonded to the casing
04 Assembly Glass to connector with epoxy; connector to casing with PVA. Back panel screws on for access.
Working together

Most of the project ran in true collaboration. I led sketching and mind-mapping; Quentin led CAD and renders. Code, electronics, testing, and the pivot were shared decisions.

§ 05 Electronics five parts, one cloud

One M5 Stick, two units, one shared cloud.

Each Milo runs on an M5 Stick C Plus (ESP32, Wi-Fi, built-in LiPo). The units talk through Adafruit IO: each press writes to a cloud feed, the partner plays it back. Neither needs to be online at once.

it actually works The Milo electronics laid out: two M5 Stick C Plus boards, NeoPixel ring, four push buttons, a speaker, and a side button, all wired together on a breadboard during testing
The full electronics, one unit.
  1. 01

    M5 Stick C Plus, ESP32-based

    Runs the code, handles Wi-Fi, pushes button events to Adafruit IO. Built-in LiPo makes it portable; the screen is repurposed as a score readout.

  2. 02

    Four push buttons, one per colour

    Soldered into the casing so the layered caps sit flush. Each press writes a colour ID to the cloud feed.

  3. 03

    NeoPixel ring

    Mounted under the glass cap. Plays back the sequence, signals turn state (blue, green, red), animates win/loss beeps.

  4. 04

    Side button

    Re-uses the M5's built-in button, extended with a wooden dowel and painted cap. Confirms "ready to receive."

  5. 05

    Speaker + Adafruit IO

    A piezo speaker plays the win/loss beeps. Adafruit IO carries the two feeds connecting the pair.

§ 06 Testing in a room, across one

Tested twice. Once in a room, once across one.

The second phase mattered most: we each took a unit home and played for a couple of days, testing where the design was actually meant to live.

Playtesting: studio and at-home.
Phase 01 · Studio
Worked

Button feedback "ideal amount of wonky." Beeps clear. Right difficulty.

Didn't

"Add a colour" cue unclear. Unit could be thinner. Some pastels confused at a glance.

Phase 02 · At distance
Worked

Prompted texting between rounds. Sense of connection with no contact. Spread-out rounds genuinely harder.

Didn't

Could get repetitive over a long stretch without gameplay variation.

Further developments
  • Slimmer body · custom PCB halves the thickness.
  • Base as charger · charge on contact, not plug in.
  • Resilient state · survive a power cycle via the cloud.
§ 07 Final outcome the pair, resolved

The resolved pair.

the final pair The resolved Milo pair photographed together, white and black diffuser caps lit, four pastel buttons visible on each
The pair, side by side.
A single Milo unit held in one hand, thumb on a pastel button
In hand, glowing pink.
Detail of the NeoPixel glow through the sandblasted glass diffuser cap
Cap detail, four buttons.
Both Milo units on their stands, side by side on a desk
On the stands, at rest.
A full round across the pair.