I think I fried my output pins(s) last night. I had an exposed 5V wire and i think it touched on output pin, the board still communicates with a PC but none of the outputs work. Is there any method of repair? I see that the ATmega328 is a DIP...
Can you re-program a code to send an output for each one... Example : From 2 to 12, connect a led with a limiting resistor of 470. And do a code to blink one at a time. If it work... the chip is OK, if not, well order a new chip ATMEGA328P with a Arduino bootloader.
So the output transistors are all on the atmega328? and something like this should drop straight in?
If you talk about to drop a Arduino chip with bootloader into a UNO board to replace it... YES
But...Make sure you use Anti-Static precaution...
I would be surprised if touching one output pin would cause them all to fail. What was your test method? Unless a pin was configured to be OUTPUT and set to LOW, connecting to 5V would have no ill effect.
Should be noted that unset pins default to INPUT (which is high impedance.)
ok I made a sketch to simultaneously blink all outputs. ch10 stays on, channel 11 doesn’t turn off all the way, ch 11 reads 0.7V on its off state with an LED and 470 resistor. All the rest seem to work.
So you did connect a led with 470 resistor at each digital output. Right ? If you did and not all of the digital pins work ( some work and some not ) , well the chip is partialy bad. Time for a new chip. With a bootloader, it is only under $10 ca/us anyway. Shop around for cheap one with the bootloader.
correct I did use the resistor. The new chip will be here today, i will post of my success or failure. seeing now that most inputs are good I wish I had just bought a new board and kept this one for something that needed less IO.
Just because something is working today, doesn’t mean it isn’t damaged and prone to failure in the future.
Knowing that you have already damaged part of the chip, your best option is to throw it away. Otherwise, you will very likely be troubleshooting a problem down the road on one of the Inputs (or Outputs) you thought was good but failed later on in time.
well it turns out it wasn't the loose wire, my replacement chip now has a bad ch10 as well. I had a 220 Ohm resistor limiting current to a 2N3904, this was to bring down the voltage on an camera flash (~6V). I then added a second 2N3904 to light up an LED and this is when I started having trouble. I think I should have been using more than 220 Ohm to start with but it seems like the second transistor was enough to start burning out the channels. Does that sound right? The uno is supposed to be good to 40 ma so the 220 Ohm should have kept it under 25ma, so I'm a little confused. (5/250 = .025)
I have to admit i was a little excited to be up and running and I didn't run the channel test on the Uno by itself, so I don't know for sure if it ever was working with the new chip. is it possible something is damaged between the ATmega328 and the output terminal?
How did you wires your circuit ?
A schematic or a picture of your setup will be nice.
Mistakes : 220 ohms at both transistor base. TOO LOW... Have to be 1 k to 4.7 K
I don't know about the open transistor, you may use it by using a limiting resistor.
The 470 ohms with the LED is CORRECT.
So clearly 220ohm is much lower than is needed for the transistors, but i don't understand how this drew enough current to damage the uno. Even with 220ohm straight to ground it wouldn't the current be limited to 5V/220ohm = 22mA?
Even with 220ohm straight to ground it wouldn't the current be limited to 5V/220ohm = 22mA?
Yes. You are correct. But something DID damage pin 10. You may possible wired wrong. Or something "short" that pin, somehow.