Guide: how to flash ATtiny13a based drivers (NANJG, QLITE, etc.) with custom firmware

I think it’s wired correctly as it works just fine with the A17DD driver.

I tried going ahead and flashing a known good hex file (NLITE), even using the Force (-F) option. No luck there either.

I use that same avrdude command 100's of time (avrdude -p t13 -c usbasp -n). I use it to check the connection before downloading.

The GRND wire connection was documented incorrectly for the USBASP dongles we use - I've corrected it on flashlightwiki, and noted in other places. If the GRND is wrong, it can work, but you will have more flaky results.

Are you sure the GRND wire is correct? How's it wired?

No - wrong GRND wire will work 100 times on some boards, flaky or never on others.

I’ve got GND connected to pin 10 of the programmer. That’s the way to do it now, right?

If it matters, this is the programmer I’m using.

The qlite doesn’t have any stars soldered, does it?

That’ll usually cause problems too.

Yes, on that specific USBASP programmer, pin #4 or #10 will work. Wow - it says 2015 new version, but it's really the older USBASP v1.0, but the 2.0 version from FastTech and other sources, like protostack, have been out a long time now.

So, if that's correct, back to square 1...

Wonder if bad batch of QLites, or they changed something with the MCU Richard isn't aware of. I haven't done much with Qlites - maybe TK is on to something.

Nope, no stars soldered on any of the 6 qlites I’ve tried

Ugh. I wonder if it would be worthwhile to pick up one of the actual v2 ones. Not so much the cost, rather not great timing. It’d be nice if I can get this one working instead of waiting for one to ship.

Not sure. Qlites have been the easiest to flash, for me. They worked even when I had one pin disconnected and one pin in the wrong place. That’s a lot of why it took me so long to get the pins right; most drivers worked fine so I thought it was correct. But I’ve only tried the usbasp 2.0 and pomona clip, and only at 5V.

Anyway, it might be worth re-checking the pin configuration and doing continuity checks from the usbasp all the way to the soic clip pins.

Well, I thought I was finally onto something. A post I read mentioned that the cable should be <= 10” long - mine was almost 30”. So I chopped the cable to 10”, soldered the wires directly to the clip (no splicing!), and did an end-to-end continuity test. Hooked ’er all up and… no difference :rage:

Here’s my wiring layout. The wires are a bit difficult to trace in the photo since they’re all grey, but feel free to check that out.


fullsize


fullsize

PS - still works with the A17DD; still not working with the Qlite

I’ve seen it mentioned by a few people that providing power to the board via a battery might help with flashing. Dunno.

It doesn’t look like you moved any wires on the plug end

Good thoughts, Hoop. I remembered hearing that too, no luck there.

And I hadn’t moved any wires because I’m using a 10-wire ribbon cable.

Appreciate the ideas though!

Just made a major update to the guide:
-Removed instructions regarding the gray SOIC cable and stock clip
-Moved wiring instructions for Pomona 5250 SOIC clip from post #2 to OP
-Clarified wiring connections
-Added link to the flashlight firmware repository and some navigation instructions
-Removed really old reference links and links to individual firmwares
-Updated thread title and intro text

gchart, the wiring looks good to me.

Thanks Hoop.

Hoop, thanks for all your great help.
Could you please verify the links for the 2 images in the op-process step 1. For me they arent loading.

Glad to help. I Just moved all of my images to imgur. Hopefully that solves the issue.

Great updates, Hoop! Very clear wiring diagrams/pics.

BTW, I’ve got a V 2.0 on the way. We’ll see if that makes any difference.

Hoop, perfect now. Saved this entire thread and the linked threads as pdf on my PC, as it is a valueable source of information.

Made a few final edits to clean up the flashing process instructions. Should I add pictures of avrdude’s responses to the input codes, such as failure to initialize? Is that helpful or unnecessary?