At the beginning of a new project the first phase of the HW development is creating a design that can prove feasibility of our idea. It is called proof of concept (PoC). After defining the optimal SoC/FPGA/CPLD/MCU you need to find a ready to use board with the required interfaces and feature set. There are multiple factors that affecting which development platform is best fitting to a project. Let’s see the available options:
Development kit from SoC manufacturer.
Usually the supplier devkits are the very first boards that are available to start working on an SoC after its release so if you are in a hurry to get a hand on the newest technology probably this is your choice. The Board Support Package (BSP) is usually containing the most up to date packages and most probably this is the source of all the third party BSPs. The disadvantage of these boards that every socket is coming from the same semiconductor company as the SoC itself. It does not matter if there is a cheaper or better solution, they will promote their product anyway. Developers are usually doing a hard copy-paste of all thedesign section that are working as it is. So this can lead to a non-optimized BOM.
System on Module (SoM) development kit
If the project quantity is too low for custom board design it is required to choose a partially ready solution to save the designing
cost. SoM
is a good alternative. The development can be started on the SoM itself by attaching it on the manufacturer’s evaluation carrier board.
The BSP provided for the board is usually ported from the SoC supplier’s BSP after smaller customization and optimization for the kit. The provided support package possibly contains closed source binaries that are not editable by the developer. Support models can differ supplier to supplier offering different services and cost levels.
Community Boards
In case the core part is not finalized yet, and it is necessary to test multiple SoCs without major change in the ecosystem the best choice is Community Board.
It has a massive supporting network with various available sample projects and applications. If a developer blocked by an issue it is most probably notthe first occurrence and most probably there are already a fix for that. It also comes with an ecosystem that provides standard
form factor, reusable, scalable, modular development environment. Opensource SW packages are a key too keep the cost down and the design customizable.
Arrow electronics has recognized the possibilities in the maker community and decided to be a part of the most powerful community board organization, the 96Boards by Linaro:
“96Boards is a range of hardware specifications created by Linaro to make the latest ARM-based processors available to developers at a reasonable cost. The specifications are open and define a standard board layout for SoC-agnostic (processor independent) development platforms that can be used by software application, hardware device, kernel and other system software developers. Boards produced to the 96Boards specifications are suitable for rapid prototyping, hobbyist projects or incorporation into new systems for a wide range of applications including desktop and laptop computing, the digital home, digital signage, point of sale (POS), high-end audio, robotics and drones, artificial intelligence, virtual reality, IoT and industrial control.
Standardized expansion buses for peripheral I/O have led to a wide range of compatible add-on mezzanine boards that will work across a variety of 96Boards products. Users have access to a wide range of boards with different features at various price points. In addition, some SoC vendors have announced long term availability of the SoC to encourage their use in products with long life cycles.”
Source: 96Boards.org
Just to show the strength of this ecosystem please see below the list of partners who already joined this community:
There are 4 different form factors that currently supported by the community:
- The Consumer Edition (CE)
- The Enterprise Edition (EE)
- The IoT Edition (IE)
- Mezzanine product line
The Consumer Edition (CE) targets the mobile, embedded and digital home segments. A key design objective is to encourage multiple SoC vendors to build boards to this specification. This is an evolution from previous successful community boards where the external ecosystem is tied to a particular SoC. The 96Boards CE specification is designed to enable an ecosystem to evolve that will support multiple SoCs over a period of years.
There are two Form factors: Standard CE and Extended CE:
The Enterprise Edition (EE) targets the networking and server segments. The fundamentals of this specification are the same as in case of the CE spec. The additional interfaces and the more board place is coming from the target application differences. These boards are populated with high speed interfaces like SATA, Gigabit Ethernet, PCI-e, USB3 etc…
The 96Boards IoT Edition (IE) platform is designed to support development in the Internet of Things (IoT) space. The 96Boards IE hardware platform key features are low cost and small footprint suitable for edge device prototyping as well as other embedded products with size and cost constraints. Supplier independent hardware implementation supporting the ARM Cortex-A/R/M SoCs
Mezzanine product line lets you expand your Consumer Edition or Enterprise Edition 96Boards with new interfaces for IoT, industrial control, and other embedded applications.
Such as: Security, Camera, NB-IOT, Sensors, Fingerprint, Adapterboard, PoE and many more…
Find Out more: https://www.arrow.com/en/campaigns/arrow-96-boards