These two PCBs will merge into one. We have them separated now for debugging and as it was easier to design this way. The bottom PCB (the smaller one) connects to the RaspberryPi. The top PCB is stacked on top of that.
The top PCB provides us with connectors for 8 modules. Each module (or Berry) has a couple of digital inputs and outputs connecting to the RaspberryPi (for interrupts etc.) as well as SPI and I2C.
This is the most basic extension. It gives you 16 programmable logic pins.
This Berry gives you 8 24bit Analog Inputs. (Yes, 24Bit may be slightly overkill.)
We had to do it. Its an Arduino Clone. It is both a I2C Master and Slave, Acts as your standard Arduino, while staying in constant communication with the RaspberryPi. (I want 8 of these modules for programming my Evil Super AI)
The ButtonBerry / FeedbackBerry
We figure we will be using this guy a lot for debugging. It has 8 buttons paired with 8 green status LEDs.
Since I first heard about the RaspberryPi, I was fascinated by the little computer. Once the final specs however came out, I realized that I did not really know what I would use it for. It seemed under-powered for the computer-vision application I originally had in mind. I considered using it as a microcontroller, but I soon realized that in most cases I would be better off using an Arduino instead.
I soon realized, that adding some basic circuitry might improve the situation. I also wanted to add a case. My idea was, that it would be cool to simply increase the number of I/O pins, as well as add some analog inputs. Additionally I wanted to be able to source significantly more power over the individual pins. I discussed this at length with my friend Michael Harst, but it stayed a simple idea.
I ended up meeting Yann Leretaille, Torben Friehe, Mathias Hemmerle & Alex Hannemann. Together we created the first prototype. It was Yann who also suggested "Everything should be Plug & Play". I thought he was crazy.
Somehow Yann and I however felt our original design restricting. We where especially unhappy with how we where handling the SPI and I2C ports. (Basically we where ignoring them). Eventuelly we started experimenting with ways of extending the SPI and I2C ports. While doing so we realized that we might as well create a modular system - we thought that the design would not be significantly more complex (we where wrong). And all of a sudden Yann's "Plug & Play" Idea no longer seemed crazy, once we restricted the Plug & Play functions to the modules we designed.