Author Topic: Initial problems with digispark: windows drivers, usb connector tabs, cases  (Read 36650 times)

emertonom

  • Newbie
  • *
  • Posts: 6
Just wanted to post to document a few problems I had getting started with the digispark, in case some of these were helpful to someone else.


First, I had a lot of trouble getting 64-bit Windows 7 to recognize the digispark.  I had installed the driver using the supplied installation tool, but windows seems to have two "levels" of installation.  The first is "give windows a driver file to use if it ever encounters this sort of device," and the second is "tell windows I am using this sort of device and it needs to load the relevant driver file."  (This is why, when you are uninstalling a device driver, there's a checkbox for "also delete the driver files"; typically it only removes the second-level installation, but the checkbox forces it to remove the first-level installation too.)  The installer program achieved the first level of installation, but not the second; and Windows couldn't make the transition to the second level fast enough.  When the digispark, after five seconds, switched from appearing as a USB device to just running the "blink" sketch, Windows would abandon trying to load the driver and say instead that the device was malfunctioning.


The fix for this was to manually run the "install hardware wizard" as though the digispark were not a plug-and-play device, forcing the driver into the second-level installed mode.  The steps for this are to choose run from the start menu, type "hdwwiz", press enter, click "next," chose "install the hardware that I manually select from a list," click next, choose "all devices," click next, wait for the hardware list to appear, scroll to "Digistump," select "Digispark Bootloader," and click next twice more.


This is the only way I was able to get my computer to recognize the digispark.  After doing this once, everything worked the way I expected.


The second problem I had was with the USB connector tabs.  Someone already posted about the tabs being too wide, but the problem I had was slightly different.  The "too wide" problem was just a result of little nubs of material lingering at the corners of the USB tabs, which I had no trouble removing and didn't mind on a cheap device.  However, two of my digisparks (out of 11 total) had an *alignment* problem with the USB tabs--they would fit into a USB slot, but the contacts didn't line up correctly.  What's more, the problem was misleading, in that the power connectors, being wider, DID connect with the corresponding connectors in the hub; it was only the narrow data connectors that weren't making contact.  The result of this was that the computer wouldn't see the digispark at all, but the preloaded "blink" sketch would run as normal.  This made it look like the problem was on the computer's side of things, but it wasn't--it was a physical connection issue.  I filed away the extra material, and now the digispark can connect, but it's somewhat less reliable; if you plug it in aligned with the right edge of the socket, it doesn't connect--only if it's aligned with the left.  It's workable, but not ideal.


The third problem I've had is with the cases.  I appreciate the tutorial that shows how to put them together.  But the problem I'm having is that, once the case is assembled and the digispark tucked inside, it proves impossible to program the digispark--because of how short the connectors are, even with a USB extension cable, there's just not enough of the digispark sticking out of the case to make a connection.  They wouldn't need to be much longer--only the width of the wall of the case, which is just a couple of millimeters--but at present, the cases are sort of a catch-22; they don't completely enclose the digispark, so they're not terribly protective, but they also don't allow you do program the digispark, so there's no benefit to the exposure.  That's a bit frustrating.  I'll figure something out--either some sort of toothy connector-forward USB adapter that can make a connection with the stub of connector that's exposed, or else a pattern I can cut away from the case to allow the extension cable to grip the whole connector--but it's disappointing that these things weren't considered in the design stages.


I'm still excited about the digisparks--I'm still pondering the best way to use them--but getting started was a lot more challenging than I expected.


Hope someone gets some use out of these thoughts.  Any advice on the situation with the cases?
-Nick

emertonom

  • Newbie
  • *
  • Posts: 6
Oh, I forgot a note about the connector tab:  the way to recognize it is a WHITE LINE visible on the side of the tab.  The line is where the cut is supposed to be; material on the far side of that will tend to push the contacts out of alignment.

digistump

  • Administrator
  • Hero Member
  • *****
  • Posts: 1465
Nick


This is a great post and I appreciate the honest feedback. The driver info is great!


Regarding the USB connectors: Getting guaranteed machining tolerances on PCBs is really expensive, so we do expect some occasional variances in fit and finish - that said I'm surprised 2 of yours were so far off, that is not indicative of what we've seen, we've seen somewhere under 1% be that far off, so I apologize that you ended up with 2 of them.


Regarding the cases: I'd say of everything we've produced I am unsatisfied with two things - the cases, and the grove connectors being not quite right for some grove modules and cables. I think the cases fill the need they were designed to fill, and meet the specs they were advertised for. But that doesn't mean I don't think we could have done a bit better. The problem is, it isn't so much the cases as the Digispark not being designed for the cases. The Digispark PCBs went to production shortly after the Kickstarter ended (the delays were in other areas, not the PCBs) - so we were locked in on that already as we finalized the cases, shields, etc. This wasn't ideal, but was necessary for delivering the product. We tried many approaches, cases that came apart - they were just two small to make tabs or something else that wouldn't break when taken apart - and ultimately we went with glue together as we had originally advertised it. We also tried many revisions for the connector exit, including thinner material (didn't cut accurately enough), bigger opening (the whole Digispark slid out), etc - we settled on the current design where we found about 75% of our USB extension cables could grip the Digispark well enough not only to program it but to remain attached with light use (such as an RGB led on our desk). I wish we could have made the connector longer, but it was too late in the game, and we didn't want to remove the connector exit because using it tethered that was our most common use. So we made the design compromises and decisions that we did, but I certainly won't say I think the cases came out perfect, and I understand your concerns. I apologize that you found the cases frustrating and appreciate your feedback on them. We have already revised the next batch of Digisparks to have longer connectors.


