USBAsp: programming ATMEL 328P - Page 1
Forum section: electronics / beginners

author: de_light
author_rank: Regular Contributor
timestamp: May 23, 2020, 02:50:38 pm
content: I am trying to upgrade some firmware on an ESR tester (BSIDE ESR02). It is based off open-source firmware that has been extensively followed on this forum. I am using a schematic designed by a member of this forum. It is my first time using USBAsp.Here is the schematic.Here is a library of images showing my wiring.https://postimg.cc/gallery/tF4XBxBThe USBAsp controller is set to 5V using the jumpers.AVRDude recognises the device but cannot communicate with it. The device screen lights up when the USBAsp is plugged into the computer.AVRdude (and other GUIs for this software) all give the same error:avrdude: warning: cannot set sck period. please check for usbasp firmware update.avrdude: error: programm enable: target doesn't answer. 1avrdude: initialization failed, rc=-1Double check connections and try again, or use -F to overridethis check.avrdude done. Thank you.Any advice gratefully received.

author: WattsThat
author_rank: Frequent Contributor
timestamp: May 23, 2020, 05:02:08 pm
content: Kind of frustrating when there is a standard (or at least an accepted convention) for the six pin isp connection... and they go and create their own.Recheck your wiring, it appears wrong based on limited view of the ten pin connector in image 4757. It looks like you’ve got six pins in the middle of the ten pin connector which would mean no connections to pins 1,2,9 and 10. That can’t be correct as those four pins are in use on the USBASP.Connection translations are easy to screw up, I’m an expert at it.PS: the AVR dude warning is a don’t care, typical of Chinese clones. Not a factor.avrdude: warning: cannot set sck period. please check for usbasp firmware update.

author: de_light
author_rank: Regular Contributor
timestamp: May 24, 2020, 12:42:27 am
content: Thanks for your reply!So, I have pin 1 (marked with a little arrow on the side) going to MOSI which is pin 6 on the board.The adjacent pin to that is VCC going to pin 1 on the board.Ground is going to the fifth pin in the line under VCC, going to pin 2 on the boardTwo below the MOSI pin is the RST going to pin 3 on the board.SCK is below the RST, going to pin 4 on the boardThe pin opposite GND and under SCK is going to MISO, pin 5 on the board.Still no joy. Screen lights up, goes through its functions so I know the VCC is working at least!

author: perdrix
author_rank: Frequent Contributor
timestamp: May 24, 2020, 08:45:19 am
content: FWIW the pins on the BSide board are1 == VTG (nearest the screen)2 == GND3 == RST4 == SCK5 == MISO6 == MOSIQuite non-standard of courseIf you are programming with the ESR02 powered off you need to set the programmer to supply VTG.HtHDavid

author: sleemanj
author_rank: Super Contributor
timestamp: May 24, 2020, 09:07:55 am
content: Use a multimeter in contInuity mode to check your connections are correct, that is, one probe on the back of the usbasp on the marked pin, and the other probe to check it really is connected where you think it is connected on the target device.It's not impossible that your target device has programming disabled of course.

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 24, 2020, 09:18:36 am
content: What is your AVRDude connection command? You can check your ICSP pin mapping in the avrdude.conf file.Not wishing to blow anything up, but should T2 and T3 be tied to Vcc via 10K resistors to keep the mosi/miso/sck lines held high during programming? You can also try tying the reset line to ground to hold the 328 in programming mode.

author: de_light
author_rank: Regular Contributor
timestamp: May 24, 2020, 11:04:55 am
content: Quote from: Syntax Error on May 24, 2020, 09:18:36 amavrdude -c usbasp -p m328pCould you point out where to check the ICSP pin mapping? All I have for the usbasp entry is:programmerid = "usbasp";desc = "USBasp,http://www.fischl.de/usbasp/";type = usbasp;;You lost me in the second part!Quote from: sleemanj on May 24, 2020, 09:07:55 amWill do. Thank you. I hope it doesn't have programming disabled - other people seem to be reasonably successful doing it!

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 11:12:21 am
content: Quote from: Syntax Error on May 24, 2020, 09:18:36 amNope.

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 24, 2020, 11:35:28 am
content: In avrdude, the usbasp has native support. You're using the correct string - avrdude.conf is pointing to the built-in library. There is no need to specify the port -P option, but...A gotcha on the PC side is usbasp needs the driver 'libusb'. Check this driver is installed for the usb port. Tip: You might find libusb-win32 lurking in an Arduino IDE directory.You'll need some cable voodoo to get the usbasp pins connected with the icsp port on the board. For anyone playing at home, the usbasp connection are...

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 11:47:47 am
content: Unfortunately some of the clone manufacturers do stupid things like changing the pinout of the ISP header. The standard pinout for AVR ISP headers is depicted athttps://en.wikipedia.org/wiki/In-system_programming. AFAIK all programmers follow that standard.Quite often the clone manufacturers set the lock bits (fuse) to protect a customized firmware which also prevents writing a new firmware. So you need to reset the lock bits by erasing the complete MCU.

