Arduino Development Setup

Time to learn how to program an Arduino! How hard can it be? In my early years I was involved in real-time process control and embedded controllers. I even created a patent for weighing garbage. So this was familiar ground, just repackaged and modernized for the hobby crowd. Bonus! Makes my life easier.

The main attraction with the Arduino world was multiple models of boards that all shared the same base functionality and development tools. For prototyping I purchased an Arduino Uno. It is designed to be the hobby starter board. It is. Good stuff.

Next step was to prove that I could make the Uno do something special. All I needed was an IDE and I would be off to the races. Simple.

But I got confused by a shiny pebble distraction. My web searches turned up an Arduino based software oscilloscope. Awesome. I may need one of those. Off I went and downloaded a bunch of stuff, figured out it was "too new" for the OS on my old laptop that I had dragged out of the closest for this project. So I reverted to older software, finally got it working and THEN discovered I was playing with Processing not Arduino. Oops.

Start over.

This time I grabbed the proper IDE and was off to the races in a few minutes. It was advertised as Eclipse based so I was expecting a plugin that I could add to one of my existing Eclipse IDEs. Not so. It is a standalone app built on Eclipse. Not an a plugin, it provides its own look and feel and has lost a bunch of features that I was used to. Not perfect. But workable.

The UNO IDE provided a library of sample "sketches" that I was able to download and exercise on my UNO board. The simplest demonstration of my new found power was to hack the Blink example. I made an LED flash differently. I was also able to display debugging output to a monitor window. I was elated! Upon reflection, this accomplishment was trivial when compared to the task ahead of me.

I also had to take care of some housekeeping issues. After creating a series of unique files for each custom version of Blink I realized I really needed my standard IDE ecosystem that the UNO IDE seemed to exclude. I needed a proper source code control system. A workable compromise was to use a copy-paste transfer from UNO IDE into my Eclipse CDT tool so that I had standard source code control (SVN for this project) and other advanced IDE features like code formatting and cross file search.

Now it was time to get to the business at hand: hook my Arduino to my Canon G16...