Sunday 20 July 2014

i2c on the Jolla Phone

As part of TheOtherHalf the Jolla has a two wire i2c bus accessible by jump pins on the back, but how to get started with it?

There's plenty of resources around the hobby electronics community about i2c and how to go about using it on linux based devices like the Raspberry Pi and the Beagleboard, and the Jolla is a linux based device so I figured it should be fairly similar.

First Problem

All the guides I've found reference this command line package i2c-tools, which at first doesn't seem to be available on the Jolla through pkcon or any of the third party repositories. Turns out the package works fine you just have to compile it from source on the Jolla, which of course requires installing make, gcc, gcc-c++ via pkcon (if you don't know how, follow this).

Might be an idea to get it submitted to the usual Jolla repository or in mer-tools or something, but thats a story for another day.

Make sure you install it using devel-su otherwise it will fail, but once thats done you can now probe the i2c bus using  i2cdetect -r 1 (/dev/i2c-1 is the i2c port on the jolla) which will probe the i2c bus for connected devices.

This is the output of the Jolla with no devices connected, as you can see the 50x00 to 50x07 addresses are already in use, but all others are free for use.

the i2ctool app on the Jolla Store by kimmoli does mostly the same stuff as i2c-tools, but from a silica app rather than the command line.

Where to Next?

Next I need to actually wire up some i2c devices and try and talk to them using C++ or Python, I'm still deciding which i2c module to buy as there's a fair few out there, currently thinking of making a GPIO breakout TheOtherHalf using one of these i2c GPIO expanders, which should allow some very flexible prototypes with the Jolla.

No comments:

Post a Comment