Avr Flash Programming with USBasp Experiences
USBasp, ProgIsp, AVR flash programming, usbasp programmer, zhifengsoft.com,
CHINESE USBASP CLONE DOES NOT WORK
We wrote this whole page to try to make buyers of USBasp programmer clones aware of what's possibly out there for sale and the conclusion we came to about the units we bought, after quite some investigative work IT SIMPLY DOES NOT REALLY WORK !!!
We tried to read the flash content, and the blue led flashes, but that's about it ... it does not work :(
We bought this device on ebay from a canadian company NooElec with the ebay sellers number 16933.
We are not saying that NooElec is a bad company, all we say is that this particular item we bought from them was not what they advertised and it does not work to their claim ... and here is their sad initial response :(
"All units are tested before dispatch. I have no idea what 'differences' you are referring to. These perform the exact function as advertised, which is programming Atmel chips. Please provide the reason for your return request. Regards, Jeff NooElec Inc."
tested before dispatch means probably ... has 2 product matching connectors and an avr in the middle, yes, looks like it, ship it ...
The rest of the story was the rocky road it took us to get to this conclusion ... we did not immediately realize that the received product does not meet what was really advertised ... after waiting for a week, we did not recall the exact picture presented on the sellers ebay page ... therefore we did go through all of this for NOTHING ... not really, maybe others will be able to avoid following our footsteps to come to the same disappointing conclusion.
Now you buy something from an almost American company, canada is close enough, with the word USA in the advertisement string to find out that the advertised product does not match the product received and it does FOR SURE NOT WORK WITH THE APP SOFTWARE PROVIDED BY THE VENDOR !!!
Does the pict below assemble in any way what we received as the pictures at the bottom will show ???
visiting a few related forums, we got some response and will try to fix it ... here are the links
more to come ...
Here the story goes
It all started with taking a design with an Atmega328p-au on board ... we wanted to save time to market and took a really cool design from a friends company on board. Well ... now we have a new CPU, re-layout the board and try to put the firmware into the flash. Cool ... let's do it ... get an arduino board locally off the shelf, rather then to wait for it in the mail and order 2 USBasp programmers from a US vendor for the production run though the mail.
The road was rocky to get the AVR's flash programmed in linux with arduinoISP on our Uno to setup all the flash and ee-mem including the config-fuses. We're also pretty fast in swapping soldered in 32 pin TQFPs CPUs since the fuses didn't behave at 1st as expected. Now, almost really good with the command-line AvrDude programmer with it's 1001 setup options, we were looking forward to the the USBasp in the mail to relax with a fancy GUI.
Wrong, there is only one original USBasp and too many who knows what you will get clones.
We got one of them ... made in china, what's not from there these days, but usually there is nothing wrong with it.
Let's try to get GUI support for linux ... well, one from india with NO support, also for windows, but it doesn't work there either. Another one from persia, only for windows, also no success. Neither one sees the programmer, even it (or something new) shows up in the device manager and in linux using lsusb.
Please try to find docs or info on how to run the software, not the installation, the operation is what holds the beef :)
We have to say that the lack of hardware incompatibility was probably the cause for it's failure to connect, but some docs would have helped for sure.
Now, to find out if your USBasp clone is one of these kinds, just compare our pics to your particular device and you might find the answer of how to make it work ... but maybe not, if it's different ???
And now you live in google-search for a while (hours over hours) and discover that this particular model, which is offered from quite a few other places, does not seem to conform to the standards, expected by these USBasp based GUI apps.
After reading a whole bunch of not too happy notes about those non conforming USBasp clones we decided to document the clone we bought to show the differences. We did not examine any original USBasp firmware source code from it's creator http://www.fischl.de/usbasp/ for hardware differences and potential firmware incompatibilities.
We did find an english language GUI written by a chinese software company
don't bother to translate, you won't find any useful info about the GUI, or at least we didn't.
Downloaded rev 1.72 from an indonesian website
let's hope it's still around and ... please use google translate unless you're fluent in one of those indonesian languages, but maybe there's only one, who knows, just translate it to find the download link ... hint, it's not too big and kinda tucked away.
After all the trouble, we think it is a working GUI / programmer solution ... we have to perform more tests
What we do now, is to document the circuitry and point out the hardware differences and let you be the judge, if you want to use it or try to find another source ... good luck.
Positively, we have to say, as soon as we copied the downloaded software, which does not need an installer, we connected the USBasp clone in win 7 x64 and win 2000 on a vm, the software recognized it's device, but that's about it ...
Some more, not too positive comments on the net.
The difference from the original USBasp seems to be the USB device Vendor and device ID derived in linux and assuming in windows as well.
Bus 001 Device 018: ID 03eb:c8b4 Atmel Corp.
[89438.608401] usb 1-3.4: new low speed USB device using ehci]] _hcd and address 21 [89438.731569] generic-usb 0003:03EB:C8B4.000A: hiddev0,hidraw4: USB HID v1.01 Device [zhifengsoft USBHID] on usb-0000:00:1a.7-3.4/input0
Please anyone having better or more information, correct us, as we only have a limited amount of time to devote to this subject and a limited amount of AVR flash programming experiences for now.
We just try to use this part and not fix it, convert it or re-design it ... for now it appears to be working in windows.
Top PCB View :
With the crystal removed to show traces and vias. We did not dare to remove the CPU to find out what's underneath. We would never have gotten it back into it's place again and working with it's ultra fine pitch leads.
Important Note : the pics show the solder-jumpers J3 - J5 removed, un-soldered for documentation purpose. They are soldered for normal operation or whatever, we will find out :)
Bottom PCB View :
Mirrored, needed to overlay top and bottom to re-trace the board.
Top PCB View with traces highlighted
Bottom PCB View with traces highlighted, mirrored
Clone Circuit Schematics :
Drawn from above pics (there is always a chance, we missed something ... please inform us of our mistakes). The schematic was only drawn to illustrate the overall connectivity. OrCad's design rule check would scream real loud if we'd run it on it.
Also we used an atmega328p cpu symbol which is pin compatible for the purpose of this documentation.
Copy of The Original USBasp :
The standard USBasb circuit design taken form http://www.fischl.de/usbasp/
Note : All published design documentation is Copyright ⓒ efiLabs.com and its use is without exception FOR NON COMMERCIAL PURPOSE ONLY. For commercial licenses contact efilabs.com ... try us, we're reasonable :)