Building a Bodacious AI Brain

This Steampunk-like project is loaded with a battery of sensors that can detect sound, light, movement, and so forth.

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


Jerald Cogswell's picture
In my reading and experimenting with detecting sound direction (an I have used the PSoC 5LP for this purpose) I find that time of arrival is a poor way of detection unless the ambient noise is almost zero and there is a minimum amount of room echo. I used the PSoC's multiplexed ADC and ran the signals through a FIR filter and time aligned the multiplexed signals. Results for me have been poor and I am thinking I need to procure a GPU, perhaps an NVIDIA Jetson TK2 using a neural network.

Jerald Cogswell's picture
Continuing my comment, what have your results been? What would be interesting is a brain that can mimic the "cocktail party effect" whereby on can recognize the voice of one's spouse amid many other voices in the room. I have done much reading on sound direction detection and it is not a trivial problem. It takes some serious knowledge of Digital Signal Processing.

Jerald Cogswell's picture
Time-of-arrival method for direction detection might work for a finger snap but direction of music or voice is a more complex problem. I tried to use delay between amplitude peaks in the stream but met with no success.

Add new comment

By submitting this form, you accept the Mollom privacy policy.