Friday, July 16, 2010

Starting this off with Arduino

It's tempting to begin with a plug for my business, which is really just a commercialized manifestation of my interest in open hardware, but I think that in the name of promoting an even and balanced approach to free culture, I will start with something I am not personally involved with.

The Arduino  is one of the most versatile little microcontrollers I've seen, and it's entirely open-source!  Check out their Hardware page if you're interested in building your own chip from scratch, although that requires some seriously specialized equipment.   If you'd rather, you can purchase an already-made board with a good amount of I/O at the main website, or at MakerShed, which you can access through the MakeZine link on the left of the blog.

The great thing about these little guys is that they're not very expensive, and can be programmed over and over again using the simple language and coding guides provided on the site.  Information on the language itself can be found here.  There are also additional code libraries found here.  For those with some coding skills, your C/C++ skills will be transferable to the Arduino.  If you're totally new to coding, you can get started on the tutorial page by building some of the most basic programs and learning to use the I/O effectively.

Okay.  So you've bought an Arduino, you've messed with it enough, and you feel confident in your skills.  Now why the hell are we even interested in it?

Observe:

Courtesy of Make:Zine Blog (link on left)

Whoa.  Right?  That's just one way you can use this thing.  All he's done is hacked a basic effects pedal distortion knob.  Imagine what you could do by hacking the tone knob?  Or by taking the signal, splitting it, phase-shifting it, and re-combining it (like a phaser, but with programmable parameters)?  With those digital potentiometers and some good ideas, the sky's the limit.

Other uses could be to add this to a guitar's tone circuit, create a synthesizer, or perhaps use the available bluetooth/wireless shield to remotely change parameters via the computer.  I've toyed with the idea of using the digital inputs as a way to build a cheap multimeter for diagnostics purposes.  There have also been demonstrations of oscilloscopes on the cheap:


And the beauty of any of these projects is that if you do other work, like say with light shows, these tools can be quickly adapted to work with other inputs and outputs--it need not be audio.

So you can see--the Arduino is a pretty neat little device with a LOT of awesome uses.  And, because it's entirely open, you are free to develop, copy, and market your designs as much as you please.  The community around this thing has grown tremendously over the last couple years, and many books have been written on it, all available at competitive prices as e-books (non-DRM protected) and in print.

What are your experiences with this thing?  Anything I missed in my quick write-up?
  

2 comments:

  1. Excellent - I have an arduino and love tinkering around with it. The main bummer that I've found is that, for uses related to audio, its speed limits usage to 'lo-fi' scenarios. I really wonder if there will be someone introducing a system like Arduino - that uses a relatively friendly language and well-through out workflow - with a FPGA. That, sir, would float my boat.

    ReplyDelete
  2. Tom, are you referring to just general bandwidth restrictions? I've heard that is an issue as well, although some enterprising users have parallelized them on a single board to try and remove that bottleneck.

    Also, for recording/"hi-fi" purposes, even the highest quality A/D/A converters can barely do their job in real-time and sound "good"...post-processing is almost always an inevitability, and this is why you see very few digital live setups...that sound good. I'd like to see Arduino fill that niche, I think.

    ReplyDelete