I’ve spent a few days trying to get the Leap Motion to play nicely with the Raspberry Pi. If you don’t know, the Raspberry Pi is a very neat low-power, low-cost development board which supports full linux based desktop operating systems. The Pi is perfect for our needs because it allows us to easily control different parts of the project, such as the LEDs and possible servos we might need. The Leap Motion is an interesting new piece of hardware which allows a user to interact with a computer in 3d space. The Leap Motion is convenient for us because we have 3 different variables (pH, salinity and nitrate level) and Leap can detect an object in 3 axes. So it would be very interesting to interpret the x-axis as nitrate level, y-axis for salinity, and z-axis for pH level.
The sad story…
Unfortunately, while Raspberry Pi has been around for around a year and has garned a significant community and wonderful help forums, the Leap Motion has not yet been released as a consumer product. I have access to a developer hardware preview and the SDK (thanks Joe!), so I’ve been able to play around with it. Firstly, the Leap Motion only has limited support for Linux (and only tested for Ubuntu). Additionally, the linux SDK provided only supports 32 and 64 bit hardware, whereas the Raspberry Pi uses the armv6 architecture. On top of the incompatible architectures and lack of support, I don’t think the Raspberry Pi could handle some of the required libraries (openGL, openCV) for the Leap Motion.
Where do we go from here …
I think if we are very intent on this 3d space interaction for the project, we can definitely replace the Raspberry Pi with a more powerful control unit, such as a microATX form factor PC, or a beefier x86 development board. Additionally, we could consider using a Kinect instead of the Leap Motion, as there is much more support and documentation for Kinect.
Of course, this is not the only method of interaction for the project. I will be contacting Joe and Tyler in the next week to brainstorm some other ideas.