kitha calm handheld

idea e-paper · meshcore · uwb · a $40 bill of materials

find your friends, then put it down.

kith is a small handheld for friend groups at festivals, camps and off-grid gatherings. It shows one friend, an arrow and a distance, over its own LoRa mesh. There is no feed to check and nothing to scroll. When you can see your friend, they leave the screen.

try the device why it is calm the device on the right is live. click it and type.

saturday night, six friends on a festival field. Mo is holding this one.

the screen what it looks like, most of the time

the glance. Sam, 140 m, that way. This is the default and it is nearly always what the panel shows.
Sam wrote. One tap in your pocket, one line under the distance, gone in a minute or two.
Ada left a voice note. It waits until you press the round key. Nothing plays by itself.
Lev is dancing. The accelerometer on Lev's device said so, one bit in the beacon carried it, and now you know not to bother them.
everyone within a few metres. The device has done its job and says so, then holds still.
the friends list, on the up/down keys. Distance and direction each, or “here”, or when they were last heard.
a thread. Text, a played voice note, and what you are typing. The bar at the right is the sixty-character cap running out.
the crew screen: five canned lines for 3 a.m. and the last thing anyone said to everyone. Crew lines never tap.
this device. The one number that matters is the last row: how often the panel has refreshed, and what that costs in days.
first boot. A name and the crew phrase, typed on the keyboard. The device is the whole setup; there is no app.

calm by design the rules, and why each one is there

one friend on the screen

An arrow, a name, a distance. Not a map, not a list. You pick who you are walking toward with one key, and that is all the screen holds.

friends in sight leave the screen

When ranging says the person you were walking toward is a few metres away, they drop off and the screen moves to the next friend, or says everyone is here. The device stops mattering the moment it has worked.

a tap, for a person

The haptic fires for a direct message and for nothing else. A line to the whole crew is silent; you find it when you look.

no badges, no counts, no feed

A message is one tap and one line on the glance screen, once. Nothing accumulates. There is no number to bring to zero.

messages are short and they go away

Sixty characters. An hour. The device does not keep a record of the night.

voice notes live in threads

Hold the round key to talk to the friend on the screen. The note lands in their thread and plays when they choose, out of a small speaker, not into the air.

paper, not glass

A 2.9-inch e-paper panel: sunlight-readable, slow, monochrome, a week of battery. A screen that cannot animate cannot nag.

hangs face out

A magnetic clip or a lanyard, so it is glanced at like a watch and never held like a phone.

a dancer is not interrupted

The accelerometer can tell dancing from walking: the same beat, three times the energy, and no ground covered. While you dance the keys lock, direct messages wait, and one tap is paid when the song ends. Friends see “dancing” instead of a distance, which is a reason not to write.

The display policy (one friend, never one in sight, tap only for a direct message, messages that expire) is small enough to state exactly, so it is written down as a TLA+ model and checked in kith/specs/CalmGlance.tla, published on the hub. The mutant that forgets to move the screen on when your friend arrives fails the check, as it should.

how it finds people three sensors, one arrow

beacons over the mesh

Every device sends its GPS position to the crew every fifteen seconds, as an ordinary MeshCore packet on a passphrase-keyed channel. That gives a bearing and a rough distance to anyone within a kilometre or so, good to a few metres. It is what the arrow runs on when a friend is far away.

ranging for the last hundred metres

Ultra-wideband two-way ranging measures the actual distance to a friend to about thirty centimetres, through a crowd, without GPS. It is what makes “in sight” a fact rather than a guess, and what lets the arrow settle instead of twitching with GPS error at twenty metres.

a compass, tilt-corrected

A magnetometer and an accelerometer give the direction the top of the device is pointing, so the arrow is relative to you, not to north. Hard-iron offsets from the speaker magnet are learned rather than calibrated by hand, the way posse does it.

with ranging: Sam at 20 m, solid arrow, “uwb”.
without: the same Sam from beacons alone. The arrow is drawn faint because it is honest about ±5 m at 20 m. Try the toggle.

the screen question paper, or a memory LCD

E-paper is the calm choice: it holds an image for nothing and cannot animate, so it cannot nag. It is also slow, it ghosts, and every dozen refreshes it flashes. The one screen that keeps the reflective, always-on, week-of-battery character and adds real refresh is a Sharp memory LCD, the panel in Pebble and Beepy. Both below are live, in the same scene, on Mo's device, walking. The only thing that differs is the glass.

