Though the number and variety of open-source, board-level, usually ARM-based computers are multiplying quickly, there are still a few leading developers and products, which are typically supported by non-profit organizations, user communities, software, blogs, videos, books and other instructional materials. Here are some of the frontrunners:
Arduino is a group of open-source, single-board microcontrollers and kits for building digital, interactive devices that can perform sense and control functions. They're designed and built by many manufacturers, and supported by a project organization and user community. The project's products are distributed as open-source hardware and software, which lets anyone manufacture and distribute Arduino boards and software that are available in preassembled formats or as DIY kits. Arduino designs use different microprocessors and microcontrollers, while their boards have digital and analog I/O pins that interface to expansion boards, called shields, and other circuits for various tasks. The boards have serial communication interfaces, including USB, which are also used for loading programs. Arduinos are usually programmed using C and C++ programming elements. Besides using regular compiler toolchains, the Arduino project provides an integrated development environment (IDE) based on Processing language.
Raspberry Pi is a single-board computer developed by the charitable Raspberry Pi Foundation in the U.K. to help teach basic computer science. All models since the first release in 2012 feature a Broadcom system on a chip (SoC), which includes an ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU). CPU speeds range from 700 MHz to 1.2 GHz for the Pi 3 model, and onboard memory ranges from 256 MB to 1 GB RAM. Secure Digital (SD) cards store operating system and program memory in SDHC or microSDHC sizes. The foundation provides Raspbian, a Debian-based Linux distribution for download, as well as third-party Ubuntu, Windows 10 IOT Core, RISC OS, and specialized media center distributions. It also promotes Python and Scratch as the main programming languages, with support for others. The default firmware is closed-source, while an unofficial open-source is available. Most boards have one to four USB slots, HDMI and composite video output, and a 3.5 mm phono jack for audio. Lower-level output is provided by GPIO pins that support common protocols like I²C. B models have an 8P8C Ethernet port, while the Pi 3 and Pi Zero W have onboard Wi-Fi 802.11n and Bluetooth.
BeagleBoard is a low-power, single-board, open-source computer from Texas Instruments and partners Digi-Key and Newark element14. It was originally developed to demonstrate TI's OMAP3530 SoC, which includes an ARM Cortex-A8 CPU that can run Linux, Minix, FreeBSD, OpenBSD, RISC OS or Symbian programming languages. It and the boards that followed are supported by the non-profit BeagleBoard.org Foundation, which provide education in and promotion of the design and use of open-source software and hardware in embedded computing. Built-in storage and memory are provided through a PoP chip that includes 256 MB of NAND flash memory and 256 MB of RAM. The board uses up to 2 W, and can be powered via a USB connector or a separate 5-V power supply.
The board was followed in 2011 by the BeagleBone development board with a Sitara ARM Cortex-A8 processor running at 720 MHz, 256 MB of RAM, two 46-pin expansion connectors, on-chip Ethernet, a microSD slot, and a USB host port and multipurpose device port that includes low-level serial control and JTAG hardware debug connections, so no JTAG emulator is required. Several BeagleBone expansion boards, or capes, have been released. Up to four can be stacked onto the BeagleBone board at one time. The capes include 7-in. and 3.5-in. LCD touchscreen, DVI-D, Breakout, Breadboard, CANbus, RS-232, battery cape and BeagleBone Black, which increases RAM to 512 MB, the processor clock to 1 GHz, and adds HDMI and 2 GB of eMMC flash memory. BeagleBone Black also ships with Linux kernel 3.8, upgraded from the original BeagleBone's Linux kernel 3.2, allowing the BeagleBone Black to take advantage of Direct Rendering Manager (DRM).
Odroid is a series of handheld, gaming computers from Korea-based, open-source hardware manufacturer Hardkernal that uses the Android OS, and comes in a developer version for creating applications or content, and a full version. Odroid includes source code, schematics and a debugging board. A developer community for Odroid promotes worldwide interaction among its developers and users. Odroid is based on the Samsung S5PC100, and includes a Cortex A8 central processor that runs at 833 Mhz. It has 512 MB of built-in system memory, as well as a microSD card slot and 2-GB removable memory card, which is used as the system area of the kernel and boot loader. Its SDHC card slot has an 8-GB removable memory card for storing data. Odroid also has a 3.5-in., anti-scratch, capacitive touchscreen for high-definition video; ports for USB and battery charging; connector cable and mini-HDMI jack. Software can be added through Android Market or through a market alternative called SlideME.
For more, read our September cover article, Open-source computers arrive for monitoring and control.