author: de_light
author_rank: Regular Contributor
timestamp: May 24, 2020, 12:04:43 pm
content: Quote from: Syntax Error on May 24, 2020, 11:35:28 amThanks, yep libusb-win32 already installed.

author: de_light
author_rank: Regular Contributor
timestamp: May 24, 2020, 12:07:09 pm
content: Appreciate you taking the time madires.Would it be possible to erase the MCU even if the device isn't identified?It seems like I just need to thoroughly test continuity as a first port of call. If that is all correct, then it might be a clone manufacturer has made up the pinout arrangements. How does one discover what the usbasp pinouts actually correspond to?

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 24, 2020, 12:17:04 pm
content: My double check would be to see if the attached usbasp device is using the libusb driver, and hasn't been messed up by windows finding the wrong driver.The attrached circuit is the design standard usbasp. I was wondering how the inline resistors are interacting with those on the target board?

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 01:18:54 pm
content: Quote from: de_light on May 24, 2020, 12:07:09 pmYes, by using avrdude's "-F" option to disable checking of the device signature.Quote from: de_light on May 24, 2020, 12:07:09 pmIt's about the signals, Vcc and Gnd. The pinout tells you which pin carries what. So you connect Gnd of the USBASP's header with Gnd of the BSIDE's ISP header. The same for Vcc and all signals. If you don't know the pinout of your transistortester's ISP header you can trace it out.

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 02:15:16 pm
content: Quote from: Syntax Error on May 24, 2020, 12:17:04 pmIf you're asking about the transistortester's standard circuit with a few test resistors between the ISP/SPI pins and the ADC pins, then the answer is that there isn't much interaction, because the ADC pins are in HiZ mode. BTW, the series resistors are usually meant to reduce ringing in case of long wires (->inductance) and to protect lines.

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 24, 2020, 02:36:13 pm
content: Quote from: madires on May 24, 2020, 02:15:16 pmThat's what I thought. I can't quite read the resistor values, but would you agree from the T'tester schematic, miso and sck are connected in series by two resistors?

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 03:16:22 pm
content: Yep, 680 + 470k. About 10µA at 5V. We don't need to worry about that.

author: all_repair
author_rank: Frequent Contributor
timestamp: May 24, 2020, 04:23:11 pm
content: If the signal connections are right, it could be the missing pull up resistors. I was having ISP problem using Tl866, only recently I took a second look and after adding pull up to the 3 lines CK, in and out that I overcame the problem. Mine is the first version Bside.

author: madires
author_rank: Super Contributor
timestamp: May 24, 2020, 05:06:24 pm
content: That would imply that the programmer drives the signal lines in an open collector fashion, possibly to support multiple Vcc voltages. So far I haven't come across any AVR programmer which requires additional pull-up resistors.

author: tooki
author_rank: Super Contributor
timestamp: May 25, 2020, 05:52:03 am
content: Indeed. I’ve started using bare 328P chips instead of whole Arduino boards, and I haven’t had to use pull-ups when programming, regardless of whether with a USBasp, usbtinyisp, or arduino-as-ISP programmer.

author: madires
author_rank: Super Contributor
timestamp: May 25, 2020, 10:22:07 am
content: A quick web search shows that older models of the TL866 seem to have some problems with the ICSP port while programming via the ZIF socket works fine. A post mentioned a voltage issue which required pull-up resistors for programming a PIC. Could be the same problem all_repair has with his TL866.

