The Raspberry Pi has 3.3 V logic level and the Arduino has a 5V logic level. It is warned against connecting the Arduino TX to the Pi RX:
Pi is 3.3v and the Arduino is 5v. Connect the two and you might conjure up some magic blue smoke
I was wondering if without a logic level converter chip like the CD4050, you could use the PWM functionality of the Arduino plus a low-pass-filter to effectively produce 3.3 V TX signals that would be safe for the Pi RX to receive?
I have an Arduino Uno with an ATMega8 according to the schematic. It seems it is possible to change the frequency of the PWM pins to up to 32 kHz. I assume it's possible to use the PWM with a low-pass-filter to effect a 3.3 V and as it runs at 32 kHz this frequency would then be more than enough to support 9600 baud rate. Is this correct? I'm finding it hard to search for "Arduino send serial using PWM". The SoftwareSerial library requires any Digital IO pins so this sounds like it might not allow for using the PWM pins? I've also read SoftwareSerial library can use the Analog Input pins for output i.e. TX?