/ #raspberry-pi #sbc 

Single Board Computers & Raspberry Pi Basics


A Single-Board Computer (SBC) is a computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer.] SBCs typically provide a fanless, low-power computing solution. Current SBCs come with a wide variety of processor types, most with GPUs on-board. These processors range from X86 based processors from the traditional PC space (AMD and Intel) to ARM processors which have traditionally been used in the industrial and more recently mobile spaces. The most prevalent form of software used on SBCs is Linux with numerous derivations including Android, Ubuntu, Fedora, Debian and Arch Linux as well as FreeBSD.

Many of today’s SBCs have become so powerful that they are beginning to have the capability of modern day PCs and tablets. This trend will continue as more powerful processors make their way into the embedded computing market as ever-increasing performance/price ratios rise, as well as additional manufacturers enter into this “Wild West” frontier of supporting open source hardware and software for both DIYers and professionals alike.

SBCs

In 2006, a group based in the University of Cambridge’s Computer Laboratory, decided to address the need for a low cost computing platform that would allow kids to learn how to program without the need for a full-fledged home computer.

The result was a $35 single board computer named Raspberry Pi. While initially designed as a tool for students to learn programming, the Raspberry Pi was adopted by makers, designers, students and even professional engineers and helped to launch the current boom in interest in SBCs.

Now there are many SBCs e.g. 86Duino, A10-OLinuXino-Lime, Arduino TRE, Banana Pi, BPi D1, HummingBoard-i1, Odroid-C1, Orange Pi, pcDuino3 Nano, etc.

Ref: Electronic Design, Then and Now A Brief History of Single Board Computers

Raspberry Pi

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.

What’s more, the Raspberry Pi has the ability to interact with the outside world, and has been used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras.

Physical Computing - RPi vs. Arduino

Arduino boards are micro-controllers, not full computers. They don’t run a full operating system, but simply execute written code as their firmware interprets it.

You lose access to the basic tools an operating system provides, but on the other hand, directly executing simple code is easier, and is accomplished with no operating system overhead.

The main purpose of the Arduino board is to interface with sensors and devices, so it’s great for hardware projects in which you simply want things to respond to various sensor readings and manual input.

Notes:

  • The Raspberry Pi is a 3.3V device
  • The GPIO pins are unbuffered and unprotected, so if you short something out, you could fry your whole Pi, so be careful!

Setup - General Steps

It is always recommended to connect the MicroUSB Power to the unit last (while most connections can be made live, it is best practice to connect items such as displays and other connections with the power turned off). Ref: Basic Setup.

  1. Plug the SD Card loaded with the Operating System into the Raspberry Pi.
  2. If required, plug the USB keyboard and mouse into the Raspberry Pi, perhaps via a USB Hub. Connect the Hub to power, if necessary.
  3. If required, plug the video cable into the display and into the Raspberry Pi.
  4. Plug in your Network cable, or Wi-Fi dongle, if required.
  5. Ensure that your USB Hub (if any) and display are working.
  6. With your screen on, plug the other end of the power source into the Raspberry Pi.
  7. Plug the power source into the main socket, and switch it on.
  8. If connected to a display, the Raspberry Pi should boot up and display messages on the screen.
  9. If running headless, it should boot up. When the leds have stopped flashing, connect to the Raspberry Pi from the remote computer. Whether this works will depend on the operating system you are using; the Raspian Linux operating system is configured to allow SSH connections by default.

Node-RED

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.

Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range nodes in the palette. Flows can be then deployed to the runtime in a single-click.

JavaScript functions can be created within the editor using a rich text editor. A built-in library allows you to save useful functions, templates or flows for re-use.

References

  1. Top ten sub-$100 hacker SBCs for your holiday pleasure
  2. Ringing in 2015 with 40 Linux-friendly hacker SBCs
  3. Cliff Ortmeyer, Then and Now A Brief History of Single Board Computers, Electronic Design, Issue 6, December 2014
  4. RPi Low-level peripherals - eLinux.org
  5. Introducing the Raspberry Pi 3 | Hackaday
  6. Adafruit Learning System
  7. Jeffrey Kopcak, An Introduction to the Credit-Card Sized Computer
  8. The MagPi Magazine - The official Raspberry Pi magazineThe MagPi Magazine
  9. Mike Linnen, What can I do with a Raspberry Pi
  10. Jon Holton and Tim Fratangelo, Raspberry Pi Architecture
Author

Eueung Mulyana

Engineer. Lecturer. Programmer. Open Source Enthusiast.