author: indman
author_rank: Super Contributor
timestamp: May 25, 2020, 12:21:19 pm
content: madires,I have in my work the old TL866A as well as a simple cheap USBASP.I see no problems using the ICSP interface in both cases!No pull-up resistors are needed. I am using Windows 7x64 and AVRDUDE3.3

author: indman
author_rank: Super Contributor
timestamp: May 25, 2020, 12:50:27 pm
content: Quote from: de_light on May 23, 2020, 02:50:38 pmThere can be several reasons for this error:1. ICSP interface is not connected correctly!2. ICSP interface connecting wires too long.3. Windows 10 operating system and incorrectly installed libusb drivers.4. USBASP programmer malfunction (in some cases, shorting jumper JP3 helps)

author: sleemanj
author_rank: Super Contributor
timestamp: May 25, 2020, 01:59:38 pm
content: At this point after confirming connections, I would apply Occam's razor, the simplest answer is that the chip probably has SPIEN fuse disabled to prevent further programming or read with ISP. You can't fix that without a HVPP.

author: indman
author_rank: Super Contributor
timestamp: May 25, 2020, 02:47:03 pm
content: Quote from: sleemanj on May 25, 2020, 01:59:38 pmThis is unlikely after the factory firmware, unless the user accidentally deleted this fusion SPIEN

author: all_repair
author_rank: Frequent Contributor
timestamp: May 25, 2020, 03:23:18 pm
content: BSIDE pcb does not have pull up for the 3 lines I mentioned. If the ICSP programmer has the option to turn on and off VCC, likely they do not provide the pull up resistors by design too, just providing open drain driver to the 3 lines. Most PCBs that have enough pins with ICSP designed in should have the pull up resistors, and so the programmer open drain driving these 3 signals shall be good enough. For BSIDE we can end up having no high state on the 3 lines if pull up resistors are not added.

author: de_light
author_rank: Regular Contributor
timestamp: May 26, 2020, 01:50:46 am
content: Thanks guys. I am waiting on a new multimeter to arrive so I will get on to testing and report back ASAP.

author: de_light
author_rank: Regular Contributor
timestamp: May 27, 2020, 09:04:32 am
content: Anyone able to help me understand the schematic in a bit more detail? It's the first one I've ever seen so it is really good to be able to go through it with my unit right in front of me.Credit to @indman for developing it.1. OpAmpWhat is this opamp doing at the top of the circuit?2.Power comes say from the battery, through the Schottky diode (?reverse protection diode) D2 (or D3 from the DC IN), through a ?smoothing capacitor setup C5 and C7.Then I get confused! What is the role of the Q2 PNP transistor? What is the role of the Q3 NPN?Power then ultimately goes into the LMO at U1 to provide stable power for the VCC at 5V - am I right? Then power seems to go all the way to the top of the schematic to the Opamp, ref question 1.

author: madires
author_rank: Super Contributor
timestamp: May 27, 2020, 10:26:59 am
content: Quote from: de_light on May 27, 2020, 09:04:32 amIt's a comparator used for low voltage cut-out.Quote from: de_light on May 27, 2020, 09:04:32 amD2 and D3 prevent that an external power supply will charge the battery or vice versa. And they also protect from reversed polarity. Q2 is the power switch which is controlled by the test push button and Q3 (which is controlled by the MCU). It's a soft-latch design.

author: de_light
author_rank: Regular Contributor
timestamp: May 27, 2020, 11:24:34 am
content: Thanks! That was really helpful.Found a good link describing soft-latch switches should any fellow beginners want a read.https://www.electronics-lab.com/project/simple-soft-latch-switch-using-push-button/

author: de_light
author_rank: Regular Contributor
timestamp: May 27, 2020, 10:38:40 pm
content: Update on my reprogramming saga.Borrowed a basic multi meter from someone at work today. Forgot my USBAsp so I can't check cable connections. There seems to be continuity between all the header pins and the corresponding IC pins as per indman's chart.Will check continuity from the USBAsp to the IC pins when I get home tonight!

