Roll Your Own Microprocessor Project with Arduino

June 10, 2014

Thinking back on my early days as a station engineer, I''m amused at the number of “boxes” that were built by previous engineering staff. Some of them had been in place for 20 years or more. When changes needed to be made, nobody wanted to disturb the mystery boxes and risk shutting down the entire station. Many of those boxes were taken out of service years ago, but anyone that knew about them was long gone.

I remember finding some very elaborate-looking boxes mounted in an old phasor cabinet. I was told never to touch them because they controlled all of the pattern switching. Upon closer inspection we found the wires cut, apparently long ago.

It was remarkable what we could create with a handful of parts, but things became a lot more fun and interesting when General Instruments released the PIC Microcontroller Board in 1985. Later, Microchip Technology released the first PIC (Programmable Intelligent Computer) in the early 1990s. The 16×84 was a single device that contained CPU, ROM and I/O functions. EEPROM technology allowed the chip to be reprogrammed electronically as opposed to the earlier EPROM, which could only be erased through exposure to UV light.

Like all things electronic, PIC microcontrollers have come a long way. They come in a wide selection of power requirements, memory capacity, I/O functions and have far lower power consumption than previous discrete components. They are used in a variety of “mission-critical” commercial and military applications, capable of functioning under a range of environmental conditions.

The biggest challenge was programming these devices. Each type of device required some variant of assembly language in order to program specific applications. There were versatile programmers that could handle the majority of these different chips, but you still needed to have some expertise with the programming command set for the chip you wanted to program.

Around the same time, Parallax introduced the “Basic Stamp.” This was a microcontroller, which could be easily programmed using a modified version of the “Basic” language. Basic stamps were relatively inexpensive and an ideal platform for prototyping small “DIY” projects.

Arduino, A Brief History

In 2005, looking for an alternative to the Basic Stamp, students at the Interactive Design Institute in Ivrea, Italy, produced the first Arduino board. Arduino is an open-source platform that is a combination of other open-source projects, including an electronics prototyping project called “Wiring” and a programming language called Processing.

Arduino Hardware -

The original Arduino hardware is based on the Atmel, 8-bit AVR microcontroller. There are a wide variety of boards and microcontroller options available to suit just about any application. Since Arduino is sold under a Creative Commons Share-Alike (CC-SA) license, you can make changes to the original Arduino hardware or the software code and release it to the public, providing you release it under the same CC-SA license.

- continued on page 2

Perhaps one of the primary features of Arduino boards is that the connectors are laid out in a standard configuration. This allows the stacking of other boards, called “Shields”. There are a number of Shields available that permit the expansion of I/O ports, addition of networking options such as Ethernet, Bluetooth or Wi-fi, display interfaces, and motor control to name a few.

Wiring -

The hardware and programming language are based on an open-source project called “Wiring”. According to their website, “Wiring is an open-source programming framework for microcontrollers. Wiring allows writing cross-platform software to control devices attached to a wide range of microcontroller boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. The framework is thoughtfully created with designers and artists in mind to encourage a community where beginners through experts from around the world share ideas, knowledge and their collective experience. There are thousands of students, artists, designers, researchers, and hobbyists who use Wiring for learning, prototyping, and finished professional work production.”

The Wiring platform consists of the hardware, including microcontroller, and the associated prototype board, as well as the Integrated Development Environment.

Processing -

In 2001, two students from MIT worked to create an open-source programming language and Integrated Development Environment (IDE) that could allow non-programmers to create computer programs through a visual interface. Processing was built on the JAVA language, but uses a simplified approach to writing the code. In keeping with the idea of an open hardware platform that could be developed by non-programmers, Arduino utilizes the processing language for programming the microcontroller. Processing serves as the Arduino Development Environment.

Endless Possibilities

The Arduino project has expanded over the past few years, supporting different microcontroller chip sets, and operating systems. Thanks to the Arduino project, it is easier than ever to create a solution to just about any technical problem.

Because Arduino is open-source, there is a huge amount of information available. There are tutorials that cover everything from getting started if you are new to programming, to designing your own boards and Shields for more advanced applications.

As engineers, we have a natural desire to solve problems. In the past, the solution may have been more complicated than the original problem. Thanks to the Arduino project, there is now a simple, inexpensive, easier and much “cooler” solution to solve pretty much any technical problem in the station. Have fun.

McNamara is president of Applied Wireless, Cape Coral, FL.

Receive regular news and technology updates. Sign up for our free newsletter here.