Embedded Neural Net Processor - WIP


It all started when a contest proposal derived into a collaboration with an IC company...

The first requirement for the design, was to use the Embedded system as the basis for a general purpose decision making machine, whether you have to evaluate the energy cost/optimization of a specific building configuration, get some insights using monte carlo forecast methodology or infer the human pulse/heart rate using Eulerian Video Magnification, using a webcam or sample video. (based on a working example previously implemented in Matlab)


The second requirement was to be able to use the same device to gain insights/compute information from the user and the environment, in that specific scenario I had some ultrasonic sensors, the camera mentioned earlier and a couple of weird sensors including a galvanic sensor that could be used to infer emotional states based on skin conductance response.


I also wanted to complement the design with retro futuristic visuals using GLSL shaders.


The Finished Design was going to be hosted inside an Origami like sculpture based on the design of the T-800's CPU and Skynet Neural Net processor as seen on the T2 movie. (You can check the rough 3D mockup at the bottom of this page).

 The original case design changed a little bit based on practicality and expandability;

The original case design changed a little bit based on practicality and expandability;

I went for a less minimalistic but more practical design for this stage.


Although I had experience working with all the technologies mentioned + general prototyping tools, specially in the context of interactive art installations and point-of-sale configurations, there were a couple of challenges that I had to sort trough.

-OpenCV and other libraries. I had to recompile libraries & add-ons for the MIPS Architecture.

-I have been lucky to be able to play with MIPS processors in the past, mostly Visual Compositing systems from the 90's. I have nostalgia for vintage devices like N64 and Octane boxes. But I did not have much of experience with MIPS, that was the main motivation and main challenge for me.


(Bonus Tracks + notes)

- I use Xcode for prototyping on IOS and OSX, I look forward to play with flowCloud and integrate it on the control panel app.

- I might be using an external server for some functions, But I would like to try to host the forecasting and the visualization module inside the Ci20, this is not part of the design per se, it's just something that I to want try, It will depend on the time I have to implement it, I anticipate a small shipping delay due to my current location, that is why I'm focusing on technologies that I'm already comfortable with.

- Figure out if I can extend the functionality using Node.Js

- In the future I would like to try to build a small Beowulf cluster.