Author Topic: Troubleshooting ideas for my custom digispark pcb?  (Read 1919 times)

JC_SoCal

  • Newbie
  • *
  • Posts: 2
Troubleshooting ideas for my custom digispark pcb?
« on: November 11, 2018, 01:34:16 pm »
Hi,

I recently made my own PCB using the digispark. However, I'm having trouble in troubleshooting this board. The first issue (please correct me if i'm wrong) the offical digispark schematic has D3 reversed? I didn't catch this until starting to troubleshoot. I am unable to program the board (t85_default.hex micronucleus firmware) via my usbasp programmer. I get this code: avrdude.exe: verification error, first mismatch at byte 0x1980 0x00 != 0x17.

I have desoldered and resolder a corrected D3 diode, still no luck, same error.

This is where it gets interesting. If I leave my SOIC chip clip on the attiny85, connected to the USBAsp (plugged in) and then plug my PCB into USB, I can program the bootloader and set fuses no problem. The board works perfect after that, I can upload code via Arduino, provided I leave the SOIC chip clip / usbasp connected.

Just reversing D3 will power the board, but Windows will come up with an error that says the usb is malfunctioning. I have no idea what my next step should be to troubleshoot this, any ideas?

Attached is a picture of my setup, my creation of the digispark circuit in kicad, and the top and bottom of the pcb layout.

Thanks in advance!

granzeier

  • Jr. Member
  • **
  • Posts: 73
Re: Troubleshooting ideas for my custom digispark pcb?
« Reply #1 on: November 13, 2018, 03:24:14 am »
That is pretty weird.
Did you wire up this circuit on a breadboard (following your KiCad schematic exactly,) yet?
If not, try that, and see if it works. Although, I think that it will. From your description, it sounds like there must be some kind of cross-talk, or some other interference, causing this trouble. If you can get it working on your breadboard, you will be able to verify that your schematic is correct. Then you can concentrate on looking for the exact trouble in your PCB layout.
Also, did you let KiCad route the traces for you? If you did, try manually routing the traces, and leave out the ground plane (while a good idea, you really don't need the ground plane for this simple of a circuit.) The ground plane should protect your circuit from this kind of stuff, but if it touches the wrong point, it can act like an antenna, and bring in all sorts of noise.

JC_SoCal

  • Newbie
  • *
  • Posts: 2
Re: Troubleshooting ideas for my custom digispark pcb?
« Reply #2 on: November 13, 2018, 09:30:31 am »
Hey, thanks for the reply!

I've ordered all the components to make a breadboard version and double check. I'm going to check every connection for continuity to the ground to see if there is a short, I didn't even consider the ground plane interfering. I also spent a fair amount of time looking at the original digispark circuit against the digispark board that is sold. I noticed that R3,R4 and R5 are actually 1k resistors. Also, that D3 is in fact reversed. Is there a reason why the schematic has not been updated?

granzeier

  • Jr. Member
  • **
  • Posts: 73
Re: Troubleshooting ideas for my custom digispark pcb?
« Reply #3 on: November 13, 2018, 02:26:35 pm »
Sorry, I can't really answer why the schematics have not been updated. Probably because Digistump has been putting all of his concentration into the newer products.
Regarding the resistors, there is actually quite a bit of leeway for those resistor values. For D3, the values for pull-ups is pretty wide, and really only affects the current draw - higher values draw less current, thus allowing for longer battery life. The same thing goes for the LED current limiting resistors. Although, here lower resistance also gives a brighter LED. If Digistump's provider had a better deal for the 1K resistors, or he figured that most of his customers were not using batteries, that may have helped the decision. I have had to make several decisions that appear to be less than optimal in bringing a product to market.
Actually, that is just my long-winded way of saying "Sorry, I don't know."  :P