Arrow in 5° steps with hysteresis, because each step is a third of a second of flicker and a slice of the refresh budget. Paper white. Every twelfth refresh flashes. Costs nothing while still.

The arrow turns in 1° steps as Mo walks, instantly, no ghost, no flash. Silver rather than white, lower contrast, about 50 µW to hold the image. Taller, so the lists get more rows. About $15 more per unit.

e-paper 2.9″memory LCD 2.7″
update~0.3 s partial with ghosting; ~1.4 s full with three flashesmicroseconds per line, no ghost, no flash, up to 60 Hz
holding an imagenothing~50 µW
lookpaper white, wide anglesilver-grey, narrower angle
at nightneeds a front lighta soft backlight is usual (Pebble)
pixels296 × 128, 2.3:1400 × 240, 5:3
cost, 100 units$5 – 8$20 – 25
what keeps it calmphysicsthe firmware, which must refuse to animate anything but the arrow

Faster e-paper waveforms exist (about 100 ms, one-bit, more ghosting) but mostly on larger panels; transflective TFTs give colour and 60 Hz at ten milliwatts or more always-on, which turns the week into days; colour memory LCDs (8 or 64 colours) exist but are hard to source. Switch screens in the mock to type on either.

hardware a BlackBerry-shaped object with a strip of paper on top

radioMeshCore over LoRa, Semtech SX1262, 868 or 915 MHz
rangingUWB two-way ranging, Qorvo DW3000 (DW3110 bare at volume)
headingQMC5883L magnetometer + LIS2DW12 accelerometer, tilt-compensated
activitythe same LIS2DW12: still, walking or dancing from a five-second window; no gyroscope
screen2.9″ e-paper, 296 × 128, partial refresh ~0.3 s, full refresh every dozen partials; or a 2.7″ 400 × 240 memory LCD, see the screen question above
audioES8311 codec + NS4150 amp, MEMS mic; piezo fallback if the speaker magnet disturbs the compass
keys35-key tact-dome matrix, BlackBerry layout, a round push-to-talk key
hapticsone coin motor, direct messages only
computeESP32-S3, MeshCore T-Deck port as the base
power2000 mAh LiPo, USB-C, about a week between charges
lightsnone

bill of materials, roughly

100 units, with UWB$38 – 45
100 units, without UWB≈ $27
1k+ units, bare DW3110, injection-moulded case$25 – 30

UWB is about thirty percent of the bill. Whether it earns that is the first open question below; the mock lets you feel both answers.

the object

A 2.9-inch e-paper module is 67 mm wide, which is exactly the width of a BlackBerry. So the panel sits landscape across the top of a portrait body, the 35 keys fill the rest, and the round push-to-talk key is where a thumb rests. A loop at the top takes a lanyard; a magnet in the back takes a clip. Soft bone plastic, no gloss, no lights.

open questions what the mock is for

  1. Does UWB earn its share of the bill? The alternative is GPS coordinates shared over the mesh, which the device does anyway. The difference shows in the last thirty metres and in a crowd. Turn ranging off in the mock and walk toward someone.
  2. Distance is not direction. Single-antenna UWB ranging gives a distance, not a bearing. In this design the arrow's direction always comes from beacons plus the compass; ranging only fixes the length and decides “in sight”. A second antenna would give angle of arrival and a true short-range arrow, at more cost and more board.
  3. 868 or 915 MHz. A region setting, or two SKUs. The mock has a switch on the settings screen and nothing behind it yet.
  4. Antenna. PCB helical keeps the object clean; an SMA connector makes the radio honest. The lanyard loop could hide a whip.
  5. Paper at night. E-paper has no light of its own. A soft front light on key press would be the one exception to “no lights”; a festival is mostly dark.
  6. Speaker versus compass. A speaker magnet next to a magnetometer is a known fight. The idea already names a piezo fallback; the mock assumes the compass wins.
  7. A keyboard in a pocket. Thirty-five keys hanging on a lanyard will type on their own. The mock locks them while dancing; the rest of the time it is still a lock, keys that only wake after the round key, or a slider.
  8. The lanyard swings. A device hanging face out has its own pendulum at about 1 Hz, on top of whatever the body does. The dance detector excludes that band, but the thresholds want tuning on the real object, on a real person, with real music.

a cousin posse

posse is the same wish on hardware you can buy today: a radar of the whole crew on an off-the-shelf colour handheld, running real firmware in an emulator. kith is the other answer to the same question: its own object, one friend at a time, on paper. They would share a mesh.