author: de_light
author_rank: Regular Contributor
timestamp: May 28, 2020, 09:40:54 am
content: Quote from: madires on May 27, 2020, 10:26:59 amOkay, so I have checked for continuity between the USBAsp and the IC pins on the M328p. I discovered that MOSI and MISO seemed to be swapped. I'm still getting the same error though.avrdude: warning: cannot set sck period. please check for usbasp firmware update.avrdude: error: programm enable: target doesn't answer. 1avrdude: initialization failed, rc=-1avrdude: AVR device initialized and ready to accept instructionsavrdude: Device signature = 0x000000avrdude: Yikes! Invalid device signature.avrdude: Expected signature for ATMEGA328P is 1E 95 0FThe device is powered on as soon as the USBAsp is connected -is this a problem in any way?

author: madires
author_rank: Super Contributor
timestamp: May 28, 2020, 01:49:04 pm
content: Quote from: de_light on May 28, 2020, 09:40:54 amNo, the ATmega needs power to run.Since you still have problems maybe the best would be to start over again:- is the USBasp detected by the OS?- which port/device?- rewire the ISP

author: de_light
author_rank: Regular Contributor
timestamp: May 29, 2020, 01:47:30 pm
content: Yes, detected with correct drivers installed. How do you suggest I should rewire it?

author: madires
author_rank: Super Contributor
timestamp: May 29, 2020, 02:42:46 pm
content: Code:BSide Signal USBasp1 Vcc 22 Gnd 103 /RST 54 SCK 75 MISO 96 MOSI 1Following webpage shows the pinout of the USBasp and the wiring for a standard 6-pin ICSP:https://hackaday.io/project/159973-z80-mbc2-a-4-ics-homebrew-z80-computer/log/150087-how-use-the-icsp-port-with-the-usbasp-programmer-under-linux-to-burn-the-bootloaderThe USBasp has a 10-pin header which differs slightly from the standard 10-pin ICSP.Pins 4 and 6 are TxD and RxD instead of Gnd.

author: de_light
author_rank: Regular Contributor
timestamp: May 29, 2020, 02:59:49 pm
content: Nope, still nothing. That was the same pinout that I was using before.

author: madires
author_rank: Super Contributor
timestamp: May 29, 2020, 04:08:46 pm
content: Maybe someone else has another idea.

author: indman
author_rank: Super Contributor
timestamp: May 29, 2020, 04:45:48 pm
content: Download and unzip the archive with the SinaProg programNext, do the points that I propose:1. Make the ICSP interface connection wires as short as possible! It is important!2. Open the SinaProg 2.1 program and follow the steps in the order that I showed in the photo.3. Select the desired USB port next to USBASP.4. What message will appear on the right in the window after clicking the Search button?

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 29, 2020, 08:05:47 pm
content: It looks as if your usbasp is trying to talk to the 328p. But we do not know what clock prescaller value the developer used.Try lengthening the bitclock by adding the following attribute to your avrdude command:Code:-B 10You can try different values like 3, 5, 8 or 15.See:https://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions

author: sleemanj
author_rank: Super Contributor
timestamp: May 30, 2020, 01:46:49 am
content: Quote from: Syntax Error on May 29, 2020, 08:05:47 pmNo they can't. Their chinese produced USBAsp does not support it, it has an automatic clock-rate detection and does not support explicit bitclock setting. The auto-clock is usually OK, unless the device has a very slow clock rate (1MHz under). The schematic on age 1 indicates an 8MHz crystal so it should be OK.

author: sleemanj
author_rank: Super Contributor
timestamp: May 30, 2020, 01:52:57 am
content: The schematic on Page 1, I do not see a reset button, at least it doesn't jump out at me. If that is the case, then I would test reset to make sure it actually does reset.Disconnect your programmer, connect a wire to the reset pin on the target device's programming header (confirm that it is indeed connected to the correct pin on the ATMega328 also if possible), start the device, touch the wire to ground to pull reset down, ensure the device has stopped working (is held in reset), remove the wire from ground to release reset and ensure device, err, resets.

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 04:02:42 am
content: Quote from: indman on May 29, 2020, 04:45:48 pmI have removed the ribbon cable. Continuity is established between the rear solder points on the USBAsp and the IC pincs on the Atmega 328P.

author: sleemanj
author_rank: Super Contributor
timestamp: May 30, 2020, 05:16:00 am
content: Wires look correct. Check reset function as above would be my next move.

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 06:50:32 am
content: Quote from: sleemanj on May 30, 2020, 01:52:57 amTested. When I touch to ground, the device powers off (screen off). I guess this means it is resetting OK?I'm really baffled by all of this. But I appreciate everyone's input on the thread

