This page provides a broad summary of results across all of the SBC platforms reviewed. You can also read individual platform reviews.

Features at a Glance

Platform Cost Processor(s) RAM Storage OS (default)
Kinoma Element $20-25 ARM Cortex M4 @200MHz 512kB 4MB Flash FreeRTOS
Samsung ARTIK 5 $99.99 (2) ARM Cortex A7 @1GHz 512MB 4GB eMMC Linux (Fedora)
Raspberry Pi 3 $35 ($89.95 for SparkFun kit as tested) (4) ARM Cortex A53 @1.2GHz 1GB microSD slot Linux (Raspbian)
Tessel 2 $45 Mediatek MT7620n @580MHz 64MB 32MB Flash Linux (OpenWRT)
Intel Edison + Arduino $69.99 Intel® Atom™ @500MHz 1 GB 4GB eMMC Linux (Yocto)

Hardware Features

Platform USB Peripheral SDCard HDMI Audio Out Microphone Other Interfaces
Kinoma Element
Samsung ARTIK 5 1 Yes Yes Yes MIPI DSI (display), MIPI CSI (camera)
Raspberry Pi 3 4 Yes Yes Yes ??
Tessel 2 2
Intel Edison + Arduino 2* Yes No No No

* Only one of the two USB ports on the Edison’s Arduino board can be actively used at one time. One is a micro connection and one is USB-A. A hardware switch on the board controls which is active.

On-Board Connectivity

Note: All platforms in this review support serial communication over USB.

Platform WiFi 802.11 Ethernet Bluetooth Bluetooth LE Other
Kinoma Element b/g/n No No No
Samsung ARTIK 5 a/b/g/n/ac Yes Yes Yes ZigBee, Z-Wave, SigFox
Raspberry Pi 3 n Yes Yes Yes
Tessel 2 g/n Yes No No
Intel Edison + Arduino a/b/g/n Yes No Yes

GPIO/Pins

Platform Total GPIO Pins Analog In (ADCs) PWM I2C SPI UART
Kinoma Element 16 8 8 2 -* 3
Samsung ARTIK 5 47** 2*** 2 3 2 2
Raspberry Pi 3 26† 0 4 2 2 1
Tessel 2 16 10 4 2 2 2
Intel Edison + Arduino 20†† 6 4 1 1 1
  • * Kinoma claims that SPI support will come in a future software update.
  • ** 20 when pins are used in Arduino-compatible mode
  • *** Note that the ARTIK’s voltage here is 0 - 1.8V (same goes for output logic high voltage on digital pins)
  • † The Pi is usually talked about in terms of 40 pins total, but only 26 of those are available for GPIO.
  • †† The Edison Compute module itself actually has 40 pins, but only 20 are exposed on the Arduino breakout.

Subjective Experiences

Setup

There was a wide variation between platforms in terms of how easy and how quick it was to unbox, configure and set up each. We noticed that speed and simplicity were actually two separate factors. In some cases, it required few steps to set up a device (simple), but those simple steps took a long time or didn’t work right the first time (slow). On the other hand, some devices had a lot of steps to walk through (complex) but were smooth sailing—all the instructions worked as they should have.

In several cases, the setup process was hampered by poor or scattered documentation. In retrospect, those platforms are not too hard to set up but the instructions are not clear or easy to find. In those cases, we’ve aimed to provide a step-by-step setup rehash that may help speed setup for others.

This category rates two factors:

Speed of Setup

How long it took to get the device ready to rock. This includes wait times for installations and support responses.

Ratings:

  • :hourglass: : oh so quick
  • :hourglass::hourglass: : Less than an hour
  • :hourglass::hourglass::hourglass: : More than an hour, or required waiting on support
  • :hourglass::hourglass::hourglass::hourglass: : Epic/more than a day

Effort of Setup

Regardless of time required, did setup seem straightforward and comprehensible or did it take a lot of effort?

Ratings:

  • :relaxed: : Easy-peasy
  • :neutral_face: : A bit of head-scratching
  • :weary: : Why was that so hard?
