Reader small image

You're reading from  Raspberry Pi Computer Vision Programming. - Second Edition

Product typeBook
Published inJun 2020
Reading LevelBeginner
PublisherPackt
ISBN-139781800207219
Edition2nd Edition
Languages
Tools
Right arrow
Author (1)
Ashwin Pajankar
Ashwin Pajankar
author image
Ashwin Pajankar

Ashwin Pajankar is an author, a YouTuber, and an instructor. He graduated from the International Institute of Information Technology, Hyderabad, with an MTech in Computer Science and Engineering. He has been writing programs for over two and a half decades. He is proficient in Linux, Unix shell scripting, C, C++, Java, JavaScript, Python, PowerShell, Golang, HTML, and assembly language. He has worked on single-board computers such as Raspberry Pi and Banana Pro. He is also proficient with microcontroller boards such as Arduino and the BBC Micro:bit. He is currently self-employed and teaches on Udemy and YouTube. He also organizes programming boot camps for working professionals and software companies.
Read more about Ashwin Pajankar

Right arrow

Single-board computers

A single-board computer (abbreviated to SBC) is a complete computer system on a single printed circuit board (abbreviated to PCB). The board usually has a processor(s), RAM, input/output (I/O), an Ethernet port for networking, and USB ports for interfacing with USB devices. A few single-board computers have Wi-Fi and Bluetooth, too. SBCs run OS distributions such as Ubuntu, Windows, Debian, and more. These OS distributions have specially tailored versions for use with these SBCs.

Unlike traditional computers, an SBC is not modular and its hardware cannot be upgraded because all the components (such as the CPU, RAM, GPU, and interfacing ports) are integrated on a single PCB itself. SBCs are used as low-cost computers in academia, research, and various other industries. The use of SBCs in embedded systems is quite widespread, and many individuals, research organizations, and companies have developed and released fully functional and usable products based on SBCs. Many of these products are crowdfunded. The main advantage of SBCs is onboard General-Purpose Input/Output (GPIO) pins. These pins provide functionalities such as various buses (Serial Peripheral Interface (SPI), I2C, and SMBus), digital I/O, analog input, and Pulse Width Modulation (PWM) output. Try not to get overwhelmed with all of this technical vocabulary. We will learn most of these concepts in more detail with the help of experiments. Almost all of the popular SBCs have GPIO in some form or other. Due to their small form factor and onboard GPIO, they are popular in schools, universities, training centers, boot camps, and maker spaces. They are frequently used in the areas of sensor networks and the internet of things (IoT).

To summarize, the advantages of SBCs are as follows:

  • Low cost
  • Small size
  • Low power consumption
  • Provision for onboard networking and I/O

However, SBCs come with their own set of disadvantages. As all the components of an SBC are on the same PCB, it can be very difficult to repair if a component is damaged due to mechanical or electrical reasons. For the same reason, we cannot even upgrade anything on an SBC. These are the only major disadvantages of SBCs.

The Microcomputer Trainer MMD-1, designed by John Titus in 1976, is the first true single-board microcomputer that was based on the Intel microprocessor, C8080A. It was called dyna-micro during the prototyping phase, and the production units were called MMD-1 (short for Mini-Micro Designer 1).

We are now going to take a look at the Raspberry Pi series in detail. However, before that, we will become acquainted with other popular SBC families.

The Beagleboard family

The BeagleBoard.org Foundation is an organization based in the USA. It is a non-profit entity, and its objective is to provide education and collaboration around the design, development, testing, and use of open source hardware and software in the area of embedded systems. They have developed various SBCs named after beagles (a popular breed of domestic canine species). You can find a list of the current SBCs that they developed, which are in production, at http://beagleboard.org/boards. You can also find related products and accessories for Beagle boards at the same URL.

Their latest product, at the time of writing, is PacketBeagle (http://beagleboard.org/pocket).

ASUS Tinkerboard

The ASUS Tinkerboard is designed and manufactured by ASUS (a Taiwan-based multinational corporation). Its size, layout, and pins are compatible with second- and third-generation Raspberry Pi boards. You can find more details about all the editions of the ASUS Tinkerboard at https://www.asus.com/us/Single-Board-Computer/. The following photograph shows the top view of an ASUS Tinkerboard:

Figure 3: ASUS Tinkerboard

Figure 1.3 – ASUS Tinkerboard

NVIDIA Jetson

NVIDIA Jetson is a family of modules that is used for computer vision, AI, and speech processing tasks (https://developer.nvidia.com/embedded/develop/hardware). The best member for beginners to get started with is Jetson Nano. And the best place to begin is on the web page of Jetson Nano Developer Kit at https://developer.nvidia.com/embedded/jetson-nano-developer-kit. Here's a side view of the developer kit:

Figure 4: Nvidia Jetson Nano

Figure 1.4 – Nvidia Jetson Nano

Intel boards

Intel Corporation also produces many boards that can be called SBCs. You can find details on the current generation of modules that are in production at https://software.intel.com/en-us/iot/hardware/all. We have had the privilege of working with several of the excellent Intel SBCs and modules. Many of them are discontinued, and you can find the full list and support documentation for them at https://software.intel.com/en-us/iot/hardware/discontinued. Note that you might be able to get a good deal on used and discontinued boards from Intel. They are also great for learning. For beginners of computer vision, I like to recommend Intel Up Squared Kit. You can find out more at https://software.intel.com/en-us/iot/hardware/up-squared-ai-vision-dev-kit.

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Raspberry Pi Computer Vision Programming. - Second Edition
Published in: Jun 2020Publisher: PacktISBN-13: 9781800207219

Author (1)

author image
Ashwin Pajankar

Ashwin Pajankar is an author, a YouTuber, and an instructor. He graduated from the International Institute of Information Technology, Hyderabad, with an MTech in Computer Science and Engineering. He has been writing programs for over two and a half decades. He is proficient in Linux, Unix shell scripting, C, C++, Java, JavaScript, Python, PowerShell, Golang, HTML, and assembly language. He has worked on single-board computers such as Raspberry Pi and Banana Pro. He is also proficient with microcontroller boards such as Arduino and the BBC Micro:bit. He is currently self-employed and teaches on Udemy and YouTube. He also organizes programming boot camps for working professionals and software companies.
Read more about Ashwin Pajankar