Wiggle Spine

7 模块电源和数据集线器的电路板设计,含 USB 2.0 和 ice40 FPGA。「Board design for a 7-module power and data hub, with USB 2.0 and ice40 FPGA.」

  • Owner: wiggleport/wiggle-spine
  • Platform: Embedded Systems
  • License:: GNU General Public License v3.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

This is the Wiggle Spine, an open hardware design for Wiggleport's power and data hub.

  • Each "spine" board has a 480 Mbit/s USB 2.0 uplink and 7 connectors for modules.
  • Drive up to 14 speakers at 48/96 kHz per channel from one USB port.
  • Connect sensors and lights, sync them perfectly with sound and each other.
  • Use it to create objects and environments that are perfectly synchronized with immersive sound and vibration.
  • Connect other audio-frequency devices like vibration transducers, LED strobes, and modular synthesizers.
  • Use all the processing power in your PC, or run from an embedded Linux board like the Raspberry Pi 2.
  • Gain accurate control of I/O timing from high-level languages like Javascript.

Scale it up or down

  • Multiple spines can be synchronized with cheap TOSLINK-style optical cables

    • USB links can go to the same or different computers, depending on how much processing power you need
    • Everyone shares a common audio clock and timestamps
  • The spine also has a built-in DMX output so it's easy to add inexpensive lights and effects to your project

    • The output has galvanic isolation, to prevent grounding problems or audio hum
    • The DMX outputs can of course synchronize with all other inputs and outputs
  • Wiggleport distributes power too, not just data

    • Flexible power input, 5 to 24 volts
    • Lots of power, over 300 watts total
    • Each module has 5V, 3.3V, and 5-24V available
    • There's also a 5V power output for running a Raspberry Pi or other small computer
    • Also there's a watchdog timer, to reboot the computer if it stops running for any reason

Internals

Wiggleport is an open source hardware design optimized for simple and straightforward real-time performance. It's based around an FTDI FT2232H high-speed USB FIFO interface, combined with a precision clock synthesizer and a tiny FPGA for glue logic. It stays simple and inexpensive by doing much of the work in software, relying on the powerful CPUs available on even small embedded Linux boards now.

Wiggleport isn't really a sound card, even though you can use it as one. It has its own APIs for C++, MIDI, and Javascript. You can write code for precisely timed multichannel sound installations on your laptop on Mac OS, for example, and run the same code on a Raspberry Pi later on.

Going even deeper, Wiggleport is really kind of a construction kit for hardware and drivers that stream signals in real-time. This reconfigurability is what lets Wiggleport automatically configure the various add-on modules, but you can also use this core directly to create your own hardware, with or without including an FPGA.

Coming soon... development is happening here now! You can follow the progress at wiggleport.org.

Main metrics

Overview
Name With Ownerwiggleport/wiggle-spine
Primary LanguageC
Program languageKiCad Layout (Language Count: 4)
Platform
License:GNU General Public License v3.0
所有者活动
Created At2013-04-07 21:03:17
Pushed At2021-06-02 16:44:22
Last Commit At2021-06-02 18:44:22
Release Count4
Last Release Namev2.2 (Posted on )
First Release Namev0.9 (Posted on 2013-08-08 18:53:30)
用户参与
Stargazers Count0.9k
Watchers Count102
Fork Count202
Commits Count206
Has Issues Enabled
Issues Count68
Issue Open Count13
Pull Requests Count26
Pull Requests Open Count1
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private