SBC Setup Time Setup Ease Notes
Kinoma Element :hourglass::hourglass::hourglass: :neutral_face: Much of the Element’s setup time was downtime while waiting for feedback in a support forum.
Samsung ARTIK 5 :hourglass::hourglass::hourglass::hourglass: :weary: ARTIKs are powerful but don’t score high in ease-of-setup. Fedora or Linux novices may feel overwhelmed and the WiFi interface gave us some trouble.
Raspberry Pi 3 :hourglass::hourglass: :relaxed: While it took 20 minutes or so to install Raspbian using NOOBS, it was nearly effortless. GUI (windowed interface) made WiFi setup a breeze, though more peripherals had to be tracked down (monitor, keyboard, mouse) than for other platforms.
Tessel 2 :hourglass: :relaxed: Tessel setup is fast and will feel like familiar territory to Node.js developers. The (Node.js) CLI for provisioning the device works handily but does require a few terminal commands.
Intel Edison :hourglass::hourglass::hourglass: :weary: The Edison took a while to get set up, but needn’t have. Wonky documentation contributed to a longer-than-ideal setup process.

GPIO Quantity and Quality

SBCs, especially the more powerful and full-featured platforms, are full-fledged computers in their own right, and have multi-purpose application. They’re not necessarily targeted for hardware control. The GPIO pinouts can be confusing, especially as compounded by pin mapping on various levels. Not all platforms support all features—Raspberry Pis, for example, do not support analog input. And there wasn’t necessarily a correlation between GPIO pin quantity and the ease of accessing or working with those pins.

In a couple of cases, we found it was actually faster-to-prototype to use an SBC to control an attached development board—say, an Arduino Uno—than to work with the device’s GPIO pins directly.

This category rates two factors:

Breadth (Quantity) of GPIO

Were there a lot of pins? Did they support all the usual GPIO suspects?

Ratings:

  • :zap: : Fewer than 16 GPIO available pins
  • :zap::zap: : More pins. May be lacking support for one or more features
  • :zap::zap::zap: : So many pins. So much support.

Flexibility of GPIO

OK, so there are pins. How easy are they to use?

Ratings:

  • :smiley: : Working with pins is intuitive
  • :neutral_face: : Pins are usable, but there may be a quirk or two
  • :confused: : Pinouts are complicated and/or it’s hard to work with pins
SBC GPIO Breadth GPIO Flexibility and Ease Notes
Kinoma Element :zap: :neutral_face: The Element has a good number of GPIO pins for its size (16). It’s not hard to program for these pins using Kinoma’s framework, but the lack of existing examples means you’ll likely be rolling your own. The unusual approach of using GPIO pins for power means you’ll tie up more pins per component.
Samsung ARTIK 5 :zap::zap::zap: :confused: The ARTIK 5’s 47 GPIO pins beat out other platforms for quantity, but the sheer number of (vague) options for working with them, paired with the arcane Fedora Linux made developing for them a bit of a challenge for the novice.
Raspberry Pi 3 :zap::zap: :confused: Pis don’t lack for sheer numbers of GPIO pins (40), but there is no analog in (no ADCs) and the pinout mappings are mind-melting.
Tessel 2 :zap::zap: :smiley: The Tessel’s 16 pins are easy to work with and control, though more advanced projects may leave you running out of pins.
Intel Edison :zap::zap: :smiley: The Edison’s Arduino breakout board provides pins in a familiar form factor, and there are numerous options for controlling them.

Support and Documentation

One of the characteristics of the documentation we found for various SBC platforms was that in many cases it was copious but poorly-organized. Finding the right documentation could be a time sink. Another shortcoming of SBC documentation is that it sometimes combines really obvious stuff (like, “double-click to launch the application and open a file by using the file menu” with copious screen shots) with very essential and arcane instructions. This results in long documentation pages that you want to skim but cannot, because you might miss the critical detail. There’s a strange mixture of hand-holding, but subsequently assuming that the reader, say, knows all the ins and outs of ifconfig. That is: there is not a clear sense of audience for all of the documentation.

Breadth (Quantity) of Documentation

In terms of sheer amount of documentation from the platform’s source and the web community. Is there a big body of documentation and examples, or is this platform newer and/or less popular?

Ratings:

  • :book: : Not much there in the way of documentation and/or examples
  • :book::book: : A reasonable amount of docs
  • :book::book::book: : Tons of docs!

Clarity and Organization of Documentation

Regardless of how much documentation there is, is it comprehensible? Can you find it easily? Are there clear steps for setup and clear API documentation for frameworks, etc.?

Ratings:

  • :smirk: : Not shabby
  • :neutral_face: : Depends on what you’re looking for
  • :confused: : Documentation is poorly organized or hard to find
