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.
saturday night, six friends on a festival field. Mo is holding this one.
the screen what it looks like, most of the time
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.
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 flashes | microseconds per line, no ghost, no flash, up to 60 Hz |
| holding an image | nothing | ~50 µW |
| look | paper white, wide angle | silver-grey, narrower angle |
| at night | needs a front light | a soft backlight is usual (Pebble) |
| pixels | 296 × 128, 2.3:1 | 400 × 240, 5:3 |
| cost, 100 units | $5 – 8 | $20 – 25 |
| what keeps it calm | physics | the 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
| radio | MeshCore over LoRa, Semtech SX1262, 868 or 915 MHz |
|---|---|
| ranging | UWB two-way ranging, Qorvo DW3000 (DW3110 bare at volume) |
| heading | QMC5883L magnetometer + LIS2DW12 accelerometer, tilt-compensated |
| activity | the same LIS2DW12: still, walking or dancing from a five-second window; no gyroscope |
| screen | 2.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 |
| audio | ES8311 codec + NS4150 amp, MEMS mic; piezo fallback if the speaker magnet disturbs the compass |
| keys | 35-key tact-dome matrix, BlackBerry layout, a round push-to-talk key |
| haptics | one coin motor, direct messages only |
| compute | ESP32-S3, MeshCore T-Deck port as the base |
| power | 2000 mAh LiPo, USB-C, about a week between charges |
| lights | none |
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
- 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.
- 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.
- 868 or 915 MHz. A region setting, or two SKUs. The mock has a switch on the settings screen and nothing behind it yet.
- Antenna. PCB helical keeps the object clean; an SMA connector makes the radio honest. The lanyard loop could hide a whip.
- 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.
- 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.
- 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.
- 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.