I'm doing a Christmas project for my little brother (making wireless N64 controllers). Because my budget didn't allow for a dedicated ISP, I decided to use the Nano's avrisp. I've successfully burned my hex files to the 2313s in command line AVR using the following wiring (put here to help anyone trying to accomplish the same thing):
Arduino
ATtiny2313 Pin
D13
19
D12
18
D11
17
D10
1
5V
1 (bridged by 10kohm resistor)
5V
20 (which is bridged to pin 10 by a 100nf capacitor)
I then wanted to configure the ATtiny2313 to clock with an 8mhz external crystal. The fuses for my configuration of choice was hfuse 0xDF, lfuse 0xDF. The high fuse was already 0xDF. When I went to set the low fuse, it seemed to work as well. However, my Nano ceased functioning (no response when plugged via USB).
I believe what might have happened is that the changes I was making to the ATtiny's flash and fuse memory were (without my knowledge) also programming to the Nano, due to a problem with the autoreset of all Arduino Nano chips (solvable with a resistor). If the Nano's (Atmega328P) low fuse got set to 0xDF, what are my options for fixing it?
AVR ISP is a project included with the Arduino IDE that allows users to program other microcontrollers using their Arduino similarly to an In-System Programmer. It essentially treats the Arduino, usually connected via USB, as a legitimate programmer for use with avrdude or other programming softwares.
CDanger:
AVR ISP is a project included with the Arduino IDE that allows users to program other microcontrollers using their Arduino similarly to an In-System Programmer.
I believe that in Win-AVR, any ISP run off of an AVR (like ArduinoISP) is referred to by the more generic term, AVRisp. So: affirmative, the ArduinoISP sketch.
CDanger:
I believe what might have happened is that the changes I was making to the ATtiny's flash and fuse memory were (without my knowledge) also programming to the Nano, due to a problem with the autoreset of all Arduino Nano chips (solvable with a resistor).
That isn't possible. The code is not present in the Nano's bootloader to change the Nano's fuses and the code is not present in ArduinoISP to change the programmer's (the Nano's) fuses. There is no code path that leads to the Nano's fuses being altered.
With nothing connected to the Nano except a USB cable, does your computer make the "device insertion" sound when you connect the Nano to your computer?
The problem seems to have been that the circuit I was using was retriggering the Nano's reset automatically whenever power was applied! All better. Happy Holidays!
CDanger:
The problem seems to have been that the circuit I was using was retriggering the Nano's reset automatically whenever power was applied!
One potential cause is a short-circuit. Series resistors (220 ohms to 1000 ohms is a good range) pretty much everywhere except Vcc and GND protect everything in the circuit.