djtulan / nunchuk64

A Nintendo (Nunchuk) Controller Adapter for Commodore 64.
GNU General Public License v3.0
55 stars 12 forks source link

Atmega328PB issues #17

Open mamejay opened 3 years ago

mamejay commented 3 years ago

Hi There, I made a batch of boards using Atmega328PB instead of the Atmega328P. I have found that they work initially and then stop work working and I see the led dimly flash every second or so. Sometimes I can start the C64 and it works again. I replaced with a Atmega328P and all is good again. Checking and they are supposed to be compatible but wondering if you have any experience with these? I am wondering if it has something to do with new features of the PB model like the Clock Failure Detection.

https://www.pololu.com/file/0J1464/Atmel-42559-Differences-between-ATmega328P-and-ATmega328PB_ApplicationNote_AT15007.pdf

Anyway let me know what you think. Thanks

penfold42 commented 3 years ago

Couple of theories. What fuse settings are you using ? I wonder what it does if you ask for the full swing oscillator: https://hackaday.com/2016/05/03/atmel-removes-full-swing-crystal-oscillator/

maybe something is erroneously setting portE to output and the PE0/1 pins that are probably strapped to VCC and GND are having a hard time

mamejay commented 3 years ago

@penfold42 currently just using default settings as not adding any fuses as per the devs noted. avrdude -c arduino -P com5 -p m328pb -b 19200 -v -v -U flash:w:nunchuk64.hex I am hopeless with this stuff. If you have a suggestion I will try it out.

djtulan commented 3 years ago

I think, as penfold42 wrote, it has to do with the different pins, which are connected to VCC and GND. The pdf says the Atmega328PB is NOT a drop in replacement. What would probably work is a pin compatible controller with less flash memory. Because the firmware doesn't need so much flash.

mamejay commented 3 years ago

Could you lift those pins that are supposed to be signals and have them floating instead of being connected to VCC or GND?