Coming from the Arduino world, most everything I do is 5v logic. It’s been a switch for me now that I’m integrating my Raspberry Pi’s into my Arduino solutions (they really are complementary). We have been following a great guy by the name of Jean-Damien, who has a simple solution to this problem:
When I received my Raspberry Pi the first thing I wanted to try was to use it to communicate with the electronic world.
Looking at the excellent raspberrypi.org official forum I’ve found posts explaining that the Debian image was already configured to redirect the linux system console to the broadcom chipset UART interface. Giving a try by connecting directly a scope to the GPIO pins confirmed it.
As you probably know, the broadcom chip is running at +3.3v so the GPIO pins cannot handle more than that. As “still classic” TTL are running at +5v we need to do some level shifting operation before interfacing devices to the GPIO pins. Note that if you intend to work only with 3.3v devices, this shifting isn’t required.