As you’re probably well aware from my previous Raspberry Pi articles, I’m a hoarder. I have several Raspberry Pi Zero as well as the wireless edition and various attachments that go with them.
When I was first getting started with the original Pi Zero, I had a tough time trying to figure out how to connect to it. I mean, how do you connect to something that doesn’t have some kind of internet connect?
I had written two articles previously for connecting to a Raspberry Pi Zero. The first titled, Connect to a Raspberry Pi Zero with a USB Cable and SSH, demonstrated how to connect with nothing more than a USB cable. The second titled, Connect to a Raspberry Pi and Pi Zero with a USB to TTL Serial Cable, demonstrated using GPIO pins and a serial cable to connect.
We’re going to simplify the connection process by using a nifty PiUART module and eliminate any complicated wiring or software configurations.
If you’re not familiar, the PiUART is a product sold by Adafruit for roughly $6.00. It connects to the standard Raspberry Pi and Raspberry Pi Zero through the GPIO header.
Once attached, you can both power the Raspberry Pi and connect to it as if you were using a serial connection. The catch here is that you of course need to have the GPIO header already attached, or know how to attach a GPIO header. I have no prior soldering experience, but was able to solder a Raspberry Pi GPIO header without issues.
In most scenarios, your operating system, whether that be Mac, Windows, or Linux, won’t come with the necessary drivers to detect serial devices like the PiUART.
If you’re using a Mac, you can download and install the following driver:
If you’re using Linux or Windows, I don’t have all the answers for you when it comes to drivers, but you can check out the SiLabs website for an appropriate version of the CP210X.
With the driver installed, you’re ready to connect.
If you remember my previous article, we had to configure the Raspberry Pi for UART. I found that I didn’t need to do this when using the PiUART, only the TTL serial cable.
Going forward, remember that I’m on a Mac and your steps might be slightly different if you’re on a Linux or Windows computer.
Connect to your Raspberry Pi via the PiUART and wait a moment for it to start booting. You can validate that it is ready for a connection by executing the following:
ls -la /dev/cu*
You should see results similar to the following after executing the above command.
The device you’re looking for is the cu.SLAB_USBtoUART from the list. If you were using a TTL serial cable, the device would be named something different.
If for some reason cu.SLAB_USBtoUART is not in the list, use common sense when choosing a match.
To establish a connection, execute the following:
screen /dev/cu.SLAB_USBtoUART 115200
The above command should connect to the device and show you all the output as if you were connected to it with a monitor or television.
If this is your first time connecting to the Raspberry Pi and you’re using Raspbian Linux, the username will be
pi and the password will be
raspberry. Seek the documentation if you’re using a different flavor of Linux.
At this point you should be able to use your Raspberry Pi as if you were connected to it via SSH or through an old fashioned mouse and keyboard with a monitor or television. If you need to disconnect, you’ll need to detach and then disconnect from the session. This can be done by pressing
ctrl-a followed by the
d key on your keyboard. Just note that detaching does not shutdown or restart the Raspberry Pi.
You just saw how to make use of an Adafruit PiUART module to connect to the various Raspberry Pi using the GPIO pins and a standard USB cable. This is an alternative to using a TTL serial cable or trying to SSH over USB.
If you’re running into issues, make sure that you’re using a sync and charge USB cable, not just a charge cable. I’ve made this mistake numerous times. I personally use USB cables from Anker and haven’t had issues since.