A couple of years ago, I was pondering my 100th Birthday, which will fall -- somewhat inconveniently -- on a Tuesday in 2057 (see May 29, 2057 -- Mark the Date!). As part of my ruminations and cogitations, I mentioned that, as we have three Embedded Systems Conferences (ESCs) a year, and as I typically present two or three papers at each ESC, this means I will have somewhere between 256 and 384 new sessions to prepare before my 100th Birthday arrives.
Since I wrote those words, I have indeed presented two or three papers at each of the ESCs between then and now. In fact, I just realized that we now have only a few weeks to prepare for this year's ESC Boston , which will take place May 3-4, 2017. Give me strength. I'm too young for all this excitement.
One of my presentations is going to be on the current state of play with regard to my Bodacious AI (artificial intelligence) Brain . As you'll see in the below video, I'm still at the early stages of this project.
The idea is that the Bodacious Brain will be presented in a domed glass cylinder. This will be mounted on a Steampunk-esque hand-carved wooden base that's inlaid with brass and loaded with a battery of sensors that can detect sound, light, movement, and so forth.
In the case of the sound sensors, I'm not interested in a simple audio trigger. Instead, I'm thinking of equipping the base with six microphones providing omnidirectional "hearing" so the brain can determine the directions from whence sounds originate and respond accordingly.
Processed signals from all the sensors will be fed into the brain itself, which will be composed from hundreds of "neurons" arranged in a 3D matrix. I was originally considering a regular array, but I'm now tending toward a more higgledy-piggledy (random) arrangement.
Each neuron will have some sort of processing element coupled with a tri-color LED to reflect its current state. The neurons will accept input signals from surrounding neurons (or from the external sensors), look at those signals and decide what to do with them, and then feed response signals back into the matrix.
The processor for each neuron will be mounted on a little breakout board, but these will be the only boards in the system, because they and any other components will be "air-wired" to each other.
I'm currently pondering what to use as the neural processing elements themselves. Originally, I’d been thinking about using the same 8-bit Atmel MCU that's used to power the Arduino Nano. In addition to the fact that I'm familiar with the Arduino and its IDE, I also have about 25 of these little Nano-scamps here in my office that I could use to prototype with.
Another alternative would be to use a PSoC (programmable System-on-Chip) from Cypress Semiconductor. In addition to an 8-bit or 16-bit MCU, these little rascals boast a block of programmable digital fabric and a block of programmable analog fabric. They also have an intuitive drag-and-drop GUI that