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
|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)|
|Platform||USB Peripheral||SDCard||HDMI||Audio Out||Microphone||Other Interfaces|
|Samsung ARTIK 5||1||Yes||–||Yes||Yes||MIPI DSI (display), MIPI CSI (camera)|
|Raspberry Pi 3||4||Yes||Yes||Yes||–||??|
|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.
Note: All platforms in this review support serial communication over USB.
|Platform||WiFi 802.11||Ethernet||Bluetooth||Bluetooth LE||Other|
|Samsung ARTIK 5||a/b/g/n/ac||Yes||Yes||Yes||ZigBee, Z-Wave, SigFox|
|Raspberry Pi 3||n||Yes||Yes||Yes||–|
|Intel Edison + Arduino||a/b/g/n||Yes||No||Yes||–|
|Platform||Total GPIO Pins||Analog In (ADCs)||PWM||I2C||SPI||UART|
|Samsung ARTIK 5||47**||2***||2||3||2||2|
|Raspberry Pi 3||26†||0||4||2||2||1|
|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.
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.
- : oh so quick
- : Less than an hour
- : More than an hour, or required waiting on support
- : 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?
- : Easy-peasy
- : A bit of head-scratching
- : Why was that so hard?
|SBC||Setup Time||Setup Ease||Notes|
|Kinoma Element||Much of the Element’s setup time was downtime while waiting for feedback in a support forum.|
|Samsung ARTIK 5||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||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||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||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?
- : Fewer than 16 GPIO available pins
- : More pins. May be lacking support for one or more features
- : So many pins. So much support.
Flexibility of GPIO
OK, so there are pins. How easy are they to use?
- : Working with pins is intuitive
- : Pins are usable, but there may be a quirk or two
- : Pinouts are complicated and/or it’s hard to work with pins
|SBC||GPIO Breadth||GPIO Flexibility and Ease||Notes|
|Kinoma Element||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||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||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||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||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?
- : Not much there in the way of documentation and/or examples
- : A reasonable amount of docs
- : 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.?
- : Not shabby
- : Depends on what you’re looking for
- : Documentation is poorly organized or hard to find
|SBC||Documentation and Example Quantity||Documentation Organization and Clarity||Notes|
|Kinoma Element||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||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||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||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||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?
- : Young or slightly shaky
- : Growing
- : Solid and established
|SBC||Maturity and Adoption||Reliability and Stability||Notes|
|Kinoma Element||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||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||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||This is the second generation of Tessel. It can be tough to debug occasional crashes.|
|Intel Edison||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.
- : A few things might be outside of comfort zones or frustrating
- : Development requires deeper experience or tenacity
|SBC||Options for Development||Ease and Flexibility of Development||Notes|
|Kinoma Element||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||With the ARTIK 5, it’s possible to do almost anything. But you’re going to have to figure out how.|
|Raspberry Pi 3||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!|
|Intel Edison||There are numerous ways to get things done using the Edison—the Yocto Linux is reasonably straightfoward to work with.|