IoT: Hardware/software engineering for everyone -

IoT: Hardware/software engineering for everyone


Not too long ago, the idea of open source was synonymous with “free,” because, of course, there is no upfront cost involved. That perception was successfully realigned, through education, towards “liberty,” the freedom to use the resource without cost.

Open-source software

Open-source software

The distinction is important because, in order for open source to continue to grow, it requires those benefiting from it to contribute back to the project in some way — an action that clearly involves a level of effort and therefore contains an element of cost.

The availability of open-source software and, more recently, hardware targeting embedded applications means that access to high-quality engineering resources has never been greater.

The emergence of open-source development platforms based on popular microprocessors, developed and maintained by dedicated volunteers, has effectively raised the level of abstraction to a point where nonexperts can now use these platforms to turn their own abstract concepts into real products.

The communities that surround these platforms provide a wealth of informal support, encouraging people who may have never considered a career in engineering to get their hands on real hardware and make real “things” that can change lives. This “maker” spirit is fuelling new trends in technology and will play a major role in the Internet of Things (IoT).

The rationale behind that statement is simple; there just aren't enough qualified engineers in the world to meet the expected demand for IoT-enabled devices.

Put another way, the imagination of people who just “get” the possibilities offered by a more connected world will far exceed the capacity of developers to create new products, and once inspired, it's really hard to stop people demanding more.

This is where open source comes into play. Creating platforms that are simple to obtain, easy to use, and intended to be modified allows almost anyone to enable their wildest dreams to become reality.

The range of current open-source projects is staggering and stems from an enterprise world where the rapid expansion of the Internet almost relied on a more open approach to programming and operating systems.

Perhaps the most influential person in those early years was Richard Stallman, who founded the Free Software Foundation and launched the GNU Project in 1983, as well as developing the GNU General Public License framework under which much of the open-source IP available is now distributed.

It took much longer for open source to filter down to the embedded domain, but the influence of Linux and its many derivatives cannot be understated.

However, not all embedded projects require a network-aware OS such as Linux and a high-performance processor; the majority of embedded devices still have a microcontroller at their heart, and there is a growing adoption of open-source embedded operating systems such as FreeRTOS and eCos, supporting popular architectures like AVR and ARM Cortex-M. It is also here where open-source hardware is now really making its mark, using these and other leading 16- and 32-bit microcontrollers.

Open-source fundamentals
While the very nature of open source implies no limitations, the ethos behind it is the power of collaboration. And to this end, anything released under an open-source license will normally require the developer to make available all the design files necessary to replicate the design at no charge.

Commercially, this doesn't preclude the sale of products based on open-source IP, and while the consumer sector has enjoyed the benefits of open-source software for many years, the use of open-source hardware in end products is less well established.

But thanks to some early pioneers, there are now several thriving communities based on open-source hardware targeting embedded applications.

Perhaps the best known is Arduino, which comprises both hardware and software.

Arduino board

Arduino board

In fact, there is even an open-source real-time operating system targeting this platform, called DuinOS, which is itself based on FreeRTOS, perfectly illustrating the power, flexibility, and extensibility of open source.

To read more of this external content and to leave a comment, go to: “Internet of Things: Engineering for Everyone?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.