No Device Signature returned from Mega328PB-U with Arduino ISP

Thread Starter

ozirock

Joined Jan 13, 2011
47
Hi,

I am having trouble burning the Arduino bootloader to a MEGA328PB-U using an Arduino UNO as ISP and the Arduino IDE. It continually returns 0x000000 as the device ID. The circuit worked previously which has made me thinking it might be the MEGA328PB-U I'm using where I previously used MEGA328PB-AU. Images attached.

After checking the MEGA328PB datasheet I can't find a reference to MEGA328PB-U, what does the missing A mean? Maybe a different pin out?

Would there be any benefit to purchasing a proper programmer like an AVR-ISP-MK2 and using Atmel studio to upload the bootloader or should the UNO be just as good?

I know this is usually a clock problem so I've tried this on a few boards and I also replaced the 16MHz osscilator on one board with a crystal and caps in an effort to rule out the oscillators as the issue.

I've also tried adding minicore to the Arduino IDE and setting that to 328PB but got the same result.

Any advice is much appreciated.
 

Attachments

BobaMosfet

Joined Jul 1, 2009
2,211
Hi,

I am having trouble burning the Arduino bootloader to a MEGA328PB-U using an Arduino UNO as ISP and the Arduino IDE. It continually returns 0x000000 as the device ID. The circuit worked previously which has made me thinking it might be the MEGA328PB-U I'm using where I previously used MEGA328PB-AU. Images attached.

After checking the MEGA328PB datasheet I can't find a reference to MEGA328PB-U, what does the missing A mean? Maybe a different pin out?

Would there be any benefit to purchasing a proper programmer like an AVR-ISP-MK2 and using Atmel studio to upload the bootloader or should the UNO be just as good?

I know this is usually a clock problem so I've tried this on a few boards and I also replaced the 16MHz osscilator on one board with a crystal and caps in an effort to rule out the oscillators as the issue.

I've also tried adding minicore to the Arduino IDE and setting that to 328PB but got the same result.

Any advice is much appreciated.
'A' is for automotive (used in cars), as I recall. If you get a message where the programmer is telling you it can't read the ID from the MCU, check these things first-
o is the MCU powered?
o is the reset pin have a 4K7 resistor allowing the controller to pull-up on it
o is the communication's level set low enough that it isn't simply an interference or clock issue
o have you wired the comms correctly for the method of programming you're using.
 

narkeleptk

Joined Mar 11, 2019
586
If its a new chip, maybe it does not have an ID yet?
Turn off the function that checks for ID and then try if your able to do that with uno.
I usually use a tl866 for programming them and if my memory is working correctly (usually it does not) when they are new I always have to un-check the "check id" box on the first write.
 
Top