The STEMpunk Project: Adventures With The Sparkfun Inventor’s Kit

The electronics module of The STEMpunk Project began early this week when I excitedly tore open my Sparkfun Inventor’s Kit (SIK) and plugged the Redboard into my computer.  The instructions for installing and configuring the SIK have six parts: download the Arduino IDE appropriate to your OS (OSx Yosemite 10.10.5, in my case), connect the RedBoard to the computer via the supplied USB cable, install the Arduino FTDI drivers, uninstall the native FTDI VCP drivers if you’re running OSx Yosemite (10.9) or later, select the correct board and serial port, and then download the SIK code from the supplied URL.

 

All seemed well when I built out the first project circuit — just a simple blinking LED — but when I tried to upload the code for the second circuit to the Redboard I discovered that the Arduino IDE I was using simply couldn’t interface with it.

 

There were three places where I ran into trouble. The first and biggest was getting the right Arduino IDE installed. For whatever reason the latest install, v. 1.6.9, just doesn’t work because it just can’t upload the code to the RedBoard. I tried uninstalling it and installing 1.6.8 and had no better luck. Finally, I opted to install 1.6.5, the last known fully-functional version, which worked.

 

During each of these installs I re-ran the FTDI driver install and the uninstall script for the Mac FTDI drivers. It seemed like sometimes when I skipped this step the IDE couldn’t see the SIK code file, though I have no idea why.

 

When I finally installed IDE v. 1.6.5 and re-installed the drivers I ran into an issue with the USB port. Evidently v. 1.6.5 doesn’t recognize the same ports, because I had to go in and select a different one. Further, for some reason the IDE wouldn’t recognize my SIK code file either; when I re-downloaded the exact same file and I tried to upload the SIK code for the second circuit, everything worked.

 

I mention all this because throughout the process I repeatedly found myself getting annoyed that I even had to go through this much effort. Hadn’t I paid money for this equipment? Shouldn’t it work out of the box?

 

Then I realized that I was being silly, for two reasons. First, a lot of the software upon which the SIK relies is free, open source, and actually very good. Unless I can produce something better then I have no right to complain about the fact that I have to spend a morning or two getting it to work. Second, even with million-dollar programs and state-of-the-art computers, troubleshooting is a fact of life[1]. The STEMpunk Project is about building serious technical skills, and if I loathe the process of tinkering with hardware and software then I stand no chance of succeeding.

 

But once I did get the SIK working I knocked out all sixteen project circuits in about three days! I realize they won’t mean much out of context, but I took some pictures as I went along:

 

This is circuit one, just a simple little LED light:

 

SIK_1

 

Circuit two contains a potentiometer — basically a knob for adjusting voltage — which gave me the power to brighten or dim the LED:

 

SIK_2

 

Circuit eight powered a small servo motor with a propeller attached:

 

SIK_8

 

Circuit fifteen displayed a ‘hello world’ message on the tiny LCD screen:

 

SIK_15

 

The final circuit, number sixteen, coded a simple memory game where I had to use the buttons to replay a pattern produced by the LED lights:

 

SIK_16
***
[1] One of my friends who already has a lot of technical skill told me that my phrasing here wasn’t strong enough. Troubleshooting isn’t just a ‘fact of life’, it’s the core technical skill.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s