Board review: the haptic interface engine
The founder, Said Mohaddes Sadeqi, submitted a proposal to take the Third Eye Kit beyond outdoor navigation: a soft wearable grid of vibration motors on the back or chest, driven by a phone, that turns camera frames or game-engine space into something a blind person can feel, with an open SDK so any program can talk to it. The proposal is published unedited beside this review: Expanding T.E.K. into an open-source haptic-tactile interface engine.
Four reviewers read it section by section: haptic psychophysics, embedded systems and latency, human-computer interaction and accessibility, and program. The rules are the ones the board used for the depth-to-tactile-matrix review: every claim is checked against a source, the verdict on each section is adopt, amend, or decline, and where the board changes a number it shows the arithmetic. Nothing is softened.
The verdict in one paragraph
Adopt the program, amend the body and the numbers, decline the latency budget as written. The idea is sound and it is not new, which is its strength: a camera feeding a grid of vibrators on a person's back is the oldest experiment in sensory substitution, Bach-y-Rita's 400-point display in Nature in 1969, and a 40-motor vest with a games SDK is on sale today. What would be new is the population it serves, the spatial grammar it speaks, and an open format anyone can build to. The board adopts that. It moves the display off the thigh, resizes the grid to the back's real acuity, keeps the display on the phone's side of the isolation boundary where the first review put it, replaces a 35 ms budget the parts cannot meet with two honest ones, and authorizes the prototype and the SDK with a sequence.
Scorecard
| Section | Verdict | In one line |
|---|---|---|
| 1. Executive summary and vision | Adopt, amended | Right problem, right shape; name the lineage and the boundary. |
| 2. Wearable design and ergonomics | Adopt, amended | Back and chest yes, thigh only seated; 4 by 3 on the back, not 5 by 5; bursts and LRAs yes; two hours provisional. |
| 3. Architecture and latency | Architecture adopted, budget declined | The phone drives the display, never the warning; 35 ms becomes about 60 ms for game vectors and about 130 ms for the camera. |
| 4. Game engine integration | Adopt, amended | Evidence for transfer exists; use open engines; the By feel game on this site is the first environment. |
| 5. Open-source ecosystem | Adopt, amended | The SDK is the frame contract already published here; remapping stops at the three laws. |
| 6. Action items | Adopted with sequencing | Published now; prototype after the actuator bench; SDK from the existing format. |
Of 29 checkable claims, 25 stand: 14 exactly as written and 11 with an amendment. Four are declined, all of them inside the latency budget.
1. Executive summary and vision
What stands. Human-computer interaction leans on the eye for space; blind users carry their safety on their ears, and a screen reader spends that same channel. Those two sentences are the argument the whole kit rests on, and the board affirms them. The proposal's shape, a wearable array fed by a camera or a game engine, is right.
Amendment 1: name the lineage. "Non-sighted users lack a high-bandwidth, non-auditory input channel" is nearly true and should be said precisely. Refreshable braille and tactile graphics displays exist, but they are read by the hand, at a desk. A camera feeding a grid of vibrators worn on the back is the founding experiment of sensory substitution: Paul Bach-y-Rita's team put 400 vibrating points in the back of a chair, pointed a camera at the room, and congenitally blind adults learned to recognize objects and their motion (Bach-y-Rita et al., Nature, 1969). Fifty-five years later a vest with 40 motors, 20 front and 20 back, ships to gamers with Bluetooth and an SDK used by more than 250 titles (bHaptics TactSuit X40). The proposal should cite both, because they settle the feasibility question in its favor and sharpen what is new here: a body-worn spatial display for blind people, speaking the kit's grammar, in an open format.
Amendment 2: state the boundary. The first board review adopted the founder's phone-driven depth-to-grid pipeline as an exploration mode above the safety isolation boundary and declined the phone as a warning path (depth to tactile matrix, board review). This proposal is that exploration mode, grown into a program. It should say so in its first paragraph: the belt, collar, and ankle bands keep the warning job on the distance sensors and the reflex controller; the display band is a second channel for reading a space, and it can be off without the wearer being less safe.
2. Core wearable design and ergonomics
The site. Back and chest are the right places. The upper back between the shoulder blades was the best detection site while walking in the body-site study, and the chest was among the least degraded by walking (Karuei et al. 2011); the same study found the thigh as poor as the feet while walking, the most degraded by movement, and the second least liked. Amendment 3: the thigh is allowed for seated use only, which covers the game-training case, and never for a display worn while walking. The board's pick for the first prototype is the upper back, where the placement study already reserves the rear channel and where a backpack strap is the only thing to design around (Where the body should feel, section 4).
"Bandage." The word should mean an elastic wrap, not an adhesive. The placement study rejected skin adhesives for daily wear: no product exists with a replaceable adhesive rated for a day of sweat and walking, and a blind wearer cannot see a lifted corner. A soft wrap with the motors held under known pressure is the form the evidence supports.
The grid. The two-point threshold on the back is about 39 mm by pressure (Gemperle values, US Army review), and vibration points on the trunk are told apart at 30 mm with 91 percent accuracy (Johannesson et al. 2017), so the proposal's 30 to 40 mm figure stands. What it misses is direction. On the back, side-to-side acuity is about 31 mm but up-and-down is about 66 mm (back acuity study 2024): a vertical pair must sit twice as far apart as a horizontal pair to feel like two. On a 15 by 15 cm footprint, 5 by 5 gives a 37.5 mm pitch both ways, which blurs every vertical neighbor into its partner, and 4 by 4 gives 50 mm, still short of 66 vertically. Amendment 4: 4 columns by 3 rows on 15 by 15 cm (50 mm across, 75 mm up), or 4 by 4 on a 15 by 20 cm footprint. Twelve or sixteen points that read as twelve or sixteen beat twenty-five that read as a smear. The waist study is the caution: going from 8 motors to 12 around the abdomen dropped localization from 98 to 74 percent (Cholewiak 2004, quoted here).
Fatigue. Short bursts instead of steady vibration is correct and well founded. Prolonged vibration produces a reversible loss of sensitivity in the skin's mechanoreceptors, measured both as a raised threshold and as a stimulus that feels weaker over minutes (vibratory adaptation of cutaneous afferents; Verrillo and Gescheider 1977 showed a ten-minute conditioning vibration raising thresholds in proportion to its intensity). Adopted, with the kit's existing timing as the starting point: 120 ms bursts for the sweep, 80 to 120 ms elsewhere, and a rest between.
LRAs. Adopted; the parts list already carries a linear resonant actuator and its driver. Amendment 5: strike "instant". An LRA starts faster and cleaner than a coin ERM, but its rise to full strength is tens of milliseconds, and its driver's own start is 0.7 ms with braking times of 5 to 40 ms depending on the actuator (TI DRV2605L datasheet). The actuator bench in milestone G0a exists to put the real number on this; the board will not write one before it is measured.
Two hours a day. No study sets that number, and the board found none. Adopted as a provisional rule that the app's telemetry will replace: log minutes worn, minutes buzzing, and the per-zone intensity the wearer chooses over a session, and let the adaptation curve set the limit.
3. Technical architecture and latency targets
The architecture stands, with the boundary. A phone doing the seeing and sending small packets to a body-worn grid over Bluetooth Low Energy or USB-C is the right design for a display channel, and it is what the first review adopted. Amendment 6: the diagram needs one more box. The belt hub and its reflex controller keep the distance sensors and the warning bands; the phone talks to the display band, and may enrich the hub, but no warning waits on the phone. The first review's words were "the phone may add a buzz; it must never be the only thing that can cause one".
The budget is declined as written. Four of its five numbers do not survive the datasheets. The board recomputed it twice, once for each input the proposal names.
| Stage | Proposal | What the parts say | Source |
|---|---|---|---|
| Frame capture and downsampling, camera | about 10 ms | About 80 ms, plus or minus 25, from light into the lens to a frame in the app on a current Android phone | inovex, glass-to-glass latency |
| Frame capture, game engine | about 10 ms | One engine tick, about 17 ms at 60 frames per second, if the engine hands over its depth or vector buffer directly; screen capture adds more | arithmetic |
| Ego-centric vector engine | about 8 ms | Plausible on a phone for a 64 by 64 buffer; stands as a target to be measured | proposal |
| Bluetooth Low Energy transmission | under 7 ms, about 5 ms | The connection interval floor is 7.5 ms in every Bluetooth core version before 6.2, and iOS holds it at 15 ms; the 16-byte payload fits one packet, so one-way delay is one interval plus the stacks, about 8 to 20 ms. Core 6.2 allows 375 microsecond intervals, but no phone the wearer owns implements it yet | Bluetooth Core 6.2 overview, Punch Through on iOS |
| Actuator activation | about 3 ms | Driver start 0.7 ms; the motor's rise to felt strength is tens of milliseconds, to be measured at the bench | TI DRV2605L datasheet |
Summed honestly, with a placeholder of 20 to 40 ms for the LRA rise until the bench replaces it:
- Game vectors to skin: 17 + 8 + 8 to 20 + 20 to 40, about 55 to 85 ms. The board writes "about 60 ms" as the target and "measured at the bench" beside it.
- Camera to skin: 80 + 8 + 8 to 20 + 20 to 40, about 115 to 150 ms, the same range the placement study reached for a phone camera warning (section 9).
Neither number is a problem for a display. The kit's warning path stays at about 70 ms for a hazard ahead and about 120 ms for the ground, on the distance sensors, and the display band is not in that path. A reading channel at 60 ms feels immediate; at 130 ms it feels like a picture updating, which is what it is. What the board declines is the claim of 35, and the "under 7 ms" and "3 ms" it is built from.
"360° environment." Amendment 7: a phone camera sees 80 to 120 degrees; a game engine can hand over all 360. Say which.
4. Game engine integration
Adopted. Learning a tactile language in a safe virtual space before trusting it on a street is sound, and there is evidence for the transfer it assumes. Blind adolescents who explored a real building's layout inside an audio-based video game, without instruction, afterward navigated the real building and found routes they had never walked (Connors, Chrastil, Sánchez and Merabet 2014). That study used sound, not touch, so the haptic version is a hypothesis the program should test the same way: a real route, before and after, timed and counted.
Amendment 8: open engines first. Modding a commercial title is fragile ground for an open-source program; the mod is not the developer's to license and can be broken by any update. Luanti, the open engine formerly named Minetest, and Godot are the natural first homes, with Unity and Unreal as reference integrations. And the first environment already exists: the By feel game on this site puts a visitor in a dark mall, house, school, street, park, and beach and drives the same motor frames the kit uses (play it). It is the prototype of the "spatial flight simulator" the proposal describes, and its bridge is the first sender for the SDK below.
What stands. Sending relative vectors, the door, the edge, the approaching wall, rather than pictures, is exactly the kit's grammar: where it buzzes is where it is, how strong is how close, motion only where motion is the message. The proposal's instinct to translate space rather than render it is the same instinct the Council followed.
5. Open-source ecosystem and modularity
The SDK, adopted. The frame format it needs is already published on this site: a motor frame is a set of named regions, each with a strength and a rhythm, and an output adapter is anything that can start, take a frame, and stop (the signal contract, src/lib/sim/types.ts). The game, the simulator, the audio renderer, and the phone vibration renderer all speak it today. Amendment 9: T.E.K.-Link is that contract with a wire encoding and a version number, not a second format. Publish it as a schema, ship one reference sender (the game) and one reference receiver (the band's firmware), and let the community build the screen translators.
The remapping portal, adopted with a rule. Per-wearer intensity floors, per-zone, are in the placement study's open questions and should be the first thing the portal does. Grid size and spatial scaling belong to the display band and are the wearer's to set. Amendment 10: the three laws are not remappable. Where it buzzes is where it would hit you, how strong is how close, and if it moves you follow the motion, are the warning bands' grammar, fixed so that every wearer and every future band speaks the same language. The display band has a second grammar, a picture, and the board's rule for keeping them apart is the one the Council wrote for the scanning glove: a different body site, switched on by the wearer, off while walking unless the wearer says otherwise.
6. Action items
- Publish the roadmap. Done, with this review beside it, in the program's standing way.
- The 16-node prototype. Authorized, as an exploration display built from the parts already on the list: the same LRA, the same DRV2605L drivers, the same I2C multiplexer, a soft wrap for the upper back, 4 by 3 at 50 by 75 mm to start. Sequenced after milestone G0a, the actuator bench, which chooses the LRA and measures its rise time; the same bench then runs the display's own tests: localization on the back at that pitch, a thirty-minute adaptation run at 50 to 120 ms bursts, seated and walking, and the two latency chains above with an accelerometer on a motor.
- The SDK. Authorized, scoped as amendment 9: the existing frame contract, a wire encoding, a version, a schema, the game as first sender. The license is the founder's call; the board's recommendation is MIT, as the version 1 firmware is.
Six questions, decided by the board
The review closed with six questions for the founder. He answered in three words: let the board decide. These are the decisions, each with its reason, recorded here the way the Council records its own.
- Beside, not instead. The display band sits beside the belt, collar, and ankle bands as a reading channel. It never replaces them. The reason is the founding rule: the warning path is physics on the distance sensors and the reflex controller, and a channel that depends on a phone, a camera, or a game cannot carry a warning. The first review drew this boundary; this review keeps it. A wearer who takes the display band off is exactly as safe as before.
- The upper back first. Between the shoulder blades, where the placement study already reserves the rear channel. It was the best detection site while walking in the body-site study, its acuity is measured in both directions, and the only thing to design around is a backpack strap. The chest comes second, and only after the back has been read for a season, because the collar yoke already speaks the warning grammar there and two grammars on one patch of skin would blur into each other.
- The By feel game first. It exists, it runs on any phone, it already emits the kit's motor frames, and it holds six environments from a mall to a beach. Luanti, the open sandbox, comes second as the free-roaming world for longer training. Unity and Unreal are reference integrations for the SDK, not first homes. Every hour spent on a closed title's mod is an hour the open program cannot keep.
- About 60 and about 130 ms are the targets; 35 is a wish. The display band is a reading channel, and a reading channel at 60 ms feels immediate. The bench measures both chains with an accelerometer on a motor and writes the real numbers here, in the program's standing form: modeled. The wish stays on the record for the day phones carry Bluetooth Core 6.2 intervals and the chosen LRA's rise time is known; if the chain then lands under 35, the sentence changes.
- MIT. The SDK, the reference sender, and the reference receiver carry the MIT license, as the version 1 firmware does. Documentation and drawings carry the same terms as the version 1 repository. An open format that is hard to adopt is not open; MIT is the license the most people already know how to use.
- Advisory, with the numbers shown. The app shows minutes worn, minutes buzzing, and the wearer's own intensity settings over the session, and it suggests a rest at two hours. It does not lock anyone out. This is an adult's device, adaptation is reversible, and no study sets the number; the telemetry will. Enforcement returns to the table only if the bench finds harm, which the evidence does not predict.
One consequence follows on this site: the exploration display band enters the roadmap in HQ as a planned build, sequenced after milestone G0a, with the bench tests above attached to it.
What enters TEK now
- The display band joins the roadmap as the exploration channel's hardware, on the phone's side of the isolation boundary, with the upper back as its first site.
- The parts list gains no new part: the prototype is built from the LRA, driver, and multiplexer already chosen, plus a soft wrap.
- The bench plan for milestone G0a gains the display's tests: back localization at 50 by 75 mm, a thirty-minute adaptation run, and the two latency chains.
- The frame contract on this site becomes the SDK's core, with a wire encoding and a version to be written.
- The public sentence for this channel: "About 60 ms from a game to the skin, about 130 ms from a phone camera to the skin, modeled from the parts' datasheets until the bench measures it; the warning bands do not wait on either."
Sources
- Bach-y-Rita, Collins, Saunders, White, Scadden. Vision substitution by tactile image projection. Nature 221, 963 to 964 (1969). nature.com
- bHaptics TactSuit X40: 40 motors, 20 front and 20 back, Bluetooth, SDK and mod support across more than 250 titles. product page
- Connors, Chrastil, Sánchez, Merabet. Virtual environments for the transfer of navigation skills in the blind. Frontiers in Human Neuroscience, 2014. frontiersin.org
- Karuei et al. Detecting vibrations across the body in mobile contexts, 2011. pdf
- Back tactile acuity, side to side versus up and down, 2024. PMC
- Johannesson et al. Vibrotactile discrimination on the trunk, 2017. PMC
- Gemperle values quoted in A Review of Tactile Sensitivity and Human Tactile Interfaces, US Army. DTIC
- Cholewiak 2004, abdomen localization with 8 versus 12 motors, quoted in a 2021 torso study. bioRxiv
- Vibratory adaptation of cutaneous mechanoreceptive afferents, and Verrillo and Gescheider 1977 on post-stimulatory threshold shift. PMC
- Texas Instruments DRV2605L datasheet: start time, overdrive, braking. ti.com
- Bluetooth Core 6.2 feature overview: connection interval floor before and after. bluetooth.com
- Punch Through: iOS connection interval minimum. punchthrough.com
- inovex: glass-to-glass camera latency on Android. inovex.de
- On this site: Where the body should feel, the Council's decisions, the first board review, the By feel game.