Overview of Computer Ports: Types, Functions and Comparison
As the name suggests, Single Board Computers (SBC) are built using only one circuit board. I believe you’re familiar with SBC, but do you actually know how many connectors does a basic SBC have?
In this article, we will show you the basic ports they have as well as the key ports you should take note of when purchasing your next SBC for your project!
However, before we jump right into the details, let’s go back in time and learn about the history of SBC:
- The first SBC was built in May 1976, named Dyna-micro. It was based on the Intel C8080A and used EPROM, the C1702A version.
- In 1976, E&L Instruments of Derby rebranded it CT, known as the MMD-1. This then became popularized as the leading example of microcomputers.
- As the modern PC came about, SBC became less popular. But SBC nowadays is still a popular tool amongst makers, educators and students in creating electronics and computing-related projects.
How did Raspberry Pi come about?
If you’ve been creating electronics projects, I’m sure you’re no stranger to Raspberry Pi! To understand better, We will be talking about the first-ever Raspberry Pi and its basic components.
2006 – Raspberry Pi’s first prototype
The first prototype of Raspberry Pi was created by Eben Upton. Though the machine may have been rudimentary, it could be manually assembled and soldered.
2011 – First official glimpse of Raspberry Pi prototype
This thumb-drive prototype of Raspberry Pi was very different from the Raspberry Pi 1 that would launch in 2012, it looked more similar to Raspberry Pi Zero that was launched in 2015 instead!
Though it still encompassed some of the final features, including HDMI and a USB port, the launch machine offered more features and was significantly larger.
2012 – Official launch of Raspberry Pi 1 Model B (Discontinued now)
Raspberry Pi Model B was officially launched in February 2012, priced at $35, which racked up more than 100,000 orders on the first day!
Here’re the details on the components on the Raspberry Pi Board:
- ARM CPU/GPU: Broadcom BCM2835 System on a Chip (SoC) that’s made up of an ARM1176JZF-S central processing unit (CPU) and a Videocore 4 graphics processing unit (GPU).
To put simply, CPU handles all the computations that make a computer work (taking input, doing calculations and producing output), and the GPU handles graphics output.
- General purpose input-output (GPIO) connector: 26 pins
- Composite Video: RCA jack.
- Audio output: Analog via 3.5 mm phone jack
- LEDs: Light-emitting diodes, for all of your indicator light needs.
- USB: 2x USB 2.0 ports
- HDMI
- Power: 5 V via MicroUSB or GPIO header
- SD cardslot
A full-sized SD card with an operating system (OS) installed is required for booting the device.
- Ethernet: 10/100 Mbit/s USB adapter on the USB hub
A connector that allows for wired network access.
Looking at Raspi Model B now, we can see that there’re a few features missing: WiFi and audio input. But it can be added using the USB port(s) or a USB hub as needed.
Introduction of Connectors and Ports
Ports are basically physical docking point which is used to connect the external devices to the computer. With the help of cables and wires, we can connect or plug into external devices!
As we have seen from the Raspberry Pi Model B, there are quite a lot of connectors and ports on an SBC. Now that we have a better understanding of Raspberry Pi’s basic SBC components, let’s look at the different ports and its functions!
Serial ports
Serial ports are one of the oldest types of interfaces that transfers information one bit at a time, used for external modems. Though many serial ports have been replaced by USB for many computer peripheral devices, it is still commonly used in industrial systems, scientific analysis and laboratory equipment etc.
Parallel ports
Parallel ports have an interesting name, do you know this is due to the way the data is sent? Parallel ports send multiple bits of data at once, while serial ports send one bit at a time! They are typically used for connecting printers or scanners, thus they are also known as printer ports.
VGA ports
VGA actually stands for Video Graphic Array, it is a 15 pin connector that’s available in many video-cards, computer, projectors, mainly used to connect a monitor to a computer. However, since it uses analog signal, it is only capable of lowering the resolution.
PS/2 ports
As you can probably tell from the icons, these ports are meant for connecting your mouse and keyboard to an old computer. Though not commonly found anymore, they are still used in organisations for security reasons!
DVI
DVI stands for Digital Video Interface, it is a high-speed digital interface between a display controller like a computer and a display device like a monitor. It is also developed to transmit digital video signals and replace the analogue VGA technology.
There are also other variations of DVI: Mini-DVI (developed by Apple as an alternative to mini-VGA) as well as micro-DVI. However, micro-DVI is only capable of transmitting digital signals.
Ethernet
Ethernet is the traditional technology for connecting devices in a wired local area network (LAN) or wide area network (WAN). Which enables communication via a protocol — a set of rules or common network language.
Though WiFi has become more popular over the last few years and is often preferred over Ethernet, hardwiring your SBC or devices to your router with Ethernet Cables can improve speed, especially when streaming, gaming or downloading files!
Power Supply
As you can tell, the power connector uses a micro USB cable which enables you to plug in your compatible power supply. However, not every SBC uses micro USB anymore. For instance, Raspberry Pi 4B uses a USB Type-C for power supply.
HDMI
An HDMI or High-Definition Multimedia Interface connector allows you to hook up a high-definition television or other compatible device using an HDMI cable.
USB
USB stands for Universal serial bus, it is a common connection port for peripheral devices of all types (including your mouse and keyboard). Nowadays it’s common to find USB 2.0 and 3.0, your SBC should have 2 or more ports, unlike the older models of Raspberry Pi.
However, you can also use a USB hub to expand the number of ports or plug your mouse into your keyboard if it has its own USB port.
Composite Video/ Audio Jacks
The composite video port uses either RCA jack or TRRS jack which allows the connection of analog TVs and other similar output devices.
Composite video ports use one channel and a single cable (the audio tracks transmit in separate channels and cables).
GPIO
GPIO are exposed general-purpose input/output connection points that will allow the real hardware hobbyists the opportunity to tinker. Raspberry Pi Models A and B only have the first 26 pins while the newer models have 40 pins. As additional info, Raspberry Pi Model B has 8× GPIO plus the following, which can also be used as GPIO: UART, I²C bus, SPI bus with two chip selects, I²S audio +3.3 V, +5 V, ground.
It can be used in conjunction with sensors, diodes, displays, and System-on-Chip modules as well!
M.2 connector
M.2 was formally known as Next Generation Form Factor (NGFF). Because of its specification, it can be made really slim and thin, thus its commonly found in laptops and motherboards! Moreover, it is a flexible connector, and so it supports both SATA and PCIe as well. What’s even more amazing about it is it even supports USB 3.0, Bluetooth, Wi-Fi and Near-Field Communication (NFC) in certain configuration!
SATA SDD
SATA stands for Serial Advanced Technology Attachment and is often used to interface in a computing system for storage and peripheral connectivity. It is used to connect optical drives including BluRay as well as spinning disk hard drives (HDD) and SSDs.
When compared to PCIe, SATA has greater storage capacity and density options, and it is great for daily use that doesn’t require high-performance.
PCIe SSD
PCIe stands for Peripheral Component Interconnect Express and is sometimes referred to as PCI Express. It is an interface that can be used to connect any number of different things, including graphics cards and storage devices!
There are also different types of PCIe SSD that support different standards: An M.2 PCIe SSD that makes use of the NVMe (Non-Volatile Memory Express) specification to provide additional speed and performance benefits. The U.2 is also another option for PCIe SDD, which provide PCIe connectivity in a form factor that fits into 2.5 and 3-inch enclosure.
Though SBCs technically don’t have PCIe slots but guess what! You can actually connect your PCIe to your Raspi 4B! If you would like to learn how to do so, click here!
NVMe connector
NVMe stands for NVM Express or Non-Volatile Memory Express, it is a host controller interface specification that uses the PCI Express (PCIe) bus to connect SSDs to a server.
But do note that NVMe can only work in flash environments only so it is not as versatile as SATA, but it is great for transaction-heavy databases and business-critical applications!
MIPI DSI
The MIPI Display Serial Interface defines a high-speed serial interface between a host processor and a display module, it enables the user to achieve high-quality imagery and visuals when tinkered with. It can be found in smartphones, tablets, laptops, automotive and other platforms as well!
MIPI CSI Camera
Camera Serial Interface (CSI) is a camera port providing an electrical bus connection between the two devices. It is a very simple interface and with a little reverse engineering with an oscilloscope, it is possible to figure out the pinout.
Fun fact: CSI-1 was the original standard MIPI interface for cameras which defines the interface between a camera and a host processor, its successors were MIPI CSI-2 and MIPI CSI-3.
MIPI CSI-2 is more commonly adopted in the mobile and automotive application as it is easy to use and its ability to support high-performing applications.
SBCs with special ports
After understanding some of the common connectors that are included in our SBC and motherboards, let’s look at the additional connectors some SBC has!
NVIDIA® Jetson Nano™ 2GB Developer Kit ($59.00)
The NVIDIA® Jetson Nano™ 2GB Developer Kit is NVIDIA’s newest Jetson Nano Developer Kits series, it provides the user with the same amazing Jetson experience but at a much lower price tag, which makes it perfect for educators and students.
One special connector is the 4-pin Fan Header, it is unique because the fourth wire in a 4-pin fan header is used for controlling and sending signals to the fan, which would have a chip on it that controls it to slow down or speed up.
SBC | Connectors |
NVIDIA® Jetson Nano™ 2GB Developer Kit | – 40-pin Header – 12-pin Header (Power and related signals, UART) – 4-pin Fan Header – 1x USB 3.0 Type-A, 2x USB 2.0 Type-A, 1x USB 2.0 Micro-B – 1x MIPI CSI-2 connector – Power USB-C 5V/ 3A – Gigabit Ethernet |
ODYSSEY – X86J4105864 ($258.00)
The ODYSSEY – X86J4105864 is a powerful and speedy SBC that is capable of many things, which makes it a perfect option for Edge Computing applications. It includes all the powerful features a mini PC has and with Arduino Co-processor onboard as well!
So what’s special about its connectors? well, it has Dual Gigabyte Ethernet Ports unlike the usual SBCs, as well as two of M.2 PCIe (B Key and M Key) which enables various expandable capabilities including Hard Drives, SSD, GPU, 4G, and even 5G cellular network connectivity!
SBC | Connectors |
ODYSSEY – X86J4105864 | – 40-Pin header – 8-Pin header (SAMD21G18) – Front Panel Audio Connector – 4-Pin herder (UART function from SAMD21G18) – Fan Port (4 pin 1.25mm PWM 5V) – 4-Pin SATA Power Connector – 4-Pin herder (Power and Switch) – Dual Gigabyte Ethernet Ports – USB 2.0 Type-A x2, USB 3.1 Type-A x1, USB 3.1 Type-C x1 – Microphone + headphone Combo Connector – HDMI2.0a: Up to 4096×2160Import |
Key connectors to note
Typically there are 5 factors to consider when purchasing SBCs: Power, CPU, Graphics, RAM and Flash Memory. However, many tend to neglect the importance of connectors when purchasing SBCs! Therefore, we will be talking about the connectors you should take note of in this section.
Using Raspberry Pi Model B as an example, it has a missing audio input. But if you look at the newest Raspberry Pi 4B now, it has audio and composite video port installed as well as more USB ports. Which brings us to the key connectors:
USB ports
As we mentioned earlier, the purpose of a USB is basically to connect it to your power, computer, everything that uses electricity. So when it comes to USB ports, the more the better! Thus, this is important if you would like to connect your SBC to multiple devices concurrently, this is important!
For comparison, Raspberry Pi 4B has 4 USB ports while Banana Pi M64 (a Raspberry Pi Alternative) only has 2 USB ports.
GPIO pins
It goes without saying that if you’re able to tinker with GPIO, you wouldn’t even need half of the connectors in an SBC! Thus, the more GPIO it is, the more things you’re able to do with it. As we mentioned earlier as well, nowadays the standard is 40 pin header where GPIO (x28) and Power (+5V, +3.3V and GND). GPIO pins can be used for UART, I2C, SPI or PW.
For comparison, Raspberry Pi 4B has the standard 40 pins, while its older counterpart Raspberry Pi 1 Model A and B has 26 pins where there’s 8× GPIO and these can also be used as GPIO: UART, I²C bus, SPI bus with two chip selects, I²S audio +3.3 V, +5 V, ground.
Comparison of 16 SBCs’ ports and connectors
SBC | Connectors |
Raspberry Pi 4 Model B | – Gigabit Ethernet – Standard 40-pin GPIO header – 2 × micro HDMI ports (up to 4Kp60 supported) – 2 × USB 3.0 ports and USB 2.0 ports – 2-lane MIPI DSI display port – 2-lane MIPI CSI camera port – 4-pole stereo audio and composite video port – Power over Ethernet (PoE)–enabled(requires separate PoE HAT) |
Rock Pi S | – 26 pin GPIO header(includes I2C, PCM, TDM, PDM, SPDIF, and HDMI ARC) – USB 2.0 OTG(type-C) + USB 2.0 HOST(type-A) – RJ45 10/100Mbit Ethernet |
Banana Pi M64 | – USB 2.0 PORT (x2), USB OTG (x1) – Standard 40 Pin Header – 1080p capable HDMI port – CSI input connector – 10/100/1000 Mbit/s Ethernet |
Orange Pi 4B | – 2x USB 2.0 Host, 1x USB Type-C 3.0 – 1x HDMI 2.0 4K60, 1x DisplayPort 1.2, 4K60 (via USB Type-C), 2x LCD (1x Shared with MIPI CSI) – 10/100/1000Mbps Ethernet – Supports Dual MIPI-DSI (4 lines per channel) – GPIO1 40 pins(1 x I2S、2 x I2C、1 x SPI/UART、8 x GPIO), GPIO2 24pin PCIE port |
NVIDIA® Jetson Xavier™ NX Developer Kit | – 4x USB 3.1 Gen2 Type-A and USB 2.0 Micro-B – HDMI – 2x MIPI CSI-2 D-PHY lanes – 2x MIPI-CSI camera connector – 10/100/1000 Base-T Gigabit Ethernet – M.2 (Key E and M) – 40-pin header (GPIOs, I2C, I2S, SPI, UART) – Fan connector |
Raspberry Pi Zero | – Mini HDMI port – Micro USB OTG port – Micro USB power – HAT-compatible 40-pin header – Composite video and reset headers – Unpopulated 40-pin GPIO connector – CSI camera connector (need an adaptor cable) |
Raspberry Pi Zero W | – Mini HDMI port – Micro USB OTG port – Micro USB power – HAT-compatible 40-pin header – Composite video and reset headers – Unpopulated 40-pin GPIO connector – CSI camera connector (need an adaptor cable) |
ODYSSEY – X86J4105864 | – 40-Pin header – 8-Pin header (SAMD21G18) – Front Panel Audio Connector – 4-Pin herder (UART function from SAMD21G18) – Fan Port (4 pin 1.25mm PWM 5V) – 4-Pin SATA Power Connector – 4-Pin herder (Power and Switch) – Dual Gigabyte Ethernet Ports – USB 2.0 Type-A x2, USB 3.1 Type-A x1, USB 3.1 Type-C x1 – Microphone + headphone Combo Connector – HDMI2.0a: Up to 4096×2160Import |
PocketBeagle | – 72 expansion pin headers – micro USB host/client and microSD connectors |
Rock Pi N10 (Model C) Series | – Full-size HDMI 2.0 up to 4k@60(Type A) – USB 3.0 OTG x1, USB 2.0 HOST x2 – 40-pin expansion header – MIPI DSI 2 lanes via FPC connector – 3.5 jack with mic – MIPI CSI 2 lanes via FPC connector – GbE LAN with PoE |
Khadas VIM3 (Basic) | – TP connector – 2x USB Hosts (Type C) – Switchable PCIe and USB 3.0 interface via software – HDMI at 4K and MIPI-DSI at 1080p – VIN Connector – 4 lanes MIPI-DSI Interface – 4 lanes MIPI-CSI Supports Dual Cameras – PCIe 2.0 (one lane) M.2 2280 NVMe SSD – 40-Pin Header |
NVIDIA® Jetson Nano™ 2GB Developer Kit | – 40-pin Header – 12-pin Header (Power and related signals, UART) – 4-pin Fan Header – 1x USB 3.0 Type-A, 2x USB 2.0 Type-A, 1x USB 2.0 Micro-B – 1x MIPI CSI-2 connector – Power USB-C 5V/ 3A – Gigabit Ethernet |
Rock Pi X B4E32 | – HDMI 2.0 up to 4k@30 – USB 3.0 OTG X1, USB 2.0 HOST X3 – 40-pin Expansion Header – 3.5mm jack with mic – GbE LAN with Power over Ethernet (PoE) support |
Rock Pi E D4W1P | – 40-pin expansion header – USB Type-C DC 5V, USB3.0 Type-A HOST x1 – 1000Mbit ethernet, optional PoE – Standard 3.5mm jack |
Odroid N2+ | – 4 x USB 3.0 Host ports, 1 x USB 2.0 OTG port – 40-pin GPIO connector – 1 x HDMI 2.0 (up to 4K@60Hz with HDR, CEC, EDID) – 1 x AV out (composite video) – 1 x Gigabit Ethernet – 2-pin active cooling fan connector |
Coral Dev Board | – USB Type-C power port (5V DC), USB 3.0 Type-C OTG port, USB 3.0 Type-A host port, USB 2.0 Micro-B serial console port – HDMI 2.0a (full size) – Standard 40-pin GPIO expansion headers – 3.5mm audio jack (CTIA compliant) – Digital PDM microphone (x2), 2.54mm 4-pin terminal for stereo speakers – 39-pin FFC connector for MIPI-DSI display (4-lane) – 4-pin FFC connector for MIPI-CSI2 camera (4-lane) – Gigabit Ethernet ports – 40-pin GPIO expansion headers |
RockPro64 | – 2x USB 2.0 Host, 1x USB 3.0 Host, 1x USB-C Host (With Video Out) – Standard 40 GPIO Pins – Gigabit Ethernet – 4K Digital Video Out – PCIe 4x Open-Ended Slot – Stereo MiPi-SCI Port – Headphone Jack with Mic Input |
Summary
And that’s it on SBC ports and connectors! Did you learn something new? We hope this would help you better understand the function of each connector as well as some special ones found in SBCs!
Suggested Readings
Learn all about the Raspberry Pi: Getting started, Projects, Software, Tutorial: All about Raspberry Pi! If you’re a beginner in SBC, you’ll definitely want to check this out.
Bluetooth Protocol: Overview and Bluetooth Module: Learn more about the Bluetooth function!
What are the essentials for your electronics workbench?: If you’re just starting out and would like to get some tools and equipment to start!