Engineering success in a culture without rules
Mark Patrick of Mouser Electronics explains that open source hardware has democratised high technology, empowering those with creative goals to bypass traditional engineering barriers and start work directly on bringing inventive new concepts to fruition. In such a completely free environment, a trusted partner can make the difference between completion and confusion.
So, what is open source hardware? The open source philosophy has become firmly entrenched, not only among the maker community comprising enthusiasts and hobbyists, but also among professional engineers. Indeed, many engineers today may have found their calling after starting as young makers. The open source culture embraces affordable tools and hardware, promotes accessibility and ease of use. Through this it helps individuals to try out fresh ideas quickly and encourages peer interaction, as well as providing the freedom to modify and improve code or hardware to sustain the pace of progress.
Partly enabled by the success of open source software, such as popular embedded Linux distributions, open source hardware is a burgeoning field that puts suitable platforms into creative hands. Application developers can thus get started quickly without the support of an extensive team of hardware engineers, while those with ideas for making things can configure and modify - drawing on online software resources to bring their creations to life. As a generic term, ‘open source hardware’ can mean many things to many people. A detailed discussion can be found here at the opensource.com website.
Typically, open source hardware in the form of processor or microcontroller boards, expansion boards and modules are offered at low prices that encourage designers to get involved. Other resources such as software libraries, code examples and development tools are usually available free of charge under permissive licenses.
Major open source ecosystems
One of the most widely recognised open source ecosystems is Arduino. Users can choose from entry level offerings, such as the Uno, Leonardo or 101 boards. The 101 board is based on the low power Intel Curie module, and features an accelerometer, gyroscope and Bluetooth Smart connectivity - making it a good candidate for developing IoT devices. Projects that require extra processing power or extended on-board features can take advantage of Arduino boards such as the Mega, Zero or Due, which provide advanced features and faster processors. The Arduino Due is the first board in this ecosystem to feature a 32-bit ARM Cortex-M microcontroller.
Further functionality, such as a motor driver, USB interface, relays or an LCD screen, can be added using expansion boards (or shields). The Arduino shield concept has become so successful that it is widely adopted by third party shield vendors and other baseboard manufacturers. The Arduino ecosystem also contains IoT focused boards that feature built-in connectivity and can be further extended via WiFi, Ethernet or GSM shields.
Adafruit is one of the pioneers of the open source movement, and has a broad range of development boards and breakout boards focused on power efficiency and connectivity for applications like wearable electronics and IoT devices. Small and lightweight boards such as the communication oriented Feather and the wearable electronics targeted Flora are based on the Atmega32U4 processor and can be used with convenient development tools - like the Arduino IDE. Step-by-step guidance online helps users get started, including support for Windows developers to install the necessary drivers.
The Beagle ecosystem contains a variety of boards, including the original BeagleBone and later BeagleBone Black - both of which provide powerful processing capabilities by featuring a Texas Instruments Sitara ARM Cortex-A8 processor running at 720MHz and 1GHz respectively. These boards have a compact form factor, measuring 86mm x 53mm, and their functionality can be expanded in a similar way to Arduino, using function boards called Capes. Capes are produced by a variety of third party manufacturers, and a list is available online.
The BeagleBoard series now extends up to the BeagleBoard X-15 (introduced this year), which brings open source development to high performance embedded applications such as robots and media devices. It features a Sitara dual-core ARM Cortex-A15 processor with 2GB of DDR3 DRAM and 4GB of on-board Flash memory.
Whereas the Arduino, Adafruit and Beagle Board ecosystems are conceived and managed by independent organisations, the LaunchPad from Texas Instruments demonstrates how chip vendors themselves are now adopting open source principles to broaden access and encourage design starts using their own silicon. There are more than 20 development kits in this series, and users can choose from a variety of the company’s microcontrollers - including the low power MSP430, the high performing C2000 family, or the Hercules devices for use in fields such as industrial automation, medical equipment, power generation, automotive or aerospace.
The MSP430-based boards are optimised for battery powered or battery-less projects (IoT devices, etc.), while the C2000-based boards (with features like real time performance, DSP extensions, embedded motor control software and dual-core processing) are targeted at control, automation and power electronics applications. BoosterPack plug-in modules are the way in which the functionality of LaunchPad boards can be extended, with more than 80 available from Texas Instruments and third party manufacturers.
Working with the hardware
Open source hardware is quintessentially easy to use, offering plug-in convenience and mix-and-match flexibility within a given ecosystem. Users do, however, need to ensure that any expansion boards are compatible with their baseboard. Arduino boards, for example, are available in various form factors - boards like the Uno, 101 and Zero are 68x53mm, while the Due and Mega boards are 101x53mm to accommodate more advanced on-board features.
More importantly, users choosing expansion shields should be sure to check for compatibility between the I/Os of the baseboard and expansion board. The Due pinout is compatible with the Arduino 1.0 specification, but can only work with shields that operate at 3.3V. The Arduino 101, on the other hand, uses the Uno rev 3.0 pinout and has 5V-tolerant I/Os. In the spirit of open source, users often help themselves and each other. The pinout diagram (click here) for Arduino Uno was published as the result of conversations on forum.arduino.cc.
Texas Instruments provides an online BoosterPack Checker for its LaunchPad ecosystem. The checker helps users verify that the pack they want is suitable for the board they are using, and save their information for later reference. In addition, the expansion pin assignments for any board can be checked manually by selecting the required board and hovering over each pin number. There is also provision for third party BoosterPack makers to add the relevant information about their packs.
Access to tools and software
In keeping with the open source philosophy, there are few constraints when it comes to developing software for any application. Arduino IDE has become a popular development environment, which can be downloaded free of charge. Developers employing BeagleBoard or Adafruit hardware (such as the Atmega32U4-based Feather or Flora mentioned earlier) can rely on Arduino IDE for their projects. The BeagleBoard BoneScript library builds on Arduino and online environments, and promises to further simplify Linux application development.
The Launchpad ecosystem presents a choice of IDEs that support various coding styles, including Arduino-like coding with the Energia IDE. Alternatively, CCS Cloud provides a browser-based environment for users to edit, compile, Flash and debug code online, or users can choose the full featured, Eclipse-based Code Composer Studio IDE. In addition, the SimpleLink microcontroller software development kit (SDK) enables users to re-use code and move freely between microcontroller variants.
The nature of open source means a huge variety of freely usable code is available online, at official forums, code aggregators such as github and independent online communities. Navigating these resources and finding information quickly is, arguably, the toughest aspect of open source development.
Mouser’s dedicated open source pages enable developers to overcome the challenges associated with choosing hardware, getting started and finding support/resources needed to ensure successful project completion. These pages are regularly updated with helpful how-to videos - including unboxing, ecosystem guides and setup demonstrations. This trusted hub not only provides access to relevant information from product manufacturers, it also incorporates reliable signposts to wikis and forums, documentation, all-important PCB files, schematics and software (including bootloaders and IDEs).
Open source hardware can help both independent developers and professional technology companies by providing them with a flexible, customisable platform that will accelerate application development. Plentiful resources are available online, through manufacturers and open source communities, giving access to sample code, software-development tips and hardware optimisation. Mouser, through its own dedicated online space, acts as an aggregator of open source design know-how. This means that users can quickly find the resources they need and filter the information available, bringing valuable efficiency to the freedom created by the open source movement.