I've prototyped a project involving reading a chain of sensor modules with an Arduino MEGA (atmega1280). I use 3 digital pins for a standard serial communication protocol (CS - Chip Select, CLK - Clock, DIO - Read only data stream).
Now i want to switch the Mega for an Arduino Nano, to make everything more compact for the final installation. Yet, when loading the exact same code onto the Nano, the serial communication doesn't work anymore. All the outgoing signals (CLK, CS) look perfectly fine on the oscilloscope. There is no obvious change between the serial-communication signals of the Mega and Nano. Yet for some reason the sensor module (AS5030 Magnetic Sensor IC Adapter Board) doesn't respond the way it should: The incoming sensor values are changing yet not in a way they should, and the sensor does not activate it's DX output anymore (in order to read the other sensors in the daisy-chain setup). Obviously the communication between the Nano and the sensor board doesn't work anymore, even though the signals from the Nano appear to be correct.
My question is - what are the differences between the Arduino Mega and Arduino Nano that could cause this error? Digital Pin Behavior? Storage of Values? Clock Behavior? Boot Loader? etc. ... Both Microcontrollers run on 16MHz. I've tried different clock frequencies for the serial communication, yet without positive results. I've used the latest Arduino IDE, so the drivers/bootloaders for the chips should be up to date.
Anyone had similar problems before, when switching between microcontrollers? Any tips would be much appreciated!