I'm considering making a cheap USB slave device with the ATtiny85 and curious about the inefficiencies I'm accepting.

I know that it uses "low-speed USB 1.1" with only 1.5 Mb/s transmission (and no simultaneous reception, instead of "USB 3.2 Gen 2×2" with 20 Gb/s transmission plus simultaneous 20 Gb/s reception), but I'm really just transmitting about 40 bits every time I connect the USB cable, so I'm more curious about repeated bits due to frame errors and syncronization problems.

Specifically, with no precise clock, it seems that the host will need to repeat a few standard 1 ms frames to calibrate the ATtiny85 clock oscillator, and afterwards the host must still repeat things until the clock edges get aligned (since there is no clock recovery on ATtiny85).

Can someone confirm this and describe a typical full timeline (including repetitions/problems) expected for my D+/D- signals? I don't mind the wasted packets, and am really just asking out of curiosity to make sure I understand this hardware.

closed as too broad by gre_gor, VE7JRO, sempaiscuba, Juraj, MatsK Jan 8 at 13:06

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • I know almost nothing about ATtiny, but I know that it doesn"t have USB peripheral. – Juraj Jan 5 at 10:13
  • Do you mean the ATtiny cannot be a USB host? If so, that's fine because this ATtiny is the slave (and an Android smartphone will act as the host). – bobuhito Jan 5 at 16:48
  • no. no USB circuit. if ATtiny is used with USB, the USB is emulated with V-USB library – Juraj Jan 5 at 17:53
  • Yes, I agree. V-USB is what I was planning to use and therefore V-USB will "calibrate the ATtiny85 clock oscillator" every time I connect the USB cable...thus my question. – bobuhito Jan 5 at 18:36

Browse other questions tagged or ask your own question.