1 of 32

2 of 32

LED Suit

wearable blinkenlights

3 of 32

Inspiration

4 of 32

Sauce: thisiswhyimbroke.com

Sauce: electricnights.net

Sauce: andivia.com.sg

$12500

$800

$300

5 of 32

6 of 32

It’s also… not cool enough

7 of 32

Feature wishlist

  • Fast (>60Hz refresh rate)
  • High resolution (~2PPI)
  • Cool visuals
  • Music reactive!
  • Battery powered
  • Controlled by phone
  • Comfortable to wear
    • Over ski gear
    • Over clothing

8 of 32

Cool music reactive visuals at 60Hz?

9 of 32

Milkdrop

10 of 32

11 of 32

Milkdrop

  • Written by Ryan Geiss
  • Plugin for WinAmp
  • Looks nice, smooth, audio reactive!

  • Unfortunately… WINDOWS ONLY!

  • Open-source reimplementation: ProjectM

12 of 32

Implementation

13 of 32

Parts

14 of 32

15 of 32

WS2812B Addressable LEDs

16 of 32

WS2812B Addressable LEDs

17 of 32

WS2812B Addressable LEDs

Peak bit rate: ~800Kbit/s

18 of 32

WS2812B Addressable LEDs

  • (800Kbit/s) / (24 bits per pixel) / (60Hz) = 550 LEDs max strip length
  • Actually more like 300 LEDs due to reset period

  • So… for 2000 LEDs (desired display density) → 8x parallel outputs

19 of 32

System Architecture Considerations

  • LEDs
    • Raspberry Pi can’t drive the waveforms
      • Talks I2C, SPI, UART, USB and bitbanged protocols
      • SPI gives highest bandwidth for lowest engineering cost (~50Mb/s)
    • Can’t serialize all LEDs
    • Use an FPGA!
  • Audio
    • ProjectM listens to a PulseAudio source (causal)
    • Emulate Bluetooth audio sink on Pi
    • Use physical audio port to connect to external speaker
    • Physical microphones
  • Batteries
    • Peak power draw ~200W → need LiPo/LiIon
    • Want a few hours of battery life

20 of 32

LED Driver

21 of 32

Software Stack

22 of 32

Power

  • Peak power draw ~5A per strip
  • 8 strips at 25W → 200W
  • 3x 15A buck converter (LED strips)
  • 1x 5A buck converter (Pi/FPGA)
  • 20x 3Ah 18650 LiIon cell → ~230Wh
    • 1 hour at all white, max brightness

23 of 32

Batteries

  • Per-cell protection
  • Per-module protection
  • 2s2p x5

24 of 32

Common terminal

BAT+

BAT-

25 of 32

26 of 32

Power Management

  • Buck converters take 8.4V (max) LiIon voltage to 5V system power
    • Run HOT!
    • ~92% efficient
    • 8% (16W!) lost to heat (just in the buck converters)
  • Measure battery voltage/current consumption/temperature
    • Throttle LED brightness to control thermals

27 of 32

Controller

FPGA (Spartan6 on MojoV3)

Raspberry Pi + 2 MIC Pi Hat from Seeed Studio

SPI

Audio Out

Strip Driver Channel

28 of 32

Suit

  • Combination of nylon/polypropylene webbing and stretch webbing
  • LED strips come with silicone sheath
    • Glue to webbing? 3D print hooks?
  • Sew webbing into stretchy suit
    • Fits over different outfits
  • Aluminum enclosure for controller/batteries
  • Silicone sheathed wire (14Ga for power, 26Ga for signals)

29 of 32

30 of 32

Demo

31 of 32

32 of 32

Thanks!

github.com/fughilli/ledsuit