Oops!! I accidentally fried the atmega16U2 on my arduino MEGA clone. For those who don’t know what this atmega16u2 chip does,It converts USB signals to SERIAL (UART).SO, I connected the TX RX pins on my UNO to TX RX on the mega after removing the m328p from my UNO. I tried to program a sketch to my mega through my UNO. Voila! it worked.
Oops, not again !! My 1117-5 regulator on the UNO failed and fried the m16U2 on my UNO also. I lost my last programmer.
I oredred a new Sparkfun Pro Micro (cheepest arduino I could find here) to get to know that I can’t program flash of an AVR using it. The error was
Expected 0x14, recvd 0x64
I tried every solution on the internet to solve this error, But nah, neither worked.
I was able to read the signature and fuses.I was able to write fuses with the Pro Micro as ISP. But I wanted to program using ISP,Which gives the above error.
So, I searched for other ways to program. I reached behind my Pentium IV CPU and started thinking about the parallel port. I was very tired and needed to wake up at 0530hrs on the next day,hence I went to bed.
The next day:
I tried the parallel port. I inserted the wire into the port,but,loose fit. I needed a connector. I may have bought a new DB25 connector just for this if it was not 2200hrs
At that time, I noticed a serial port at the back of CPU and guessed that it is not soldered on the motherboard but it is plugged in it using a ribbon cable and connector. I removed the two screws holding the port and made its way through the jungle of wires inside the CPU to the front.
I did a Bing search “Program avr using serial port” and found some here (opens in a new tab). I was still confused, so I read that page again and again. I realized that the DASA programmers described there are fully possible. Now I wanted to see that if avrdude supported these or not. I typed in a cmd window ” avrdude -c? ” it returned a list of programmers with a little description. Bingo!! it has DASA and DASA-3 listed.
I built this on my breadboard and tested it with a m328p. It worked. Nice!
[Image: https://www.avrprogrammers.com/images/programmers/avr-serial-port-programmer-dasa-iii.png %5D [Sorry if I violated the rules of avrprogrammers.com]
The Next Step :
So, I thought that I need a permanent solution to program AVRs. The adafruit’s USBtinyISP is not available in the market here, hence I decided to make one. I found the necessary instructions on instructables. I followed those instructions. Programmed the t85 and connected to the PC, but no luck. It didnt work. I started to diagnose the problem and I found that I specified the -D in avrdude which prevents chip erase. After removing the -D , It connected to my PC only once and stopped working by second reconnect.
After that, I thought that the t85 is fried and I uploaded the blink to it. The blink worked stating that the micro was intact. I tried all this in the breadboard. Accidently I put the chip back into the PCB made for USBtiny BACKWORDS!!! The tiny was so hot that it burnt my finger when I tried to remove it. OOPS!! I removed it using a scewdriver and put it in some ice in my refrigerator. I felt like the game was over. But that tiny has nine lives. When I pulled it back from the ice and tried to program it again. It worked. And now it connects to my PC and I can program using it. Nice.
Here are the required documents on my GitHub.
Thanks for reading. More images coming soon. I use Lumia 630 as shooter and my primary phone.Waiting for comments…
DASA-3 for AVRs works.(Not quite a “hack”,I know.)
Always keep an extra programmer somewhere safe.
So,What’s your hack today ?