Arduino: a board and a philosophy

I’ve been working at my new job for over a year and what’s really different from all my previous jobs is the close relation that I have now with hardware.  Of course, programmers use computers, which is primarily “hardware” but most of the hardware I use now is built on the spot.  And meeting all the tech guys that actually handle the hardware (both on the building and programming sides) is really interesting: I can peek into one’s microscope to see the boards up close, ask them questions about things that I never learned in programming classes, about compilers, peripherals and all sorts of hacks …  This got me a little more interested in building my own small electonic projects but I didn’t know where to start.

So one of my colleagues directed me to a fine website called Hack a Day, which, according to him, is a good start for an amateur like me.  They have all sorts of posts for beginners to look into, especially a great article on various development boards to choose from.  I heard a lot about the Arduino board, which claims to be “open-source”.  I got curious and read a little about it.  The site also featured this wonderful documentary on the Arduino: Yes!  Open-source hardware exists and it’s something that falls right into the kind of things I’m interested in. This documentary didn’t just give me some bits of information, it explained to me a philosophy; something, I believe, should always be a part of the art of programming.

Now I haven’t really used one yet, mind you. But this got me really interested on getting one very soon.

You can check out the documentary below (and use full screen) or check out for other viewing / downloading options.

Happy hacking.

I challenge you (as well)

A mrcorey challenge - Tim Coleman: ... and which to burn.
I responded to a little challenge given by mrcorey this week.

You have a band. You need a band name, a title for your first album and an album cover design.
Here’s how to do it:

1 – Go to Wikipedia and hit random. The first random Wikipedia article you get is the name of your band.
2 – Go to and hit random. The last four or five words of the very last quote of the page is the title of your first album.
3 – Go to Flickr and click on “explore the last seven days”. Third picture, no matter what it is, will be your album cover.
4 – Use Gimp or similar ( is a free online photo editor, photoshop is good too) to put it all together.
5 – Post it on your blog along with these instructions, and trackback or link to your post in these comments.

Many thanks to DanielN for his permission to use this image. Here’s a link to the original picture.

QR Fun

I was reading about QR codes lately.  They fascinate me somehow; just like mazes and fractals, they have this esoterical yet recognizable form, but unlike them, they can be much, much more: they store content. Finding QR encoders is easy enough (PhpQrCode works very well).  Since the specs are open (although a thorough explanation of the math behind it goes beyond my comprehension), I guess its easy to implement.  The real problem must be in the decoding procedure.  Since QR codes were meant to be decoded in warehouses using hand-held scanners, physical hurdles like dirt and image quality must be a nightmare to handle.  I found this library called ZXing that gives an impressive array of features.  Written essentially for handhelds, there’s also a C++ port.  Once compiled, the default application does the job of reading QR codes in all image formats.

Now the real fun begins:  In the xkcd book (volume 0), there are 5 QR codes located on the left side of page 100012 (you did notice that it uses a base 3 paging count, did you ?).  I scanned the page and ran it each QR code through the ZXing.  The results ?  Well, let’s just say that Randall is a fan of  Mario Cart on the Wii and he’s being the nice guy he always seems to be. 😉

My next test was really interesting: I have an ash grey T-Shirt with a QR code on the back in crimson color, measuring 3 x 3 inches.  You can guess this was going to be a little more challenging.  Since I don’t have a handheld device, I merely used the camera on my iPod nano to film it and extracted each frame with MPlayer on my PC.  The first films I took were short with awful results, so I decided to take a longer film, zooming in and out, and tilting the camera to minimize the skewing and warping of the images.  This time, I got 106 hits out of 1066 frames, a 10% hit rate which is very good considering that I was randomly moving my camera.  No doubt with a real handheld, I would have gotten more precise hits.

return top