4
\$\begingroup\$

I recently tried to replicate the setup proposed in this instructable.

Everything is fine until I hook up the device into (any of) the USB ports. Then, dmesg on Ubuntu complains that the device did not accept the address assignement (throwing an error -71).

I tried to replicate the schematic here:

schematic

simulate this circuit – Schematic created using CircuitLab

The only difference between this schematic and my actual set up is the R3 resistor which in my case are two series resistors of 1k each. (D3 was not present, but I thought it could be useful to see if the device was actually powered)

Why does Ubuntu recognise this as full speed rather than low speed? Do I need to use exactly the same resistance shown in the schematic, or do I have a completely different problem unrelated to this resistor value?

I'm a total beginner, so I may be missing something trivial, but I can't see it. Any help is appreciated.

P.S.: all components are SMDs

\$\endgroup\$
  • 1
    \$\begingroup\$ You do know that your ATTiny has to be programmed with the correct software for this to work, right? This thing will be an AVR programmer, but in order to make it work you have to already have an AVR programmer to install the software in the ATTiny. \$\endgroup\$ – JRE Nov 25 '15 at 14:18
  • 1
    \$\begingroup\$ The speed detection works via various combinations of pull up/down resistors to 3.3V, you need to be rather precise than to whack any replacement resistors you have at hand. Check how it is done, understand how it is done, then check what you did differently. \$\endgroup\$ – PlasmaHH Nov 25 '15 at 14:19
  • \$\begingroup\$ @JRE yes, I know that, and I used and Arduino as ISP to load the hex file that should act as interface and Avrdude didn't complain, so I can't tell if this is software related or not (but since this seemes to work for other people, I'm betting it's hardware related) \$\endgroup\$ – mmassaro Nov 25 '15 at 14:28
4
\$\begingroup\$

A pullup on D+ signals Full Speed mode. Low Speed mode is signaled by a pullup on D-.

\$\endgroup\$
  • \$\begingroup\$ Thi solved everything. Now the programmer is recognised and work also with the 2k pullup. \$\endgroup\$ – mmassaro Nov 25 '15 at 21:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.