Arduino and Python

Arduino fans take a lot of flack from the “hard core” micro-controller crowd.  The main complaint is that many projects could be accomplished much more simply.  Take “blink” for example.  Why would you use and Arduino to blink an LED when you can accomplish the same with a 555 timer?  This criticism is eerily similar to complaints I’ve heard about the programming language Python.

Now, Python is a well accepted language that has proliferated into every aspect of computation form the Web, to scientific computing, to graphics to … you name it.  But this was not always the case.   I’ve experienced many eye-rolls and many doubters throughout my twelve year experience with Python.  But Python survived them all because of its massive utility.  Programmers are simply more productive with Python and the economics finally won out.  You can do more in less time with Python.

Arduino faces a similar challenge.  It is disruptive to the status quo and enables anyone with even a passing interest to get something working in electronics with no background and very little effort.  With effort, those same people can accomplish amazing things using Arduino.

To say that “Arduino is overkill” misses the point!  It is often a choice between getting something done or not.  The less time something takes, the more you can accomplish.  And, if Arduino is capable of a task then it is the fastest way to get it done (for me at least).

This brings me to à la mode.  If you have not heard, à la mode is an Arduino compatible board that mates with the Raspberry Pi single board computer.  The R. Pi is a computational powerhouse compared to the Arduino, but it lacks the analog interface to interact with the real world that Arduino has.  Better yet the Raspberry Pi à la mode combo will allow me to mix my two favorite programming languages: Python and Arduino!

I am planning to write a program for à la mode that provides an I2C interface to all of the functionality that the à la mode has to offer.  When both sides of the interface are complete, it will be very simple to read and write analog or digital pins, read the real time clock, and get GPS position (optional).

I can’t wait to get my hands on the hardware!

Leave a Reply