There’s a lot of small SBCs out there. Some people have seen them, some have used them, some have a SBC habit that’s reaching ‘gotta catch them all’. Given some of the co-workers hadn’t encountered this class of devices before, I was asked to give a general overview.

This posting is my notes and link collection. It’s not a fully formed stand alone post. I apologize to anybody reading this who didn’t have me talk about it.

There’s a lot of these things.

Wikipedia

I’ve collected quite a few, generally with interesting odd features that are a bit out of mainstream in this space. So let’s talk about the mainstream.

Arduino
This is not a single board computer. This is a microcontroller on a board.

PIC16 Where I started.
This is really not what anybody calls a computer today. It’s literally designed to be a Peripheral Interface Controller connecting some thing to a ‘real computer’. It’s shocking how far you can get with so little computation.

Basic Stamp A microcontroller you can program in a subset of basic. Very short programs. Very shrt

Raspberry Pi Very much a single board computer.

What’s the difference? summary

I draw the line at approximately the Memory Management Unit with virtual memory.

Lots of this innovation is coming from the cell phone industry, with many of the chips being variants or exactly the sort of chip one might find in a low end cell phone.

This means ARM is eating the world.

ARM however, means many things

Application vs real time vs microcontroller.
Often more that one on the same chip.

Why does realtime matter? Interfaces to the world.

‘Slow’ Interfaces:

  • SPI
  • I2C
  • PWM
  • UART
  • GPIO
  • Analog via A2D

Some of those interfaces have very specific, very tight timing requirements to operate correctly. PWM is literally timing.

‘Fast’ interfaces

  • USB
  • Wired Ethernet
  • WIFI
  • SATA
  • LCD displays
  • HDMI
  • Display port

Annoying Interfaces:

  • NTSC
  • Audio

Here’s the ones I’m working with.

CHIP

Worst. Name. Ever.
The computer bits of a cheap Chinese tablet, minus the screen, digitizer, and battery. 9 Dollars, quantity 1. WiFi. 2 SPI channels. I2C. USB.

Beaglebone black , and friends.

You wanted real time? Ethernet? funky protocols? Massive support network. This is your friend. Key element, based on an embedded systems chip, not a media or application chip. Includes a pair of M3s next to the A7, with full system bus access. Called PRU’s (Programmable Realtime Units). They are microcontrollers on the same chip as the main CPU.

HDMI, microsd, usb.

$55. Typically quantity 1 only as an agreement to made widely available.

Parallella

A quick 16 core parallel processor attached to the side of a dual core arm chip with a gig of ram, an a FPGA, and gigabit Ethernet. 5 watts. I run them off PoE adapters. What’s not to like?

Pine64 A new Armv8 board with quad cores, and in some variants, 2G of ram. HDMI.

Warnings:
Check the voltages that your board supports. On the boards I have, it varies from 12v tolerant, to 3.3V supply, 1.8 on pins. Applying too much voltage will smoke your board.

Some pins have limits that are in reference to the supply voltage. This means that if the thing you connected will generate 5v on a pin, and the pin is okay up to supply+0.5, you need to make sure your SBC powers up before the device that’s connected. Otherwise, you will apply 5v to a pin that at that moment can only accept 0.5 volts.

Talking to the boards:
USB
Serial interfaces (Console cables)
JTAG

Places to start:
SparkFun
Adafruit
Seeedstudio
http://www.cnx-software.com/