Thanks again for the great feedback and post!
Erik

magikman

  • Newbie
  • *
  • Posts: 2
I'm one of those people in that one boat, the one where the driver isn't recognized. hdwwiz didn't do the trick.
Obviously it wasn't a connector tab issue. I have noticed it is a little tight but not impossible it plug in to.
Anyhow. Did the whole powered usb hub thing, and lo and behold, it's recognized.

A few things to note that maybe different from other users who might have had the same issue:

inside the DigiSpark Windows Driver folder there's the installdriver.exe (application)

thers also one called dpscat which I clicked which added

dpinst64 below the dpinst32.

Having nothing to lose I went ahead and clicked the dpinst64 which added potentially the same driver as the original install driver.

Could you shed some light on what I did and if it made any difference or if it was just all the powered usb?
« Last Edit: March 27, 2013, 07:24:46 pm by magikman »

magikman

  • Newbie
  • *
  • Posts: 2
Also. I unplugged the power to the usb hub and the digispark still gets uploaded to.
I think what happens is the driver is recognized for the usb hub and in turn it searches for the peripherals driver.
I'm not sure if it has to be a powered usb hub to begin with.

The Digispark still won't be recognized on any of the other regular ports though.

emertonom

  • Newbie
  • *
  • Posts: 6
When you plug it in to the ports on the computer, does it show up in the device manager as "unknown device," or is there no reaction from the computer at all?  The problem I was having was that I'd plug in the device, and windows would bring up the "new hardware detected, installing device driver" dialog; but if this took more than 5 seconds, the digispark would shut down USB communication, and would instead run the sketch pre-loaded on the device.  At that point, Windows would think the device had malfunctioned, and would just label it as "unknown device."


If that's what's happening when you plug the device in to the regular ports, but it works normally in a powered hub, then I have no idea what the solution would be.  If, instead, what's happening is that you plug in the device, and the LED on the device lights up, but the computer doesn't respond at all, it's much more likely a problem with the physical leads on the digispark not lining up with, or not reaching, the leads in the socket on your computer.


It's also conceivably a problem with the amount of power available in the jack--some machines, especially laptops, have USB ports that can't really muster enough current for some USB-powered devices.  I expect the digispark would be in this category.  In that case, the powered hub would probably be your only recourse.


Hope this helps.  If you can describe in more detail what happens when you plug the digispark in to the computer's own jacks, it might be easier to tell what's going on.  That said, note that I'm not affiliated with digistump, and this is just amateur speculation on my part.

ephphatha

  • Newbie
  • *
  • Posts: 6
...if this took more than 5 seconds, the digispark would shut down USB communication, and would instead run the sketch pre-loaded on the device.


It might be worthwhile to put a simple sketch on a digispark that calls DigiUSB.refresh() repeatedly to keep the USB connection alive if this is what's happening.


