328p-AU working slow than usual


I have developed a board for my design using 328p-au SMD chip which I am programming through ICSP headers(removed arduino board). Now some of the boards I am testing work very very slow, with the same code. All have similar components, same program flashed. Many work perfectly, but some are working slow. I am clueless where to trace the issue.

ex, I am displaying some lines on 16x2 LCD which change after 2 secs. Normal boards show it perfectly, but slower boards take a lot of time(in minutes) to display same things.

  1. Checked 16 Mhz crystal, changed it. Replaced it with the running board crystal, no change observed. Crystal is out of question.
  2. Dry solders checked. Continuity obtained.
  3. Power supply 5V supplied perfectly after smoothing and regulation circuit.

Any other things where I should look?

Thank You

Do a Tools > Burn Bootloader on them to make sure the fuses are set correctly.

You forgot to do ‘burn bootloader’ to set the fuses, so they’re still usign default settings, that is, running off the internal oscillator with CKDIV8 - 1mhz, instead of the 16 you expect.

Edit: goddamnit, you beat me >.<

Edit: goddamnit, you beat me >.<

Yes, but you provided more information. So many times I’ve spent a few minutes typing out a detailed response, maybe running some test code, only to find someone beat me with a one sentence reply 30 seconds before I tried to post. It’s a bit annoying but it makes me happy that the members of this forum do such a great job responding quickly to questions.

so if i set the fuses without burning the bootloader, will it work?

Yes, setting the correct fuse values will fix the slow issue. Whether that's done via the Arduino IDE's Tools > Burn Bootloader or using avrdude directly via the command line is irrelevant.