Controlling TiM LED Matrix boards with Arduino Uno

I have a TiM LED board from my helpful maker friends at Wyolum to play with, and was wondering what cool application I could make out of it. I was thinking of games, animations and the like, and started to put things together, just to test waters and see what it would look like.

Well, first roadbump. There were a couple of things missing. They weren’t so big as to cause major inconvenience, but it definitely would help visual applications if I added them. I am talking about row manipulations, allowing us to manipulate the board as a whole (or a collection of rows) , rather than as individual pixels.

Well, having had some experience with programmable RGB LED strips before (though those were LPD8806 based, not WS2811 based), I quickly added the helper methods, and put together a quick sketch using the ever-so-useful Arduino Uno. I made a quick video of it, I am going to keep playing with it for a while, something cooler just might be on it’s way ; )

Here is the github link to the sketch and the library :

And here is the video :

Physical Integrity

Software can be tested. Test cases can be supplied, performance can be measusred and the output verified. In open-source software, the code can also be read and one can understand the thought and techniques and other intricacies and decisions that went behind making that piece of software. In other words, the entire body and soul of the product is out there in front of you.

All about coffeeThe same can be known about coffee, if you put in the effort. I recently came across an image that expresses exactly that. You can know where the coffee originated, the processes it went through, the people involved and other details. The complete life of the product (though to many people coffee is more than just a product, more like a piece of art) can be put in front of you, the user, the consumer, anyone who deigns to ask.

Why not with hardware ? And when I say hardware, I don’t mean electronics. Sure, hardware, electronic or otherwise can be “tested” for particular things. Stresses, strains, temperature responses, resistances, brittleness, opacity and a ton of other things can be “tested”. Electronic goods which are assembled have QR codes on every major component in them, but they don’t tell you where they were made, what processes went into making it and the like.

I can understand that there is the “too much information” argument, and about the usefulness of it. But I liken this idea to that of a “physical MD5 checksum”. There is an “MD5” checksum to check the integrity of code, to see if the product as it was packaged and supposed to be. Having a physical MD5 checksum, could open up quite a few possibilities.

– You could actually be able to check if things actually are what they claim to be. With the advent of 3D printing, this should be a pretty useful testing probe.

– You could distinguish your “Made in Taiwan” from “Made in Korea”. Win for activism and awareness, not such a pleasant thought for corporates and governments.

– You could know how your product is made, where it is made, if the product you got is the one you paid for or one with a “cheaper / less reliable / more hazardous” component

– You could actually know if and how your Apple product is worth the “premium” that you pay for it over other alternatives, without having to rely on marketing content manufactured for you by any company

There is quite an obvious con too. Manufacturing secrets and processes could be revealed, which in most cases are patented trade secrets and often minor things are differentiators between products, and wouldn’t do well to be revealed. But then, this entire idea is about accountability and openness, so I guess there are decisions and trade-offs that would need to be made.

One more disadvantage would arise from having too much information. Knowing too much and having too many things to choose from, can paralyze you. Nevertheless, choices can be broken down, information can be prioritized, and made manageable. There are complete industries and professions that do that. After all, where would we have been if we had not accepted use of fire because it could burn if improperly used ?

P.S. I hereby certify that this entire thought was not influenced by any sci-fi movies, but by the simple question I had when I was in a supposedly career-deciding examination – What if my food or drink which was instructed to be left unprotected in a common waiting area was tampered with ? There should be a checksum for that.

P.P.S. Feel free to start a discussion with me by dropping me an email 😉

Open source software you can pay for

Before contributing code as a part of Google Summer of Code (twice), I used to wonder how open source worked. How could entire organisations, maintaining huge operating systems and other very popular software and systems keep running if they released their code out in the open, so to speak ? How could developers afford to pour in months of hard work into countless lines of code, and then let it all out there, for everyone to use, modify,share as they please ? I wasn’t skeptical, just immensely curious.

A few years down the line, I have a slightly better idea. Organisations accept donations, community-built software often gets built cheaper and quicker than developing commercially, using open sourced platforms in proprietary systems is not uncommon, and the like. As a part of Google Summer of Code, I (and every student developer) was paid a stipend, sort of as a compensation. After all, bills need to be paid.

Another approach I have come across, interestingly, is the “Buy me a beer” concept, which is now seemingly dead. The idea is, put in a “cool” way, that I need beer or coffee to keep on putting in those hours to make the code better for you, so please pay for a beer or coffee so I can work on it a little bit longer. This, of course, also depends on whether your code is good enough for someone to want you to continue developing it further.

Almost all my code I have developed so far is open, but I admit, almost none (except my GSoC contributions) are in substantial use. But as is habit, I found and wrote more code to automate my work that extra bit further. Where is this going ? Wait for a moment and see 🙂

I have a photo-log, a collection of photos from two and a half years, documenting my life and travels over this time. I do not mean occassional albums, but regular pictures of people, places, things, activities. It amounts to 66 GB including videos and pictures. I already had written myself a tool to help me organise my collection better, but when Flickr announced the recent largesse of 1TB for everyone, I thought this was a great solution to backup my photos and share them. So I came across a script to bulk-manage my uploads, and modified it substantially to suit my purpose. Then I thought to myself, there must be a lot of people with needs and thoughts similar to mine, hoping to leverage the extra space. I am sure my script would be pretty useful for them. I would love to add features to it too, but I have a full time job as well. And then the concept of “buy me a beer” and Instamojo, a startup my friends are working on came to mind. That’s when I decided to experiment with “selling” code (the difference , of course is, that I am not selling the “code”, but documentation, tips and hacks to better leverage the code instead), though in a style similar to a performer who lets you pay if you wish to (and my friends at Instamojo tell me however-much-you-wish-to will be possible soon).

Do use the script, and buy me a coffee, if you think it helped you. You can get the script here : . I don’t need to make much money out of it, but it would be a nice incentive to keep going. Also, I’d like to see how many people find it useful, and how many like it to the extent of paying for something they could have for free 🙂 And of course, the coffee would help me stay awake ! Cheers !