Skip to content

cpldcpu/u-wire

Repository files navigation

micro-wire

This is an attempt at the smallest possible USB compliant device with V-USB. It uses an ATtiny10 to control a single WS2812 LED via USB.

The source started out as an amalganation of micronucleus and littlewire. All excess functionality was cut away.

Update 2014-01-07:

  • It actually works on a ATtiny 10 now, yay! It still suffers from AVR-GCCs inability to generate proper 16 bit STS/LDS. Ticket to Atmel was submitted, let's see if they fix it.

Update 2014-03-19:

  • I published a more detailed write-up of the project here.
  • Custom PCB design is finished and ordered.

Features

  • Enumeration.
  • Only SETUP-request can be received.
  • Responses are limited to strings from flash memory or zero sized replies.
  • All SETUP packets that are not system request are forwarded to a WS2812 RGB LED on PB0.

Memory usage

  • 1020 bytes Flash - Now down to 988 bytes with STS/LDS workaround.
    • Leaves 36 bytes of flash for addtional functionality!
  • SRAM:
    • 28 bytes static variables
    • 2 bytes return stack
    • 2 bytes free
  • Uses only regs R16-R31

License

This design is open source hardware shared under GPL V3.

Parts of this design are derived from http://www.littlewire.cc and V-USB.

Please honour the license by publishing the design files of derived designs and attributing the original work by linking back to the original repository.

Test set up

Front

About

Smallest possible USB compliant device with V-USB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published