Want to build this project?
View Parts


The serial console is a convenient way to interact with the Raspberry Pi when a display isn't handy.  From the pinout on the eLinux wiki, I can see that the serial port (aka UART) on the Pi is on GPIO Pin 14 (TX) and GPIO Pin 15 (RX):


This serial port can be connected to your computer via a USB to serial adapter.  However, these pins are designed for 3.3V (e.g. 3V3), so some USB to serial adapters may damage the Pi.  The simplest option is to use a 3.3V adapter such as:



Another option is to use a logic level converter (e.g. level shifter).  This will prevent a higher voltage adapter from damaging the Pi's 3.3V pins.  I already had a 5V FTDI cable (TTL-232R-5V) and a SparkFun converter board, so I went this route:


Here is the pinout for my TTL-232R-5V cable (datasheet):



The SparkFun converter board is intended to be used in this configuration:


Here's how I wired it all up:


Raspberry Pi Pin
Jumper Wire

Logic Level Converter:

LV side (3.3V)

Logic Level Converter:

HV side (5V)

Jumper Wire



3V3 PowerRedLVHVRed







(GPIO 14)





(GPIO 15)





Warning: make sure the Pi is turned off and FTDI cable unplugged from the PC before starting to wire up the above connections


Note: TXD (transmit) on the Pi needs to talk to RXD (receive) on FTDI cable, and TXD on the FTDI needs to talk to RXD on the Pi.  Otherwise, it would just be a straight-through connection, and communication wouldn't be possible.


Once wired up, power on the Pi and plug the FTDI cable into the PC.  Finally, a terminal emulator application will be needed to connect to the Pi.  I run Ubuntu Linux and already had gtkterm installed.  The program screen is another option for Linux and Mac (OS X).  On Windows, HyperTerm or TeraTerm should work.  The eLinux wiki has additional information.


In gtkterm, I selected Configuration->Port and set the Port to /dev/ttyUSB0 and Baud to 115200.  The rest of the defaults are ok (8 bits, stopbits 1, flow control and parity: none).  After clicking OK, I pressed the Enter key a few times and the Pi prompted for username.  I was able to log in and then use the shell as I normally would.  Here is the utility top running:


Finally, FTDI has created a cable specifically for the Raspberry Pi: TTL-232R-RPi.  It is available from the UK-based FTDI web shop, but I've not seen it stocked yet by any distributors I'm familiar with.







Product Name*DescriptionSupplier
Raspberry Pi Model BRaspberry Pi Model BRaspberry Pi model BRaspberry Pi
Buy NowBuy Now
Optical MouseOptical MouseBasic USB optical mouseIONE / Pro Signal
Buy NowBuy Now
Raspberry Pi Power SupplyRaspberry Pi Power Supply120-240v to 5V power supply with micro USB connectorRaspberry Pi
Buy NowBuy Now
KeyboardKeyboardBasic USB keyboardGear Head / A4 Tech
Buy NowBuy Now
Pre-Programmed 4GB SD CardPre-Programmed 4GB SD Card4GB Class 4 SD card preloaded with Debian 6 LinuxSamsung
Buy NowBuy Now
Adafruit Pi CobblerAdafruit Pi CobblerGPIO breakout kit for Raspberry PiAdafruit Industries
Buy NowBuy Now
BreadboardBreadboardBasic breadboard with 830 connection pointsTwin Industries
Buy NowBuy Now
Jumper wire bundleJumper wire bundleJumper wires for use on breadboardBud Industries
Buy NowBuy Now
FTDI USB-Serial CableFTDI USB-Serial Cable3.3v USB to serial interface cableFTDI
Buy NowBuy Now


*Products and resources listed are listed to help members build their own Pi Projects. They are suggestions and listed for educational purposes. For substitutions of any parts, please post a question asking the original author.