author: indman
author_rank: Super Contributor
timestamp: May 30, 2020, 08:06:31 am
content: Quote from: de_light on May 30, 2020, 04:02:42 amOK! Now you need to make sure that + 5V power is really supplied from the programmer to the ATMega328 chip (pin4-6).For this you need a multimeter. Can you check it out?

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 30, 2020, 08:14:22 am
content: Quote from: sleemanj on May 30, 2020, 01:46:49 am8MHz xtal on the PCB. So what is the target prescaler fused at? We also assume the 328 is fused for an external clock. We just don't know.

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 08:38:57 am
content: Quote from: indman on May 30, 2020, 08:06:31 amYes sir. No problem.

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 30, 2020, 09:21:44 am
content: Another thought. On the USBAsp board there is connector J1, which is 'slow SCK'. This drops SCK from 375 to 8KHz.Try a jumper across J1 to slow down the clock rate.

author: indman
author_rank: Super Contributor
timestamp: May 30, 2020, 09:28:45 am
content: Syntax Error,don't give bad advice! Jumper JP3 and not JP1 are responsible for the connection speed on the programmer!I already wrote about this on the 1st page, when I went over the possible problems.JP1 is used to upgrade the firmware of USBASP itself!In addition, the analog of this jumper JP3 is an option for the clock frequency, which was installed at my request in SinaProg on the BC1200

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 09:56:09 am
content: Can you tell me how I should check this out?

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 09:58:56 am
content: This has become a strange sort of challengeI bought this tester on an impulse buy to test some electrolytic capacitors, and already it has taught me so much!!

author: indman
author_rank: Super Contributor
timestamp: May 30, 2020, 10:15:12 am
content: Quote from: de_light on May 30, 2020, 09:56:09 amFind the clone convenient Vcc and GND points on the board for measuring + 5V voltage. It will be correct if you can attach the clamps of the multimeter to these points so as not to hold them with your hands. You must make sure that when you click the Search button in the SinaProg program, there will be + 5V at the Vcc point.Once again, I warn you that you do all the actions at your own peril and risk!

