This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
arduino:how-to-fix-a-usb-isp-programmer-and-make-it-work-with-arduino-ide-on-linux [2020/02/09 17:05] Ilias Iliopoulos [Summary] |
arduino:how-to-fix-a-usb-isp-programmer-and-make-it-work-with-arduino-ide-on-linux [2024/02/02 21:48] (current) Ilias Iliopoulos |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== How to fix a USB-ISP programmer and make it work with Arduino IDE on Linux ====== | + | ====== How to fix a USB-ISP programmer and make it work as USBasp with Arduino IDE on Linux ====== |
===== Introduction ===== | ===== Introduction ===== | ||
- | I was tired of having bare PCB boards and wires all over the place, so I decided to order a USB programmer in a brightly colored metal case. The device I ordered was described as **"Aluminum shell USB ISP USBISP USBASP ASP Programmer for 51 ATMEL AVR WIN7 64 (Random color)"** shown below. | + | Although I do not usually program chips, because I prefer to use complete modules, mainly for utilizing their USB port as a user interface, I happened to work on a few projects with a bare ATtiny85, which requires a programmer. I managed with a custom programmer, built on an Arduino Nano loaded with ''the ArduinoISP'' sketch. But as you all know, you never program once. Actually, I estimate that for program beutifications, minor adjustments etc. I program at least 5 times, and this, after the program is fully debugged!!! That is a lot of work, even for a single project. |
+ | |||
+ | So, I was tired of having bare PCBs and wires all over the place, therefore I decided to order a USB programmer in a brightly colored metal case. The device I ordered was described as **"Aluminum shell USB ISP USBISP USBASP ASP Programmer for 51 ATMEL AVR WIN7 64 (Random color)"** shown below. | ||
{{ :arduino:usb-isp.jpg?200 | USB-ISP}} | {{ :arduino:usb-isp.jpg?200 | USB-ISP}} | ||
Line 21: | Line 23: | ||
</code> | </code> | ||
- | Googling the name of the manufacturer **"zhifengsoft"** as well as **"usb-isp"**, a ton of information came through, regarding the case. It seems that the device is working along with the Windows program [[https://www.electrodragon.com/w/8051 | ProgISP]] and is not recognized by ''avrdude'', the program which uploads code to Arduino and other Atmel micro-controllers. | + | Googling the name of the manufacturer **"zhifengsoft"** as well as **"usb-isp"**, a ton of information came through. It seems that the device is working along with the Windows program [[https://www.electrodragon.com/w/8051 | ProgISP]] and is not recognized by ''avrdude'', the program which uploads code to Arduino and other Atmel micro-controllers. |
Luckily, I did not have to re-invent the wheel because there has been a lot of excellent work. I decided to publish this article because: | Luckily, I did not have to re-invent the wheel because there has been a lot of excellent work. I decided to publish this article because: | ||
Line 58: | Line 60: | ||
===== Prerequisites: ===== | ===== Prerequisites: ===== | ||
- | The controller inside my USB-ISP is an ATmega88. As found online, other models have an ATmega8. Just remember it when you construct the parameters at the commands below. | + | The controller inside my USB-ISP is an **ATmega88**. As found online, other models have an **ATmega8**. Just remember it when you construct the parameters at the commands below. |
You will need: | You will need: | ||
Line 126: | Line 128: | ||
</code> | </code> | ||
- | Be extra cautious about the numbering of the connector pins. Usually, there will be an arrow imprinted on the connector that will mark pin number 1. This photo will help: | + | Be extra cautious about the numbering of the connector pins. Usually, there will be an arrow or a triangle marker imprinted on the connector that will mark pin number 1. This photo will help: |
{{ :arduino:usb-isp-connector.jpg?400 | 10-pin header connector }} | {{ :arduino:usb-isp-connector.jpg?400 | 10-pin header connector }} | ||
Line 141: | Line 143: | ||
{{ :arduino:usb-isp-extract.jpg?400 | Extract the PCB from the metal case }} | {{ :arduino:usb-isp-extract.jpg?400 | Extract the PCB from the metal case }} | ||
- | After taking it out, I noticed that it contains an ATMega88 running at a 12 MHz crystal and the PCB states that it is **MX-U2BLSP-V5.00**, probably mimicking MX-USBISP-V5.00 of another manufacturer. Notice also a 0 Ohm resistor, which is the source of our troubles. | + | After taking it out, I noticed that it contains an ATMega88 running at a 12 MHz crystal and the PCB states that it is **MX-U2BLSP-V5.00**, probably mimicking MX-USBISP-V5.00 of another manufacturer. Notice also a 0 Ohm resistor, which is one of the source of our troubles, according to [[http://irq5.io/2017/07/25/making-usbasp-chinese-clones-usable/ | Making USBasp Chinese Clones Usable by Darell Tan]]. |
{{ :arduino:usb-isp-pcb-top.jpg?400 | PCB top side }} | {{ :arduino:usb-isp-pcb-top.jpg?400 | PCB top side }} | ||
Line 583: | Line 585: | ||
Have fun... | Have fun... | ||
+ | |||
+ | ~~DISQUS~~ |