Bob’s new brain
Brain sugery is fully underway at Digit as we start to begin porting Bobs old AT-MEGA based brain, to a sparkly new OMAP brain.
Those of you who’ll remember Bob, will know him as a desk lamp, reactive to human interaction, extending when he’s happy, and slouching when bad. Now he’s come of his shelf in the back room, and lies naked and exposed, waiting for his brain capacity to be increased by several folds. One of the main reasons for porting Bob from its Arduino prototype board is to reduce the surrounding technology that is required to drive him and give him additional functionality . The actual firmware on Bob merely provides a serial link and wrapper interface, allowing externally hosted applications to shunt data to him over a COM port. These applications have been based around Flash and Processing in the past, however with the increasing availability of small, sbc (single board computer) devices, it made sense to wrap up all this functionality on board Bob itself, decoupling him from his COM port crutch. It also gives us a lot more possibilities with what we can do with Bob, not only in terms of communication, but functionality as well.

* Not my hand…
For Bobs brain, we’ve gone for a Beaglebone. Now armed to the teeth with 700mHz of processing power and 256MB of RAM, he is capable of performing as well as a low end desktop PC. On board of Bob (the Beagleboard) is a nicely integrated Node.JS distribution, which allows for integration with the systems on board GPIO pins, timers, UART, I2C and so on…. and his USB COM port
I am a massive fan of Node.JS and with a quick copy and paste, a legacy socket server I have previously written was up, listening and setting GPIO’s high and low. Some of the linguistic recognition software that was previously written for Bob can easily be ported to JS to run on top of the server, allowing him to to make his own requests to the interwebz/IRC allowing for new integration with the classics…. Twitter, FB, 4Chan?… etc… to be added.
On idea we’ve had for Bob is integrating a C library that utilises OpenCV and image processing techniques to capture human facial expressions from a web cam (http://sourceforge.net/projects/mptbox/) allowing him to communicate and detect a users emotion in a more natural way.