What To Borg ?

Mats has this cool I2C temprature sensor - just needs a tiny MRL driver.

What thingies do you have which might be Borg'd ?!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Mats's picture

i2c devices

As you may know I'm a great fan of i2c devices. 

On my current list of i2c devices to be borged is:

MPC4725 12-bit Digital to Analog Converter

MPR121 Capacitive touch sensor 

VL6180X Time of flight Distance sensor ( Up to 10cm )

VL53L0X Time of flight Distance sensor ( Up to 2 meters distance measure wit 1mm resoltuion )

All above are i2c devices. Some are easy to borg, others are quite complicated. The distance sensors are a challenge.

Other things that we should borg are:

Stepper motors

Some esp8266 variations and perhaps the esp32

Continous drive servo motors, with external potentiometers, so that they can be used with the DiyServo service.

At some stage it would be nice to borg some SLAM https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping


calamity's picture

Hi Mats about the esp8266: at

Hi Mats

about the esp8266: at some point I was able to compile and run MrlComm on one. Far from be fully tested. Using websocket I was able to communicate with it using a webapp (connect to it, get the board info) but of course nothing about websocket exist in MRL. I try to use tcp connection. MRL could connect and send data to mrlcomm, but then see the connection as disconnect and failed. But there is some potential in both way. 


about SLAM: I have implement some basic SLAM algorithm in the integrated Movement service. Using the kinect, it can scan what is in the range of 0.5 to 1.5m using the depth map. The data is then group into different object and put in a 3d map around the robot and show them in the jme3 apps (or show it's location in the swing gui). Using inverse kinematic, my inMoov can avoid or put is hand close to the object detected. Still at the testing phase, but i'm quite happy by the results so far. The biggest problem I have right now with it is that it acting very wierdly when it sees his own arm in the kinect data when trying to do it in realtime (Because it will try to avoid his own arm).



Ray.Edgley's picture

Anther I2C Temp sensor with Humidity

Hello Grog,

Along the same lines as the sennsor above, I found on Ebay the GY21-HTU21D temperatur and humidity sensor. at nearly double the price of the one listed above, it's still not that expensive.


It only has 4 terminal and it 5.0V and 3.3V complient meaning it can be used with either the Arduino or the Raspberry Pi.

Link on Ebay:http://www.ebay.com.au/itm/GY21-HTU21D-Temperature-Humidity-Sensor-Module-Breakout-Board-Module-F-Arduino/232393025746?_trksid=p2481888.c100675.m4236&_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20160908105057%26meid%3D8dc44fcdd1c447beb24a9173b73af3e0%26pid%3D100675%26rk%3D1%26rkt%3D15%26sd%3D232393025746&_trkparms=pageci%253Acd8cd5ae-5dfc-11e7-a709-74dbd180dc0f%257Cparentrq%253Afbc4dd3f15c0a861b347e519fffd7024%257Ciid%253A1


Mats's picture

Temperature and humidity sensor

Nice divice.

I ordered one, and it looks like it should be easy to borg.


Gareth's picture

Current monitor

Here is a interesing current monitor chip I picked up (not tested yet).

Put "in-line" with your servo supply or motor drivers etcetcetc and read off the current via I2C

Mats's picture


It's already borged. The service name is AdafruitIIna219.







Mats's picture


Reading this blog: 


and found this:


It would be a really nice to add the ability for MRL to read ( and speak / respond ) a text from a piece of paper :) 


Mats's picture


This device has now been borged:



GroG's picture

Resistance to Mats is Futile

Resistance to Mats is Futile !
It will be assimilated !

Ray.Edgley's picture

Hello Mats,Did you ever get

Hello Mats,

Did you ever get around to borging MPR121 Capacitive touch sensor ?

Mats's picture


Well. I started and was hoping it would be easy ( stupid me ). The MPR121 is designed so that it can be used in a multihost environment, so it requires the i2c libraries to be written to support "repeated start". The libraries on RasPi are not written that way. So I had to change the base i2c libraries used on the PI and also rewrite some of the basic i2c read/writes in MRLComm and esp8266_01. And since I do that, I need to test all the other i2c devices to make sure that they continue to work.

So it's more to do than I expected, and that's why it takes some time.

When that is done I can continue with the MPR121.

So it's currently work in progress.

Do you have an MPR121 and want to use it in MRL ?


Ray.Edgley's picture

I have three on their way,

I have three on their way, not due for almost a month.


Thought that would be good, one in each arm, and one on the back to allow area's of the covered to be sensitive to touch.

This could be used to give the inmoov the appearance of feeling if it reacts to an area being touched in an appropiot way,

For an arm, it could turn its head to face the area and move the arm away for the touched side. as an example.