dreamstack/docs/fabric-display-overview.md

80 lines
4.4 KiB
Markdown
Raw Normal View History

# Interactive Fabric Display — Overview
> Based on research from:
> - [Large-area display textiles integrated with functional systems (Nature, 2021)](https://www.nature.com/articles/s41586-021-03295-8)
> - [Lighting Fabrics - A New Approach for Flexible Light Sources (LED Professional)](https://www.led-professional.com/resources-1/articles/lighting-fabrics-a-new-approach-for-flexible-light-sources)
## What These Articles Describe
**Nature paper (Shi et al., 2021):** A breakthrough in **woven electroluminescent (EL) display textiles**. They weave conductive weft fibres and luminescent warp fibres together, creating ~500,000 EL pixel units at each weft-warp contact point, spaced ~800µm apart. The result is a 6m × 25cm flexible, breathable, machine-washable display fabric. They demonstrated an integrated system with a **textile keyboard** (capacitive touch) and **textile power supply** — essentially a full wearable communication device.
**LED Professional (Carpetlight):** A commercial approach to **LED-on-fabric lighting** — miniature PCBs on rip-stop polyamide, connected by conductive embroidered threads. Controllable via **DMX protocol**, tunable white (28005400K), and extremely lightweight (300g for a 2×1ft panel). Currently used in film/TV lighting.
---
## How to Build an Interactive Display from These Concepts
There are **three tiers**, depending on how deep you want to go:
### Tier 1: Accessible Now (LED Matrix on Fabric)
Use commercially available components to approximate the research:
| Component | Product | Est. Cost |
|---|---|---|
| **LED matrix** | WS2812B/SK6812 flexible LED strips or panels (e.g., 16×16 NeoPixel matrix) | $1560 |
| **Substrate** | Sew/bond onto rip-stop nylon or felt | $510 |
| **Controller** | ESP32 or Raspberry Pi Pico W | $515 |
| **Touch input** | Capacitive touch sensors (MPR121) or conductive thread embroidery | $515 |
| **Power** | LiPo battery + boost converter | $1020 |
**The architecture:**
1. **Addressable LED grid** sewn onto fabric → each LED is a "pixel"
2. **Capacitive touch zones** using conductive thread (like the Nature paper's keyboard)
3. **ESP32 running a DreamStack bitstream** → the display state is a signal graph, touch events mutate it, and the whole thing streams over the relay for remote interaction
### Tier 2: Electroluminescent (Closer to the Nature Paper)
Use **EL wire/panels** woven or sewn into fabric:
- **EL wire** segments as individual addressable lines
- **AC inverter** with multiplexer (e.g., custom PCB or commercial EL sequencer)
- **Woven grid pattern** — horizontal EL wires crossed with conductive warp threads
- Achievable pixel resolution: ~510mm pitch (vs. the paper's 800µm)
### Tier 3: Full Research Replication
This requires lab equipment — ZnS:Cu phosphor-coated fibres, ionic gel transparent electrodes, and an industrial loom. Not practical outside a university materials science lab.
---
## Where DreamStack Fits
This is a perfect use case for bitstream streaming:
```
┌─────────────────────────────┐
│ Fabric Display (ESP32) │
│ ┌───────────────────────┐ │
│ │ LED Matrix State │──┼──► DreamStack Bitstream
│ │ (signal per pixel) │ │ (streams over relay)
│ ├───────────────────────┤ │
│ │ Touch Sensor Input │──┼──► Mutations
│ └───────────────────────┘ │
└─────────────────────────────┘
▲ │
│ ▼
Remote Control Viewer
(phone/web) (any screen)
```
- The **fabric display's pixel state** is a DreamStack signal array
- **Touch on the fabric** generates mutations that stream upstream
- A **remote viewer/controller** (phone, web) can also push state down to the fabric
- Conflict resolution handles simultaneous fabric-touch + remote-touch
---
## Possible Next Steps
1. **A DreamStack `.ds` program** that models a fabric display grid as a streaming signal matrix
2. **An ESP32 firmware sketch** for driving a WS2812B matrix with capacitive touch, speaking the bitstream protocol
3. **A web-based simulator/controller** — a visual grid that mirrors the fabric display in real-time over the relay