SBC Documentation and Example Quantity Documentation Organization and Clarity Notes
Kinoma Element :book: :confused: The Element is a young product, meaning that code examples are limited in number. Documentation is straight-up hard to find on their site. The forums fill in some gaps.
Samsung ARTIK 5 :book::book: :neutral_face: ARTIK 5 setup documentation is thorough, but the default Fedora Linux can be hard to use and there’s sparser documentation for the slightly-beyond-blinking-LEDs phase—it leaps from super beginner to firmware expert quickly.
Raspberry Pi 3 :book::book::book: :smirk: With such a huge user base, Pis have a large body of documentation. Harder to find, though, is documentation focused on native GPIO.
Tessel 2 :book::book: :smirk: Tessel 2 documentation is decent, if not overabundant. Tutorials are applicable and to-the-point and documentation is organized in one general place.
Intel Edison :book::book: :confused: The Edison falls down with respect to the organization of its documentation. Documentation exists, but is overlapping, sometimes slightly contradictory, and challenging to find on the Intel site.

Maturity and Reliability

Does the platform feel solid? Has it had a chance to grow up?

Ratings:

  • :squirrel: : Young or slightly shaky
  • :squirrel::squirrel: : Growing
  • :squirrel::squirrel: : Solid and established
SBC Maturity and Adoption Reliability and Stability Notes
Kinoma Element :squirrel: :smirk: The Element’s relative simplicity added to the feel of general stability once code was deployed; it’s young and has a small user base, however.
Samsung ARTIK 5 :squirrel::squirrel: :confused: Samsung is growing its base of savvy developers. We had trouble with the WiFi interface on the device and it can be hard to debug things on this powerful but complex platform. It had a habit of disappearing off of networks.
Raspberry Pi 3 :squirrel::squirrel::squirrel: :smiley: Pis have a huge user base (they’re the UK’s top-selling personal computer, e.g.) and a Pi 3 running Raspbian is solid as a rock once booted, requiring no intervention and not unexpectedly disappearing from network or anything.
Tessel 2 :squirrel::squirrel: :neutral_face: This is the second generation of Tessel. It can be tough to debug occasional crashes.
Intel Edison :squirrel::squirrel: :smirk: With Intel’s marketing might thrown into the Edison campaign, it’s tough to tell whether the user base is expansive or Intel merely wishes it were. Once the device was set up, it proved stable.

Developer Ergonomics, Ease and Flexibility

We found we had a natural preference for platforms with simple developer ergonomics. The faster we could jump in, developing code in familiar ways, the faster we felt comfortable and satisfied with the device. Web developers are accustomed to simplicity in development environments: a text editor, terminal commands. This runs counter to some platforms’ proprietary IDEs and workflows. In most cases, it’s possible to circumvent the promoted IDEs and install different OSes. But those platforms that made this easy out-of-the box get higher marks here.

Ratings:

  • :smiley: : Comfortable for JavaScript-savvy web devs, especially Node.js folks
  • :neutral_face: : A few things might be outside of comfort zones or frustrating
  • :confused: : Development requires deeper experience or tenacity
SBC Options for Development Ease and Flexibility of Development Notes
Kinoma Element :zap: :neutral_face: Though it is possible to control and deploy to an Element using a CLI, we found it a bit alpha for our pursuits. We ended up using a text editor to write code and the IDE to deploy it. It runs FreeRTOS; its resources are too limited for full-blown Linux (which is fine—that’s its niche). On the up side: code deploys are fast.
Samsung ARTIK 5 :zap::zap::zap: :confused: With the ARTIK 5, it’s possible to do almost anything. But you’re going to have to figure out how.
Raspberry Pi 3 :zap::zap::zap: :smiley: Raspbian Linux is easier to use than many distributions (and is well-supported) and the sky is the relative limit as to how you can approach development. Savvy and want to put a different Linux distribution on it? Have at!
Tessel 2 :zap: :smiley: The Tessel 2 happens to support a workflow quite familiar to web developers: CLI-controlled, Node.js stuff. However, it’s really the only reasonable way to develop for a Tessel. And you’ll be writing JavaScript (though early support for Rust is emerging). It runs an OpenWRT-based Linux. Code deploys can be a bit slow.
Intel Edison :zap::zap: :smiley: There are numerous ways to get things done using the Edison—the Yocto Linux is reasonably straightfoward to work with.