arduino101 + pixycam + ble + evothings

A friend at work is also a hobbyist/maker and asked if I would try out his cmu pixycam with the arduino101. This is a color signature/color hue tracking camera:

http://cmucam.org/projects/cmucam5/wiki

I want to share with anyone using the 101 that this camera and api function "out-of-the-box" with the curie/arduino101! :grinning:

I believe this is because the pixycam uses SPI as an interface and therefore seems to be architecture neutral, with the odd exception that it seems to cause some issues for digital IO pins 13,12,11 and 10. Not sure why.

The example I put together uses the arduino101, 5 LEDs, the pixycam, and for software I modified an example from the evothings ( ww.evothings.com ) TIsensortag examples library to receive camera data, over BLE, consisting of a color signature with x&y distance. It then does a graphical display of this data on the screen of a tablet. It also blinks a RGB or Y LED for each "block" of a corresponding color signature it detects.

Why not just transmit the image,?Well as a color tracking camera, the data it collects about the objects/blocks it detects is really more important that the actual image. . .anyway, it demonstrates the capabilities of the arduino101 nicely.

I will have to clean up and comment the code before I share, but here are some pictures. One is screen shot showing the showing the "block" data from the camera showing up on the evothings console corresponding to that of the serial out from the arduino101. The other two show the camera in action with legos. No I don;t have the servos working just yet.

I hope others can benefit from this and can't wait to here about the ideas they come up with! With all of the built in capabilities of this board, I can only imagine what we will all come up with!

Hi govkn

Great work. Nice example of a complex project over BLE using the TI Sensor Tag. Can't wait till you can share the project. Think it would help a lot of us tinkers/makers. Think you are leading the pack here.

Mike

Mike,

Thanks! Just to clarify, it only looks like it uses the TI SensorTag, it is acutally all arduino101. The reason you see TI Sensor Tag listed on the tablet interface is because I found that the example code on www.evothings.com for the TI Sensor Tag was quite easy to modify for accessing the arduino101/pixycam over BLE( The evothings group just released an arduino101 specific example to blink LEDs over BLE, but I needed to send data to the tablet )

I was just too lazy to change the parts of the index.html file and directories that had all the tags/icons to reflect this as a 100% arduino101 project. :slight_smile:

This is yet another reason I want need to clean up the code as many of the comments and even a few of the underlying function names reflect the use of the TI Sensor Tag and I thought this would be more confusing than helpful.

But if someone was thinking of incoroporating a pixycam in their curie/arduino101/genuino101 project, I just wanted to let them know they coud get up and running without worrying about the compile crashing on avr specific code, like many have struggled with here, or waiting for me to clean up my act!

Sorry for the confusion!

Greg

Nice!

Not sure if I (mis)understood your comment on the issues with IO11,12,13. The 6pin ICSP header SPI pins are not a separate interface, they are physically connected to pins 11,12,13.

In my opinion the Sensortag is a good functional analog for the current exposed Arduino 101 BLE features.