Atmega 328P doestn't starting on a board

I am having two custom made PCB using ATmega328P. Both boards were working fine. One day one board stopped working. During fault finding I found that the controller on the non working board doesn't start, reset. I have replaced the 328P on faulty board from working board still it doesn't work.

I have checked following things on faulty board, though the faulty board was working earlier so I am not doubtful about the connections of the components.:

  1. Supply of 5V & GND is OK on the pins of 328P.
  2. RESET pin is pulled up with 10K. It is getting HIGH after power on.
  3. 16MHz & capacitors are connected properly.

The LED's connected to ports doesn't blink at all on power up as they do on another working board. No idea why it stopped working on faulty board.

If anyone has clue/suggestions to further check please guide me.

While those Microcontrolers are quite sturdy, they can die. Sometimes it's ESD damage, sometimes it's a short overvoltage on the supply or on one of the pins. And sometimes it's cosmic rays.

So try to make sure you're not the one responsible for killing the poor thing by doing ESD protection and by not exceeding the Absolute maximum ratings stated in the datasheet at any time in the lifecycle of the MCU.

Typically it's too high currents on the I/O-Pins, negative voltages or too high voltages on the I/O Pins (often because of back emf from inductive loads).
I've personally killed stuff by slipping off with the probes while measuring stuff and producing a short that way. I've also killed 2 Arduinos because Imade a design mistake with an inductor I used to supress noise from the power supply.

Electronics die, that's just what happens from time to time. Make sure that it's just an accident and not something in yout design that will also kill the next one.

best regards, Marco

1 Like

Thanks really for the reply & your inputs. I do understand your concern.

But in my case even after replacing the working controller from a working PCB to faulty one it's not working. That's why I am a bit puzzled.

By 'controller' do you mean the ATmega328P ?

Is the ATmega328P the surface mount or DIP varient ?

How have you programmed the bootloader ?

Provide us with a schematic please.

You haven't supplied any information about your boards. So it's like asking "why won't my car start?" but nobody can see the engine.

Or the engine could be missing .......

Yes right you are, controller I mean ATmega328P.
It's a DIP variant placed on IC base.
I programmed boot-loader using standard Arduino Uno board as ISP.

It's that woobly trace under the flimmerbobber. It's always that.

IF you have an old transistor AM radio, tune to a blank spot on dial and bring the Arduino board close to the ferrite antenna. This will let you know the unit's clock is active ... RF hash all over the AM spectrum.

IF the 16MHz clock is working, press reset to determine if the code is beginning to execute.

I have just been testing a small PCB that use the ATmega328P, setup as a 3.3V version.

If the schematics right, they just seem to work, reliable too.

One thing I tend to do is use the ISP to direct load the Blink sketch first and plug the ATmega328P DIP into a socket which checks the circuit, regulator etc, works.

My reply #8 may have seemed glib. But you really need to dig much deeper than a few voltage checks. Do you have an oscilloscope? I second the idea of loading a test sketch, not your controller software.

We never asked, "how do you know it doesn't work?"... you say you have two entire boards, have you tried swapping them in whatever installation you have? So, how are you determining the working/ non-working status?

The problem with asking for possible causes, is that there are many more things that can make it fail, than can make it work. So the guessing game almost always becomes a very long one.

Tested on oscilloscope..the clock was not working. Crystal changed & the heart bit was started..its working now. Never saw before a working crystal felling like this. Thanks everyone for their suggestions!