Edit: Regarding power, the Digispark presents as a USB 1.1 device meaning a compliant host should only provide 100ma to the device. This should be plenty for the digispark (30ma with the onboard led enabled, ~5ma without I think) and a couple of LEDs, anything more than that will need external power. Powered hubs and some computers might deliberately circumvent the spec and allow the device to draw more current than that but compliant hosts will shut off the port if the device pulls more than 100ma.
« Last Edit: March 29, 2013, 08:51:30 am by ephphatha »

emertonom

  • Newbie
  • *
  • Posts: 6
I didn't realize the draw was so low--scratch the "underpowered ports" theory, then.


As for loading a sketch which refreshes USB--the problem only occurred until the first time I got the computer to recognize a digispark.  After that, I didn't have problems, except with the two that had misaligned contacts, as I mentioned.  As such, I wouldn't have been able to load such a sketch without first solving the problem--in which case I wouldn't be able to load such a sketch.  Such a thing would have to be preloaded at the factory to help with this problem.  Even then I'm not certain it would work--it would depend on whether the digispark identifies itself the same way when running a DigiUSB sketch as it does when it's still in its start-up mode.  I may experiment with this this weekend, since I have another, very similar computer that I haven't used the digisparks on yet; if it recreates the driver problem, I can test a "refresh" sketch to see if it solves things.


Thanks for your advice, though.  I agree there's likely a way to configure the digisparks slightly differently to avoid the problem I experienced, although the workaround I found did fix it for my particular case.

claudiuo

  • Newbie
  • *
  • Posts: 4
Nick, you are the best. I know this is an old topic but you helped me so much, I had to thank you.

I have 3 digisparks, 2 work fine on my Linux Mint machine, one runs the demo app but can't upload. Same on a Win7 machine. I was getting ready to give up on it, thinking I damaged it somehow when I found your post and the white line thing... filed mine and it works now if I wiggle it in the USB socket.

Thank you so much for helping a beginner like me, you are great!

Mark

  • Full Member
  • ***
  • Posts: 196
I know this is an oldish post now, however to add.

You should be able to see faint marks on the Digispark plating where the USB pins touch.


I used a good USB extension that featured sprung pins, so it may have helped.

mark

edwin

  • Newbie
  • *
  • Posts: 2
I see that 3 years later the  problems still exist.
digispark not recognized
with add hardware no digispark choice pops up
have changed cables no effect

The installation procedure never asked me to install drivers
I have nmever installed any digispark drivers earlier so i am sure i dont have them
I dont have the foggiest where to find drivvers to install (suggestion to digstump...how about a link to your drivers)

I have used attiny85' s many times and programming them is really easy with ICSP, but I thought " hey lets give digispark a try"

Honestly... a BIG disappointment. Really makes me wonder if this product is actually ripe for the market.
I know it works as the led is blinking, but currently  it is just a 13 dollar blinking LED
BIG disappointment.

It is probably coz I am ticked and irritated, but is it really necessary that I have to  state what Digistumps products are every time i pose a question?

Pinus

  • Newbie
  • *
  • Posts: 35
Counterfeit clones usually do not come with support.

If it doesn't blink after five seconds it has been plugged in, then it does not come with a preloaded bootloader, therefore computer doesn't see it as a peripheral.

As simple as that.

dougal

  • Sr. Member
  • ****
  • Posts: 289
The installation procedure never asked me to install drivers
I have nmever installed any digispark drivers earlier so i am sure i dont have them
I dont have the foggiest where to find drivvers to install (suggestion to digstump...how about a link to your drivers)

Did you check here: http://digistump.com/wiki/digispark/tutorials/connecting

Down near the bottom, where it says, "WINDOWS: Did you install the driver?"...


jaruemalak

  • Newbie
  • *
  • Posts: 1
Just a thank you to emertonom for posting how he handled getting his Digispark to work with Windows 7.  I've been trying for over a week, and then I thought, maybe I should check the forum.  I tried what he suggested and it worked, first time!  I still get error messages and "invalid Library" messages, but the darn thing works, and that's all I care about!

rheine3

  • Newbie
  • *
  • Posts: 2
Re: Initial problems with digispark: windows drivers, usb connector tabs, cases
« Reply #14 on: September 02, 2016, 08:05:46 pm »
Just keeping things alive.  I followed all the great advice in this thread and made some progress. My Win7 64bit can see the tiny85 device on a virtual comm port but the error is that it cannot start. Code 10, I believe. Does anyone have that experience?

*R