author: Syntax Error
author_rank: Frequent Contributor
timestamp: May 30, 2020, 11:01:02 am
content: Quote from: indman on May 30, 2020, 09:28:45 amYep, JP3. The original USBAsp circuit I have shows JP1 for slow SCK, go figure? (Because I was using Thomas Fischl's original reference design. Somewhere those jumpers got swapped)Use this Github commit as the reference source:https://github.com/stefanbeller/USBasp/tree/master/circuitFYI This about setting the jumpers:J1 Power target - Supply target with 5V (USB voltage). Be careful with this option, the circuit isn't protected against short circuit!J2 Jumper for firmware upgrade (not self-upgradable) - Set this jumper for flashing the ATMega(4)8 of USBasp with another working programmer.J3 SCK option - If the target clock is lower than 1.5 MHz, you have to set this jumper. Then SCK is scaled down from 375 kHz to about 8 kHz.

author: madires
author_rank: Super Contributor
timestamp: May 30, 2020, 11:23:49 am
content: Welcome to the world of cheap clones!Manufacturers don't even get the reference designators right and might do also other silly things.

author: de_light
author_rank: Regular Contributor
timestamp: May 30, 2020, 11:55:01 am
content: I'm really sorry, but I don't understand what you are saying. Would you be able to rephrase?

author: madires
author_rank: Super Contributor
timestamp: May 30, 2020, 01:11:21 pm
content: He wants you to verify that the tester gets 5V from the USBasp before clicking the "Search" button in SinaProg?

author: indman
author_rank: Super Contributor
timestamp: May 30, 2020, 01:54:26 pm
content: before and after clicking the "Search" button in SinaProg! Power may be low, so the target is not responding.

author: de_light
author_rank: Regular Contributor
timestamp: June 23, 2020, 09:50:48 am
content: Finally, I have managed to get a working, half-decent multimeter. I have checked between VCC on pin 18 on the ATMEL and ground pin 21. I get 3.94V. I have a mini-USB power meter that I plugged the USBAsp into and this showed that it was drawing 5.04V from the USB port, but only 3.94V going to the chip?

author: indman
author_rank: Super Contributor
timestamp: June 24, 2020, 09:45:23 am
content: de_light, is your BSIdeESR02 fully functional at the moment? Can you measure with a multimeter the current that a clone consumes from a + 9V battery?

author: madires
author_rank: Super Contributor
timestamp: June 24, 2020, 09:55:07 am
content: Quote from: de_light on June 23, 2020, 09:50:48 amIs the USBasp jumpered to provide 5V to the tester? Is the 5V output of the USBasp directly connected to the USB socket?

author: de_light
author_rank: Regular Contributor
timestamp: June 24, 2020, 10:29:07 am
content: Yes, fully functional. Works fine to test capacitors, resistors etc.5V bang on with a 9V battery.0.782V with screen off but still connected (pins 18 and 21)QuoteYes to both.

author: indman
author_rank: Super Contributor
timestamp: June 24, 2020, 11:14:27 am
content: Quote from: de_light on June 24, 2020, 10:29:07 amCurrent 0.782V??? Current is measured in amperes, milliamperesI'm interested in whatcurrentthe clone consumes from power?

author: de_light
author_rank: Regular Contributor
timestamp: June 24, 2020, 11:53:26 am
content: Apologies. I read wrongly. I'll get back to you on that. What would a normal current you would expect to find be?

author: indman
author_rank: Super Contributor
timestamp: June 24, 2020, 12:28:12 pm
content: No more than 20mA (milliamps).

author: de_light
author_rank: Regular Contributor
timestamp: June 25, 2020, 07:50:55 am
content: Current is 11.14mA when turned on.

author: indman
author_rank: Super Contributor
timestamp: June 25, 2020, 12:50:15 pm
content: OK!Now measure the Vcc voltage on the 2nd pin of the USBASP connector without connecting it to the BSIde board

author: de_light
author_rank: Regular Contributor
timestamp: June 25, 2020, 08:50:22 pm
content: 5.02V

author: indman
author_rank: Super Contributor
timestamp: June 26, 2020, 07:03:38 am
content: OK!Disconnect the 9V battery for BSide!Now connect only 2 pin Vcc and pin GND to the corresponding pins on BSide.What voltage will be on pins 18 and 21?

author: de_light
author_rank: Regular Contributor
timestamp: June 26, 2020, 07:41:05 am
content: 5.01V!!Hmmm......

author: indman
author_rank: Super Contributor
timestamp: June 26, 2020, 07:51:33 am
content: I do not understand how you measured before 3.94V? Now connect all the USBASP pins to the BSide board and repeat the measurement on pin18-21

author: de_light
author_rank: Regular Contributor
timestamp: June 26, 2020, 08:11:00 am
content: I'm getting 5V now. I don't understand. Device is fully connected, getting good Voltage, screen is on but still saying target not answering. Bizarre.

author: indman
author_rank: Super Contributor
timestamp: June 26, 2020, 08:48:13 am
content: I have no more ideas! Leave alone until your BSide.You need to make sure your USBASP is working.Any processor, starting from ATMega8 and higher, is suitable for this. Or look for another programmer from friends, acquaintances.

author: de_light
author_rank: Regular Contributor
timestamp: June 26, 2020, 09:00:55 am
content: Thank you for all your time and patience! I appreciate it.

author: de_light
author_rank: Regular Contributor
timestamp: June 30, 2020, 10:37:15 am
content: Well. What a journey. Finally, I've managed to fix this and implement all of indman's recommended modifications. I went from not even knowing what flux was and not owning a DMM to replacing SMD components and hand-soldering wire onto IC pins!Granted, I've almost destroyed the plastic housing through many errors with the hot soldering iron and the hot air gun and the third port is barely usable, but it works!!! And I have 1.39m!!It turns out the problem was with the eBay special USBAsp. I learnt how to use an Arduino as an ISP programmer with some online tutorials and hooked it up and it worked straight away.Thanks to all who have contributed, esp indman and madires. Hopefully one day I can give something back to the project.

author: madires
author_rank: Super Contributor
timestamp: June 30, 2020, 11:07:52 am
content: Well done! And we've also learned that there are some dodgy USBasp clones.