A lot has happened on the Keyboard project since I last posted. Let’s get you up to speed. After etching the TLC boards in the last post, we drilled holes for the components and began mounting them. It quickly became apparent that the boards were of less quality than they seemed. The traces were very weak. We did a lot of experimenting with various types of transfer paper as well as heat and time settings, however, in spite of our best efforts, signal paths were often broken and the weaker traces still behaved sporadically. As the pile of “hack room wall art” grew, it became apparent that we needed to find an alternative solution.
Exhausted with the hardware, we spent some time getting friendly with the software and the propeller platform. It wasn’t long before we realized that the SPIN language was not as dynamic or expressive as we would have liked. Having 8 logical processors was a lot of fun, but the language to control and communicate between them felt very awkward. The success of this project depends heavily on the ability to perform lots of floating or fixed point math. The propeller had a hard time with this, as it required an extra cog/processor each time you asked it to perform a floating/fixed point operation.
As the summer season greeted us with open arms, we left the fatigue of the project behind us. While we were on hiatus, SparkFun released a TLC Breakout Board. This was the design we should have used for our TLC boards from day one. Since we already have all of the PTH components, we will not be purchasing SparkFuns’ boards. Instead, we intend on designing our own breakout boards that are compatible with our PTH components. By designing a small repeatable breakout board, ordering professional circuit boards from a shop like batchpcb or pcb-pool becomes a financially viable option.
Also during our break, the chipKIT was released. This amazing little board is a mostly arduino-compatible μC that sports a full 32-bit processor running at 80MHz. Floating and fixed point operations are hugely benefited by the 32-bit processor. It’s clear that the board is still in its infancy by the effort required to get a simple sketch compiled and loaded on Ubuntu x64. Still, I have high hopes for this board. I think it will make an excellent addition to the extended arduino family once it gets past its initial growing pains.
The image below outlines the current high level design. The chipKIT will accept inputs from analog controls and MIDI and drive a series of daisy-chained TLC breakout boards which, in turn, will drive our LED strips. While we aren’t moving at the pace we once were, the keyboard project is still very much alive. Right now I have to go learn CadSoft Eagle and get these TLC breakout boards designed and ordered. Keep an eye on colinharrington.net for a post on how to get mpide, the chipKIT development software, running on Ubuntu x64.