Open Source is a compelling idea not only because it means that a solution is available free, but also because open source is rooted in community, sharing, and the minimization of barriers. As applied to open source, the word “free” also means “liberty”.
In this article, we will compare the benefits of open source using examples from two very different universes – microcontroller development and pie – the delicious desert that has innumerable variations thanks to the open source nature of pie recipes.
While microcontroller development isn’t always “easy as pie”, there are lots of similarities to be found. Microcontroller development is made up of source code and files, much like a pie is made up of flour, fruit, sugar, and other ingredients. Microcontroller developers can simply purchase a “closed-source” development tool, just as I can go to the bakery to buy a ready-made pie. In both cases, the preconfigured package might be sufficient. But to some, a solution designed to meet specific needs is much more desirable. And this is where open source becomes appealing.
Open source is a step beyond the nutritional facts and ingredients label on the side of your store-bought pie. It’s all about knowing how the pie is made, thanks to freely available recipes. When an open source recipe is exposed to the right mix of individuals, the community can take innovation into their own hands and iteratively make the pie even more delicious, and the crust more crisp.
A microcontroller developer can learn a lot from the creative and sharing community of bakers. As a developer begins to realize that a black box solution is not always the best one, innovation and creativity becomes much more common. Rather than accepting that a solution works, an open source philosophy pushes developers to also understand why it works, creating the opportunity for improvement.
This flexibility means that developers can tailor existing solutions to optimize for a specific application. While the first pie ever baked was probably delicious, we are fortunate that many recipes are shared and free for modification. What started as apple pie turned into blackberry. Blackberry turned into pecan. And so on, until now there are myriad variations to suit anyone's taste.
Many vendors within the microcontroller industry are becoming more alert to this hunger for customizable solutions in the development community. Open source tools, hardware design files, code examples, and other resources are becoming integral parts of the microcontroller ecosystem.
An example from Texas Instruments
A great example of a complete open source tool chain is the MSP430 microcontroller from Texas Instruments (TI). The MSP430 portfolio is supported by several open source components both from TI and the greater community, ranging from compilers, debuggers, emulation tools and even code examples. This means that not only is the firmware downloaded into the microcontroller open source, but also the development tools used to create them.
As vendors focus on ease-of-use, affordable tools, and new mediums of education, information on microcontroller development and the means to implement development have become more accessible than ever before, spawning a new wave of developers. The demographic of these new developers varies dramatically, ranging from students to hobbyists and even artists.
Because microcontroller developers are communicating, collaborating, and sharing, new ways to integrate embedded processors into our everyday lives are continuously emerging. The recipes for innovation keep getting better and better as new perspectives and ideas are contributed,.
Open source and education
Education is the field where both meanings of “free” when speaking of open source become extremely important. It’s great that students have the liberty to see and modify an open source recipe, and the fact that these recipes are free-of-cost is just as powerful. From elementary schools to universities and beyond, open source tools enable students from all backgrounds to have access to resources that could otherwise be too expensive.
Typically high-cost tools can be made inexpensively and locally thanks to open source design files. My favorite example is the ruler. Rather than pay for a plastic or wooden ruler, teachers and students in financially strapped schools can simply print one out using resources on the Web. All that's needed is a printer and an 8.5 x 11 inch piece of paper, which conveniently fits a 12 inch ruler when printed diagonally.
This same idea applies to electrical engineering tools. One example is the staple of any electrical engineering class – the voltmeter. Rather than spend $20 on a low-end voltmeter, teachers can use low-cost microcontroller development kits, such as the $9.99 MSP430 LaunchPad Evaluation kit, to create their own. Thanks to open source code examples, schematics, and other resources, schools can create four to five voltmeters for the price of one. In addition, free software development tools are available, thanks to open source efforts from both semiconductor vendors and the online community. There are many free and open source code editing software tools available as well. While they may not be as full-featured or highly-optimized as a $2000 integrated development environment (IDE), the free, downloadable open source solution is often good enough.
As the Internet continues to shape our lives in more ways than we had ever imagined, the sharing of ideas, the ease of collaboration, and the growth of open source thinking are at the forefront. Whether it is free as in 'cost' or free as in 'liberty', open source is enabling more people to learn and collaborate… Oh, and we also have the freedom to enjoy more delicious pie.
Adrian Fernandez is a marketing engineer for the MSP430 ultra-low power microcontroller (MCU) group at Texas Instruments. In his role, he is responsible for development tool strategy and outbound marketing for MSP430 MCUs. Adrian holds a B.S. degree in Electrical Engineering from the University of Texas at Austin, concentrating on embedded systems and digital signal processing.